rekordbox-edit 0.5.0.dev10__tar.gz → 0.5.1.dev4__tar.gz

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.
Files changed (64) hide show
  1. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/.github/actions/install/action.yml +1 -1
  2. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/CHANGELOG.md +12 -1
  3. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/PKG-INFO +1 -1
  4. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/pyproject.toml +1 -1
  5. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/rekordbox_edit/cli/_utils.py +13 -6
  6. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/tests/cli/test_utils.py +21 -3
  7. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/uv.lock +39 -39
  8. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/.agent-style/RULES.md +0 -0
  9. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/.agent-style/claude-code.md +0 -0
  10. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/.github/actions/build-release-notes/action.yml +0 -0
  11. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/.github/actions/commitizen-bump/action.yml +0 -0
  12. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/.github/actions/commitizen-bump/commitizen-bump.sh +0 -0
  13. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/.github/actions/lint/action.yml +0 -0
  14. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/.github/actions/test/action.yml +0 -0
  15. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/.github/workflows/cd.yml +0 -0
  16. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/.github/workflows/ci.yml +0 -0
  17. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/.github/workflows/publish.yml +0 -0
  18. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/.github/workflows/release.yml +0 -0
  19. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/.gitignore +0 -0
  20. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/.pre-commit-config.yaml +0 -0
  21. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/.python-version +0 -0
  22. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/AGENTS.md +0 -0
  23. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/CLAUDE.md +0 -0
  24. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/CONTRIBUTING.md +0 -0
  25. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/LICENSE +0 -0
  26. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/Makefile +0 -0
  27. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/README.md +0 -0
  28. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/codecov.yml +0 -0
  29. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/rekordbox_edit/__init__.py +0 -0
  30. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/rekordbox_edit/_click.py +0 -0
  31. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/rekordbox_edit/api/__init__.py +0 -0
  32. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/rekordbox_edit/api/_utils.py +0 -0
  33. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/rekordbox_edit/api/convert.py +0 -0
  34. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/rekordbox_edit/api/edit.py +0 -0
  35. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/rekordbox_edit/api/search.py +0 -0
  36. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/rekordbox_edit/cli/__init__.py +0 -0
  37. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/rekordbox_edit/cli/convert.py +0 -0
  38. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/rekordbox_edit/cli/edit.py +0 -0
  39. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/rekordbox_edit/cli/main.py +0 -0
  40. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/rekordbox_edit/cli/search.py +0 -0
  41. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/rekordbox_edit/display.py +0 -0
  42. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/rekordbox_edit/logger.py +0 -0
  43. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/rekordbox_edit/models.py +0 -0
  44. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/rekordbox_edit/query.py +0 -0
  45. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/rekordbox_edit/utils.py +0 -0
  46. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/renovate.json5 +0 -0
  47. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/ruff.toml +0 -0
  48. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/tests/__init__.py +0 -0
  49. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/tests/api/__init__.py +0 -0
  50. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/tests/api/test_convert.py +0 -0
  51. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/tests/api/test_edit.py +0 -0
  52. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/tests/api/test_search.py +0 -0
  53. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/tests/api/test_utils.py +0 -0
  54. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/tests/cli/__init__.py +0 -0
  55. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/tests/cli/test_convert.py +0 -0
  56. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/tests/cli/test_edit.py +0 -0
  57. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/tests/cli/test_main.py +0 -0
  58. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/tests/cli/test_search.py +0 -0
  59. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/tests/conftest.py +0 -0
  60. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/tests/test_display.py +0 -0
  61. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/tests/test_logger.py +0 -0
  62. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/tests/test_models.py +0 -0
  63. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/tests/test_query.py +0 -0
  64. {rekordbox_edit-0.5.0.dev10 → rekordbox_edit-0.5.1.dev4}/tests/test_utils.py +0 -0
@@ -5,7 +5,7 @@ runs:
5
5
  using: "composite"
6
6
  steps:
7
7
  - name: Install UV
8
- uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
8
+ uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
9
9
  with:
10
10
  enable-cache: true
11
11
 
@@ -1,4 +1,15 @@
1
- ## v0.5.0.dev10 (2026-06-06)
1
+ ## v0.5.1.dev4 (2026-06-08)
2
+
3
+
4
+ - chore(deps): update linters to v0.15.16 (#76)
5
+ - Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
6
+ - fix: handle stdin BOM character on windows
7
+ - chore(deps): update linters to v0.0.43 (#73)
8
+ - Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
9
+ - chore(deps): update github actions to v8.2.0 (#74)
10
+ - Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
11
+
12
+ ## v0.5.0 (2026-06-06)
2
13
 
3
14
 
4
15
  - ci: use workflow token
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rekordbox-edit
3
- Version: 0.5.0.dev10
3
+ Version: 0.5.1.dev4
4
4
  Summary: Tools for managing and modifying a RekordBox library en-masse
5
5
  Project-URL: Homepage, https://github.com/jviall/rekordbox-edit
6
6
  Project-URL: Repository, https://github.com/jviall/rekordbox-edit
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "rekordbox-edit"
7
- version = "0.5.0.dev10"
7
+ version = "0.5.1.dev4"
8
8
  description = "Tools for managing and modifying a RekordBox library en-masse"
9
9
  authors = [{ name = "James Viall", email= "jamesviall@pm.me"}]
10
10
  license = "MIT"
@@ -15,12 +15,16 @@ logger = logging.getLogger(__name__)
15
15
 
16
16
 
17
17
  def _handle_stdin(args) -> bool:
18
- """Append track IDs from piped stdin to args.track_ids. Returns True if stdin was piped."""
18
+ """Append track IDs from piped stdin to args.track_ids. Returns True if IDs were piped."""
19
19
  if sys.stdin.isatty():
20
20
  return False
21
- stdin_data = sys.stdin.read().strip()
22
- if stdin_data:
23
- args.track_ids = list(args.track_ids) + stdin_data.split()
21
+ # PowerShell pipes data as UTF-8-with-BOM, but Python decodes stdin with the
22
+ # locale codepage (e.g. cp1252 on Windows), which would leave BOM bytes glued to
23
+ # the first track ID. Read raw bytes and decode as UTF-8, dropping any BOM.
24
+ tokens = sys.stdin.buffer.read().decode("utf-8-sig", errors="replace").split()
25
+ if not tokens:
26
+ return False
27
+ args.track_ids = list(args.track_ids) + tokens
24
28
  return True
25
29
 
26
30
 
@@ -68,7 +72,9 @@ def _interactive_filter_edits(plan: EditPlan) -> EditPlan:
68
72
  return EditPlan(field=plan.field, edits=confirmed)
69
73
 
70
74
 
71
- def _confirm_converts(plan: ConvertPlan, args: ConvertCommandArgs) -> ConvertPlan | None:
75
+ def _confirm_converts(
76
+ plan: ConvertPlan, args: ConvertCommandArgs
77
+ ) -> ConvertPlan | None:
72
78
  """Gate the convert plan through user confirmation. Returns None if cancelled."""
73
79
  if args.yes:
74
80
  return plan
@@ -76,7 +82,8 @@ def _confirm_converts(plan: ConvertPlan, args: ConvertCommandArgs) -> ConvertPla
76
82
  return _interactive_filter_converts(plan)
77
83
  try:
78
84
  if not confirm(
79
- f"Convert {len(plan.files)} files to {plan.format_out.upper()}?", default=True
85
+ f"Convert {len(plan.files)} files to {plan.format_out.upper()}?",
86
+ default=True,
80
87
  ):
81
88
  logger.info("Cancelled.")
82
89
  return None
@@ -44,18 +44,36 @@ class TestHandleStdin:
44
44
  args = Mock(track_ids=["existing"])
45
45
  with patch("sys.stdin") as mock_stdin:
46
46
  mock_stdin.isatty.return_value = False
47
- mock_stdin.read.return_value = "AAA BBB"
47
+ mock_stdin.buffer.read.return_value = b"AAA BBB"
48
48
  result = _handle_stdin(args)
49
49
  assert result is True
50
50
  assert args.track_ids == ["existing", "AAA", "BBB"]
51
51
 
52
- def test_empty_piped_stdin_returns_true_without_modifying(self):
52
+ def test_strips_bom_from_piped_stdin(self):
53
53
  args = Mock(track_ids=[])
54
54
  with patch("sys.stdin") as mock_stdin:
55
55
  mock_stdin.isatty.return_value = False
56
- mock_stdin.read.return_value = " "
56
+ mock_stdin.buffer.read.return_value = bytes([0xEF, 0xBB, 0xBF]) + b"AAA BBB"
57
57
  result = _handle_stdin(args)
58
58
  assert result is True
59
+ assert args.track_ids == ["AAA", "BBB"]
60
+
61
+ def test_empty_piped_stdin_returns_false(self):
62
+ args = Mock(track_ids=[])
63
+ with patch("sys.stdin") as mock_stdin:
64
+ mock_stdin.isatty.return_value = False
65
+ mock_stdin.buffer.read.return_value = b" "
66
+ result = _handle_stdin(args)
67
+ assert result is False
68
+ assert args.track_ids == []
69
+
70
+ def test_bom_only_piped_stdin_returns_false(self):
71
+ args = Mock(track_ids=[])
72
+ with patch("sys.stdin") as mock_stdin:
73
+ mock_stdin.isatty.return_value = False
74
+ mock_stdin.buffer.read.return_value = bytes([0xEF, 0xBB, 0xBF])
75
+ result = _handle_stdin(args)
76
+ assert result is False
59
77
  assert args.track_ids == []
60
78
 
61
79
 
@@ -990,7 +990,7 @@ wheels = [
990
990
 
991
991
  [[package]]
992
992
  name = "rekordbox-edit"
993
- version = "0.5.0.dev10"
993
+ version = "0.5.1.dev4"
994
994
  source = { editable = "." }
995
995
  dependencies = [
996
996
  { name = "click" },
@@ -1052,27 +1052,27 @@ wheels = [
1052
1052
 
1053
1053
  [[package]]
1054
1054
  name = "ruff"
1055
- version = "0.15.15"
1055
+ version = "0.15.16"
1056
1056
  source = { registry = "https://pypi.org/simple" }
1057
- sdist = { url = "https://files.pythonhosted.org/packages/84/6f/a76f7d96e5c962f5b69cee865e49c15c1116897c01990faa8a57edb62e7f/ruff-0.15.15.tar.gz", hash = "sha256:b8dff018130b46d8e5bf0f926ef6b60cf871d6d5ae45fc9334e09632daa741d6", size = 4706985, upload-time = "2026-05-28T14:16:57.784Z" }
1057
+ sdist = { url = "https://files.pythonhosted.org/packages/a6/bd/5f7ec371001337d8fa61701c186ff8b613ecac1651848c5950f4c4d5f2e9/ruff-0.15.16.tar.gz", hash = "sha256:d05e78d38c78caf020b03789e25106c93017db5a0cb6e2819885018c61343b78", size = 4714267, upload-time = "2026-06-04T16:33:09.974Z" }
1058
1058
  wheels = [
1059
- { url = "https://files.pythonhosted.org/packages/fa/9d/3a45c05b8ab04b4705989de70a79008e27c8003296a0feaee9edc18dd7e9/ruff-0.15.15-py3-none-linux_armv6l.whl", hash = "sha256:cf93e5388f412e1b108b1f8b34a6e036b70fe8aff89393befad96fe48670311b", size = 10710652, upload-time = "2026-05-28T14:16:06.701Z" },
1060
- { url = "https://files.pythonhosted.org/packages/05/66/da974431624bf3b49f6ee1f9543c02d929ff1cba78b0d5a79c38cf21f744/ruff-0.15.15-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:ac5a646d1f6a7dadd5d50842dae2c1f9862ac887ef5d1b1375e02def791fde6e", size = 11096615, upload-time = "2026-05-28T14:16:23.313Z" },
1061
- { url = "https://files.pythonhosted.org/packages/8c/09/7443452e5d290230a712103f2fdceeef7184f3ec99a2bd01c8be78aaceb5/ruff-0.15.15-py3-none-macosx_11_0_arm64.whl", hash = "sha256:77d955a431430c66f72dd94e379ad38a16daea3d25094872ac4edf9e797be530", size = 10436683, upload-time = "2026-05-28T14:16:40.974Z" },
1062
- { url = "https://files.pythonhosted.org/packages/53/01/d330c26a57fa4f3943a14424904027428315b700fe4d14a84bb123a649e5/ruff-0.15.15-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7614ee79c69788cf6cedd568069ade9cecc22a1ad20494efe8d0c9ebb4b622d4", size = 10769064, upload-time = "2026-05-28T14:16:28.905Z" },
1063
- { url = "https://files.pythonhosted.org/packages/1d/85/cc8770f8bdff541b1da8392d1634141fe4a0e3f4ee596605959b7906c27f/ruff-0.15.15-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3cdb1679e06a1f6b47bc384714ae96f6e2fb65ca441eb78c43d2ca554176ce1f", size = 10511987, upload-time = "2026-05-28T14:16:43.732Z" },
1064
- { url = "https://files.pythonhosted.org/packages/7c/29/8c190c1472b63013583ba391f3342036e02010544c1270455ed8e519bdf3/ruff-0.15.15-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2728b93d7b23a603ea2c0ac6eb73d760bd38ec9de35f35fb41e18f7a3fee7622", size = 11275100, upload-time = "2026-05-28T14:16:55.244Z" },
1065
- { url = "https://files.pythonhosted.org/packages/9f/6b/7e145ce2cc8e63d6834eca03d83a0e18d121def5c69f91b4cf4011ed4879/ruff-0.15.15-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:be582fcc0db438902c7792b08d6ddf6c9b9e21addaa10092c2c741cfb09e5a45", size = 12176903, upload-time = "2026-05-28T14:16:14.368Z" },
1066
- { url = "https://files.pythonhosted.org/packages/80/a3/d5974637f68e451f7fadf015cf3101d1cd7d8ba5027cffe0b9e3826ebe6b/ruff-0.15.15-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7aa77465b8ecaf1a27bea098d696f7fed5e1eccbd10b321b682d6de586ae5627", size = 11404550, upload-time = "2026-05-28T14:16:20.138Z" },
1067
- { url = "https://files.pythonhosted.org/packages/fe/1c/e6e5e568f22be4fb05d6244234aba384c06b451252453b821e1a529263cf/ruff-0.15.15-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:48decfa11d740de4889de623be1463308346312f2409a56e24aa280c86162dc4", size = 11382027, upload-time = "2026-05-28T14:16:46.615Z" },
1068
- { url = "https://files.pythonhosted.org/packages/1d/01/170921b49fcd2e8858825593f91cf7146c3e40a5c3e6df763e4bb0484dde/ruff-0.15.15-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:a5015088452ca0081387063649ec67f06d3d1d6b8b936a1f836b5e9657ecd48c", size = 11366041, upload-time = "2026-05-28T14:16:26.247Z" },
1069
- { url = "https://files.pythonhosted.org/packages/87/54/a7bad711d7de93254e15e06a4c375b89a03d18de45d3e5dcc86a4472fb1a/ruff-0.15.15-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:f5294aab6356c81600fcdea3a62bb1b924dfd5e91767c12318d3f68f86af57cd", size = 10741795, upload-time = "2026-05-28T14:16:17.11Z" },
1070
- { url = "https://files.pythonhosted.org/packages/c9/31/38c075963668f8b41c6914ee0f6f318727fbe30ab9145cb29e6df464c5fa/ruff-0.15.15-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:db5bd4d802415cca656dc1616070b725952d6ae95eb5d4831e49fbd94a38f75f", size = 10511117, upload-time = "2026-05-28T14:16:31.767Z" },
1071
- { url = "https://files.pythonhosted.org/packages/9d/96/6ff689e1f7e375d1d97075eca022f74c2bab59554a432fe4d2e6f091986a/ruff-0.15.15-py3-none-musllinux_1_2_i686.whl", hash = "sha256:587a6278ed42059191c1a466e490bd7930fb50bd2e255398bc29616c895a61cb", size = 10994867, upload-time = "2026-05-28T14:16:35.149Z" },
1072
- { url = "https://files.pythonhosted.org/packages/c3/c2/5dce0ab9f92a8d534fa62b9bf9caca3eddb8c1a81b616f5e195ada4f0d6e/ruff-0.15.15-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:df0c1c084f5f4be9812f61518a45c440d3c30d69ce4bf6c5270e66d38338f02a", size = 11482101, upload-time = "2026-05-28T14:16:49.598Z" },
1073
- { url = "https://files.pythonhosted.org/packages/b1/c0/1003b60edd697c649faf61f1a34094b1abb38fb3d1181e3f895781250a08/ruff-0.15.15-py3-none-win32.whl", hash = "sha256:29428ea79694afbe756d45fd59b36f22b6b020dc0443cf7de0173046236964b9", size = 10716774, upload-time = "2026-05-28T14:16:52.337Z" },
1074
- { url = "https://files.pythonhosted.org/packages/02/a8/1269eddd6945a06c23f055ef7848886e37cf9d6a8bebb386a3115f01470c/ruff-0.15.15-py3-none-win_amd64.whl", hash = "sha256:8df0323902e15e24bc4bf246da830573d3cf3352bd0b9a164eab335d111ff4a4", size = 11868463, upload-time = "2026-05-28T14:16:11.333Z" },
1075
- { url = "https://files.pythonhosted.org/packages/4e/b2/920464c907b191e37469d477a1aa8bc048b8f36c4c1610dfa4ab87b39e18/ruff-0.15.15-py3-none-win_arm64.whl", hash = "sha256:3c8ceca6792f38196b8f589bc92eccd03eef286602da92e5dc05cc42ef6441b7", size = 11138498, upload-time = "2026-05-28T14:16:38.425Z" },
1059
+ { url = "https://files.pythonhosted.org/packages/0c/42/53ef1c3953f157956db9bf7861e3bc50b9b887ce93300aa48cdba8336fe6/ruff-0.15.16-py3-none-linux_armv6l.whl", hash = "sha256:6ac3c0b3969cc6cf6b158c4e2f8f682acb58e7d700d8a44b65ecdc72d66ab0b2", size = 10709025, upload-time = "2026-06-04T16:32:51.935Z" },
1060
+ { url = "https://files.pythonhosted.org/packages/93/9a/a79159346f19134a956607754e57d8d128f7a4c00f4ad2f7514d224c172c/ruff-0.15.16-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:197c207ed75ffba54a0dec23db4aa939a27a3053073e085e0042433cbdc58e4a", size = 11063550, upload-time = "2026-06-04T16:32:42.24Z" },
1061
+ { url = "https://files.pythonhosted.org/packages/bc/72/3ce2ac000a5299ec238e01f51397b3b653c93b077d9b1bfe8715bb895f20/ruff-0.15.16-py3-none-macosx_11_0_arm64.whl", hash = "sha256:3a39fec45ab316cc23e7558f23fea4a70403ddb5648ea9a4a3854a16973d0071", size = 10421345, upload-time = "2026-06-04T16:32:37.251Z" },
1062
+ { url = "https://files.pythonhosted.org/packages/b0/c2/cc7fad3ec9169373f5b6a18f1917b91080feec40c3f9658334a1d28e2f03/ruff-0.15.16-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ba93191d79003116b95128c9d306e045200fdbd0bccb782b110f3cd1d4abc5cf", size = 10757217, upload-time = "2026-06-04T16:32:54.722Z" },
1063
+ { url = "https://files.pythonhosted.org/packages/69/d2/3474009eaa0a65b31fa7152a2fad5e2f050c640ceb1e6b02ee6922e94c82/ruff-0.15.16-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c6ee4b90520630120ef032aa5cc10db483852dff950e78b1d717e2993a61ac8d", size = 10507035, upload-time = "2026-06-04T16:33:05.343Z" },
1064
+ { url = "https://files.pythonhosted.org/packages/ca/81/b7ae6ccbd11f0c8dc3d5d67fc4be9b57ff57ca86ba56152021378e1277f2/ruff-0.15.16-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4e4215bc938bc3c8215c1472c1aa437e310fee20cd427335fec9d7e609563628", size = 11255291, upload-time = "2026-06-04T16:32:49.49Z" },
1065
+ { url = "https://files.pythonhosted.org/packages/d9/e1/46e526f1a7cc90857ce6ddf25fbb77eb6568651ac38d71b033af07076dd5/ruff-0.15.16-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7c8d26be963b090f10e29abc8b3e74a2a321f6fa34e02424e30b5af89350ecbb", size = 12124922, upload-time = "2026-06-04T16:33:07.821Z" },
1066
+ { url = "https://files.pythonhosted.org/packages/1a/da/5c791b088b596b24d0deb967fa28ae02ad751a140c0b9ea81c5ab915d6c0/ruff-0.15.16-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f198cf4123602a2280ed46c307bcbafe41758d6fee5b456b6b6058ca1514b3b4", size = 11332186, upload-time = "2026-06-04T16:33:02.971Z" },
1067
+ { url = "https://files.pythonhosted.org/packages/72/11/5da87abe20047c8962361473923ebb2f62b595250126aadfad8c20649c1e/ruff-0.15.16-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb27515fa6240fb586ae82b901a59e67d24acff86f2190b433dc542fe0435aeb", size = 11373541, upload-time = "2026-06-04T16:32:47.007Z" },
1068
+ { url = "https://files.pythonhosted.org/packages/fe/2a/8554754c23a854ae3fd6b507e36ad61ddb121e298c6d5d617dec94ed0f14/ruff-0.15.16-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:a267c46ba1593fc26b8eecbea050b39d40c0b6bb7781ee11c90a02cd10032951", size = 11353014, upload-time = "2026-06-04T16:32:34.795Z" },
1069
+ { url = "https://files.pythonhosted.org/packages/62/25/62ea41529ec89f742ea3fed9cb1059c72877ec7cf9b9e99ac9cf3294d1d9/ruff-0.15.16-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:528c68f39a91498a8d50e91ff5985df3d105782bab49cc378e73ac26bff083e8", size = 10737467, upload-time = "2026-06-04T16:32:26.348Z" },
1070
+ { url = "https://files.pythonhosted.org/packages/90/17/334d3ad9de4d40f9dd58fdd09e35ce64553bb501e2f19a839e2fb6be14fc/ruff-0.15.16-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:7ed55c58950df60589a9a7a5d2f8fa5f54ebd287163be805adfe6ee95a9de123", size = 10521910, upload-time = "2026-06-04T16:32:32.54Z" },
1071
+ { url = "https://files.pythonhosted.org/packages/4d/bd/3ac7c6ae77a885c1004b3dda2446ea401768d24f851c14b4ad4b24f6639c/ruff-0.15.16-py3-none-musllinux_1_2_i686.whl", hash = "sha256:d482feaf51512b50f9790ceb417a56a61dd1e9d9bf967662b9ed27c01b34f53a", size = 10979190, upload-time = "2026-06-04T16:32:57.492Z" },
1072
+ { url = "https://files.pythonhosted.org/packages/33/d7/609546e6a413c3f216fbf2a50c928f97c80939154f6a0503114094a86191/ruff-0.15.16-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:1e15bc8c94513dae2a40cc9ef07c94fdd4ecc9e29dabebeebe170f952322c9e3", size = 11477014, upload-time = "2026-06-04T16:32:44.687Z" },
1073
+ { url = "https://files.pythonhosted.org/packages/74/0d/f2cd247ad32633a5c36e97141a2c21b11c6279f7957bc2ff360b1e08fddd/ruff-0.15.16-py3-none-win32.whl", hash = "sha256:580378f7bd4aa25f72e74aa54948a9622f142b1e509521dd10902e886681cc1e", size = 10735541, upload-time = "2026-06-04T16:32:30.145Z" },
1074
+ { url = "https://files.pythonhosted.org/packages/8b/9e/02e845ef151b1dee585e55c4739f8e1734ae1d9f1221dff65761c162208b/ruff-0.15.16-py3-none-win_amd64.whl", hash = "sha256:408256017284eddf98fff77b29aa4fb30f586042d535b2d9befc6512f400aaec", size = 11843403, upload-time = "2026-06-04T16:32:39.76Z" },
1075
+ { url = "https://files.pythonhosted.org/packages/15/19/016553f86f207450aebebc2b2b5088d086b901cc8186c02ac4284db3bd88/ruff-0.15.16-py3-none-win_arm64.whl", hash = "sha256:8cd61783afb39638a7133ef0d2dfb1e91277593962f81b5a8423eb0b888a6121", size = 11134555, upload-time = "2026-06-04T16:33:00.136Z" },
1076
1076
  ]
1077
1077
 
1078
1078
  [[package]]
@@ -1299,27 +1299,27 @@ wheels = [
1299
1299
 
1300
1300
  [[package]]
1301
1301
  name = "ty"
1302
- version = "0.0.42"
1302
+ version = "0.0.43"
1303
1303
  source = { registry = "https://pypi.org/simple" }
1304
- sdist = { url = "https://files.pythonhosted.org/packages/d8/91/5b5ec4ed8721c18be8d9611778d7c07723cd755676f03b41bf0ea0caa5d3/ty-0.0.42.tar.gz", hash = "sha256:70f5553ac678fc63558d4d77b08a18a68a228f44be2a2fe1afc3f5988db662e7", size = 5769116, upload-time = "2026-06-01T19:40:32.869Z" }
1304
+ sdist = { url = "https://files.pythonhosted.org/packages/0d/37/4ec04de0659b93be37d956dfceca13b1ecab9c959f28d8a1d5e514603f36/ty-0.0.43.tar.gz", hash = "sha256:ea4cff50548f2a1877e848d3abe9e293cde8ab94757a7eb93fc0d4013f98be8e", size = 5798429, upload-time = "2026-06-04T00:52:10.013Z" }
1305
1305
  wheels = [
1306
- { url = "https://files.pythonhosted.org/packages/d4/7c/2df5136ad7c0db69a3973b0b19da8f52bfacdc453c7dffc832d1bf7d23ff/ty-0.0.42-py3-none-linux_armv6l.whl", hash = "sha256:c08a0066610c13627b7d7ad758adb96ca99685791e641eb26837e20803851c53", size = 11544141, upload-time = "2026-06-01T19:40:41.065Z" },
1307
- { url = "https://files.pythonhosted.org/packages/0a/82/96cf406d39d8976e825361a27e332224445812793060ac9506d8a5d32b39/ty-0.0.42-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:3e944ee4e3d5cdaf70e4ea87f9dd474cc3db612837b50a3ce57afa8da400ecc2", size = 11283538, upload-time = "2026-06-01T19:40:26.758Z" },
1308
- { url = "https://files.pythonhosted.org/packages/dc/fe/813b60b9332df835c16c05859ff5aac1896593d01b638ba0e461ede415ac/ty-0.0.42-py3-none-macosx_11_0_arm64.whl", hash = "sha256:603085306e4aac2ce592b39119a4b49ebf8b780cd394e2cfc7dbf3fd8228f954", size = 10711874, upload-time = "2026-06-01T19:40:28.77Z" },
1309
- { url = "https://files.pythonhosted.org/packages/07/64/1f609265be0302ce0f51aa03a27636d018947a76100ff1405258d8445e6c/ty-0.0.42-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a58f17834d7f078c49326a01111a5aac16c979a774b98cdfd8e2350068316676", size = 11213021, upload-time = "2026-06-01T19:40:45.01Z" },
1310
- { url = "https://files.pythonhosted.org/packages/88/c0/f147b2fde7cd01b5f77682937e85a5cdfe35f48b3f1d0f41021024cbd927/ty-0.0.42-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e6ed1027f313202c5c74e376007d1eb5d214494299beb0ea047078b8ad307d40", size = 11321604, upload-time = "2026-06-01T19:40:55.164Z" },
1311
- { url = "https://files.pythonhosted.org/packages/a9/72/74a5e68a9bd194681f15c4aac7a0dfab378e76e7a107e8ecd93971a22377/ty-0.0.42-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:063838d2360c1d2c065b45ca76a56ecd6df07fff6570813e74183236559e16d9", size = 11802178, upload-time = "2026-06-01T19:40:19.558Z" },
1312
- { url = "https://files.pythonhosted.org/packages/3c/9f/06a31dc9cc91faa2cb8a4bf2f0ba5f7a9a96a4828fb8434338682954ca86/ty-0.0.42-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c3f9ed508dfae4cbc943d7766324dd9c57ac8302c8543505fc29cae8ed425fe9", size = 12358436, upload-time = "2026-06-01T19:40:48.968Z" },
1313
- { url = "https://files.pythonhosted.org/packages/06/33/a5bb1afcb671e0b9197f007264682b22f1063bf0e83c151eeaf9958f9047/ty-0.0.42-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fe1eb7d98472ac56ac19fec51c6ed8fe56d86ea0d232a11a127e8c62c882a66", size = 11997849, upload-time = "2026-06-01T19:40:42.951Z" },
1314
- { url = "https://files.pythonhosted.org/packages/ee/8d/560e4ec4c2f69e68fa094bb93cd19b5eb92c9732d2e0f5e7cc3accde84c4/ty-0.0.42-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de75f9e78bfa81209f2f297528758977cfd4518ba35ef45a0acb516c892a27a5", size = 11869087, upload-time = "2026-06-01T19:40:24.38Z" },
1315
- { url = "https://files.pythonhosted.org/packages/b2/dd/3794db15199c03eda60961690046a56c4fbf5d8ef073c82fe2402c851b8c/ty-0.0.42-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:c63281f2f1d4df339117fcd4a6dfe17cb999f84eafe707b30e9ebbe26f0bb54a", size = 12059000, upload-time = "2026-06-01T19:40:34.982Z" },
1316
- { url = "https://files.pythonhosted.org/packages/98/9a/02b61cc65ecbd90f18bd02178845c5b756c78fb92643571e77df52c6eed8/ty-0.0.42-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:19e3856477f25255f772851fa7f16f5356c4e1927324d074d49c7bc9a9b211e1", size = 11195698, upload-time = "2026-06-01T19:40:37.109Z" },
1317
- { url = "https://files.pythonhosted.org/packages/7b/d6/3927335c956b06a806269dcd2e5b46bc4284b0a95ecc6b0246094a1de28c/ty-0.0.42-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:2f0f4acac9028264cee5ea0b88229df0b9b2586fc917dbadb6ee35a0e99e8b06", size = 11353487, upload-time = "2026-06-01T19:40:47.035Z" },
1318
- { url = "https://files.pythonhosted.org/packages/d6/87/79e7ae4f5f9fb3bea5f3cfac2b4f8c60e905f13962e3c0d97f8b51a5bff6/ty-0.0.42-py3-none-musllinux_1_2_i686.whl", hash = "sha256:ae244c84e30fdf2bb1a3cbf2b973da8aa535e57c701f12db44b2939604586c04", size = 11463474, upload-time = "2026-06-01T19:40:30.812Z" },
1319
- { url = "https://files.pythonhosted.org/packages/49/f9/73305ead1b3ccc3d79c04258877db2cd7908c6a6c2060d4e598deca384d2/ty-0.0.42-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:2430434f4a52bec0da552ff6a061dcc1c5d11973259248679a1146d776c12f37", size = 11961710, upload-time = "2026-06-01T19:40:39.056Z" },
1320
- { url = "https://files.pythonhosted.org/packages/e1/04/52b7325dad8d1a86653f90240208f3e3657bed5e3c8144eed367a0f736b0/ty-0.0.42-py3-none-win32.whl", hash = "sha256:984a55c2fe63b40dac03f5a144b99033c7ed720eb7611787e3f0bd49af8dcf12", size = 10783897, upload-time = "2026-06-01T19:40:22.189Z" },
1321
- { url = "https://files.pythonhosted.org/packages/94/d2/3d2d61255c76c0843766f00b39290115c23cc1cd4fcb0471d84a48f482f1/ty-0.0.42-py3-none-win_amd64.whl", hash = "sha256:f7afd81b10b377d9d4ce6aad355a4f47fd37d47f443118c01ca6e79d46fe6608", size = 11878640, upload-time = "2026-06-01T19:40:50.903Z" },
1322
- { url = "https://files.pythonhosted.org/packages/b4/91/1eb0c1e3d558707ead7424f8bfd89b58f42e576714cbed7ad46dcceef34a/ty-0.0.42-py3-none-win_arm64.whl", hash = "sha256:4068c24b0b264fc9f1901e06b97988a041fcaa36c90f18d7747f05124701c7b3", size = 11202335, upload-time = "2026-06-01T19:40:53.155Z" },
1306
+ { url = "https://files.pythonhosted.org/packages/db/74/1916026a78f20019a2f03adbd6fb4430ddb7ce1e52c2e17a90856a6d192e/ty-0.0.43-py3-none-linux_armv6l.whl", hash = "sha256:3bf70f5446480562bf6c9f639df4b5cb60716b8f8d1a6b8e5811d5c7eccd8bf2", size = 11598153, upload-time = "2026-06-04T00:52:20.646Z" },
1307
+ { url = "https://files.pythonhosted.org/packages/b9/af/58bb0089d2635216c8fa6612dd486a3f986d0ab1c46a41527ab95e57f0e3/ty-0.0.43-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:7184741f8b15425a1bc64b950ad005cb353573288ac0e8a04f5481ceb3832596", size = 11357811, upload-time = "2026-06-04T00:52:24.683Z" },
1308
+ { url = "https://files.pythonhosted.org/packages/d6/9c/32c6b14f3feddf87b59c7a50709e2b3da408258f2f583f05575f77bc8f7b/ty-0.0.43-py3-none-macosx_11_0_arm64.whl", hash = "sha256:8c306379ca9a35f6ae5270fe9bda7af4b46d91822725a2586d78c8b9b5493b62", size = 10772024, upload-time = "2026-06-04T00:52:14.312Z" },
1309
+ { url = "https://files.pythonhosted.org/packages/09/fa/98aa4a74bd00cd5efc424923cd1daffbf1e40a0338041cafb203379d746f/ty-0.0.43-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d624b884c9c1fd244ad2a5f026364e7162a22b3f537025941ada2e363e676414", size = 11291034, upload-time = "2026-06-04T00:52:37.249Z" },
1310
+ { url = "https://files.pythonhosted.org/packages/b5/db/4de086c38ce96dcada2bd451f43171d2c237f96d8ed19a1ea8fe51bb8ef4/ty-0.0.43-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:281fc4c00fbc196045141faa085055bddc58846b04a2800204701415a1b9c6aa", size = 11364724, upload-time = "2026-06-04T00:52:33.138Z" },
1311
+ { url = "https://files.pythonhosted.org/packages/b0/d3/e3cd8e3233a6fd8362a49aa025b79e9f40151a2a86d811ace154c6eb7445/ty-0.0.43-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f57d6cc28de89024b48d1788e4758c05299d5749d4a51c02e71ac655ec23d9a5", size = 11890555, upload-time = "2026-06-04T00:52:22.711Z" },
1312
+ { url = "https://files.pythonhosted.org/packages/80/7b/6f46d444e8241606bbde098df3dca93f2ec0b834a42055db85ee7d33646f/ty-0.0.43-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0a1d6ad6c5e7792c7eac0a01e550f2c2004462e01a64a91ea1636aba6fef6e71", size = 12450968, upload-time = "2026-06-04T00:52:28.94Z" },
1313
+ { url = "https://files.pythonhosted.org/packages/4a/e1/79fbe51f2e4b9d8347f2013cd7ed0b63f3b499038c02dc0357e9b28a3a47/ty-0.0.43-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:66d474395d7635fb618bdbb58b4e3360259a2056d0a5621b82754b9da2cd8a04", size = 12064187, upload-time = "2026-06-04T00:52:12.039Z" },
1314
+ { url = "https://files.pythonhosted.org/packages/9b/3f/c758a3a8df5b90d331f2b60c8f16021ee64d75e78f99d67cc4efc9bf5f4b/ty-0.0.43-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2663a0003a8b60fb98db7f6f6e673df80b21d0fe3a9868a26fb06b4e049b6fc4", size = 11943208, upload-time = "2026-06-04T00:52:31.14Z" },
1315
+ { url = "https://files.pythonhosted.org/packages/54/5f/f516442749cf1b45ca6720a5d41df2738a486ed9ace774c03d515db89084/ty-0.0.43-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:d5a6c352d374d889189d5ec82b54b26a5885f769f7b7787f7f875500dcb8673e", size = 12143572, upload-time = "2026-06-04T00:52:18.457Z" },
1316
+ { url = "https://files.pythonhosted.org/packages/b7/bf/0d83c7f43bf4c10f3678bfe7d938e51c445298c7b923f155c5204730c2df/ty-0.0.43-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:e7dbbeedfad3ca250d74fcc355fa9ab6b38d2a17f22d6304f615716939dbbb27", size = 11279355, upload-time = "2026-06-04T00:52:26.726Z" },
1317
+ { url = "https://files.pythonhosted.org/packages/3e/de/a6c978bef6d9e949f79f4782d9e4ee4df0893713e73b055d84c1a5116b9a/ty-0.0.43-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:24b18a0273ee46154996cfcfa27438f851f440c925587ec200df6f98dffe67d3", size = 11408412, upload-time = "2026-06-04T00:52:35.282Z" },
1318
+ { url = "https://files.pythonhosted.org/packages/ec/b1/d13857c23867f0f76b92e38e5841c64ca5e76dc5d4bf27f52cb81d8ab685/ty-0.0.43-py3-none-musllinux_1_2_i686.whl", hash = "sha256:2ef681951520d692b7e9c0b5e56aacf4f98ccae47cf6ffccaf2c7b6b33dc226e", size = 11541709, upload-time = "2026-06-04T00:52:16.451Z" },
1319
+ { url = "https://files.pythonhosted.org/packages/7c/f1/cd6afc6f6a687e238bf5e12189f7920e81a0bdef6c3dba4c784ef140f7d9/ty-0.0.43-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:2af105de7437143aa4676b28016b5bee661aaaa4eff52be5867fb25119641ceb", size = 12041266, upload-time = "2026-06-04T00:52:43.541Z" },
1320
+ { url = "https://files.pythonhosted.org/packages/bd/ba/51ca7c3335da2b8d0a3e477fa4986be9f4a53b05bfab862967d8d2e6ca60/ty-0.0.43-py3-none-win32.whl", hash = "sha256:e4773115b0d6486ee30f1657fc8bdffe7e3a3f5300ab77ef2495da6e83e4694f", size = 10858724, upload-time = "2026-06-04T00:52:07.843Z" },
1321
+ { url = "https://files.pythonhosted.org/packages/9f/29/5d80453e5f7c520145fa058851da87230dbd7ca761a7675447a9fe504e0b/ty-0.0.43-py3-none-win_amd64.whl", hash = "sha256:48d3545094a4ae6395492c7e6ac90550fce969e0ed2815fbf8c5da9756676b7d", size = 11976157, upload-time = "2026-06-04T00:52:41.438Z" },
1322
+ { url = "https://files.pythonhosted.org/packages/dc/ed/befe5a543e5b95e754ed38ee95239e44efda9bc5f578db4ac1bc8dd758d6/ty-0.0.43-py3-none-win_arm64.whl", hash = "sha256:740ca33d7f75f655a4e7d475bc42dfb825c13219bb073fad30fcc04d35790c74", size = 11308680, upload-time = "2026-06-04T00:52:39.233Z" },
1323
1323
  ]
1324
1324
 
1325
1325
  [[package]]