From 4bbdaec388b1f8516df6d5d00fe1f893f310fcc8 Mon Sep 17 00:00:00 2001 From: Nicholas Lambourne Date: Fri, 14 Aug 2026 02:52:24 +1000 Subject: [PATCH 01/23] chore: move Python package into workspace --- .github/workflows/docs.yml | 6 +- .github/workflows/package-check.yml | 11 +- .github/workflows/publish.yml | 3 + .github/workflows/ruff-format.yml | 11 +- .github/workflows/ruff-lint.yml | 11 +- .github/workflows/type-checking.yml | 13 +- .github/workflows/unit-tests.yml | 11 +- README.md | 159 +---------------- mkdocs.yml | 4 +- CHANGELOG.md => python/CHANGELOG.md | 0 python/LICENSE | 7 + python/LICENSE.BSD-3-Clause | 29 ++++ python/README.md | 160 ++++++++++++++++++ pyproject.toml => python/pyproject.toml | 5 +- .../slackblocks}/__init__.py | 0 {slackblocks => python/slackblocks}/_core.py | 0 .../slackblocks}/attachments.py | 0 {slackblocks => python/slackblocks}/blocks.py | 0 .../slackblocks}/builder.py | 0 .../slackblocks}/elements.py | 0 {slackblocks => python/slackblocks}/errors.py | 0 .../slackblocks}/messages.py | 0 {slackblocks => python/slackblocks}/modals.py | 0 .../slackblocks}/objects.py | 0 {slackblocks => python/slackblocks}/py.typed | 0 .../slackblocks}/rich_text/__init__.py | 0 .../slackblocks}/rich_text/elements.py | 0 .../slackblocks}/rich_text/objects.py | 0 {slackblocks => python/slackblocks}/utils.py | 0 {slackblocks => python/slackblocks}/views.py | 0 {test => python/test}/__init__.py | 0 {test => python/test}/integration/__init__.py | 0 .../test}/integration/test_integration.py | 0 .../attachments/attachment_multi_block.json | 0 .../attachments/attachment_simple.json | 0 .../blocks/actions_block_checkboxes.json | 0 .../blocks/context_block_text_only.json | 0 .../samples/blocks/divider_block_only.json | 0 .../test}/samples/blocks/file_block_only.json | 0 .../samples/blocks/header_block_only.json | 0 .../samples/blocks/image_block_only.json | 0 .../samples/blocks/input_block_only.json | 0 .../samples/blocks/markdown_block_basic.json | 0 .../samples/blocks/rich_text_block_basic.json | 0 .../section_block_both_text_and_fields.json | 0 .../section_block_empty_text_field_value.json | 0 .../samples/blocks/section_block_fields.json | 0 ...ion_block_single_field_value_coercion.json | 0 .../blocks/section_block_text_only.json | 0 .../test}/samples/blocks/table_block.json | 0 .../samples/blocks/video_block_basic.json | 0 .../samples/blocks/video_block_full.json | 0 .../test}/samples/elements/button_basic.json | 0 .../test}/samples/elements/button_link.json | 0 .../test}/samples/elements/button_style.json | 0 .../samples/elements/checkbox_basic.json | 0 .../samples/elements/date_picker_basic.json | 0 .../elements/datetime_picker_basic.json | 0 .../samples/elements/email_input_basic.json | 0 .../test}/samples/elements/image_basic.json | 0 .../elements/multi_select_channel.json | 0 .../elements/multi_select_conversation.json | 0 .../elements/multi_select_external.json | 0 .../samples/elements/multi_select_static.json | 0 .../samples/elements/multi_select_user.json | 0 .../multi_select_user_with_initial_users.json | 0 .../samples/elements/number_input_basic.json | 0 .../samples/elements/overflow_menu_basic.json | 0 .../elements/plaintext_input_basic.json | 0 .../elements/radio_button_group_basic.json | 0 .../elements/rich_text_input_basic.json | 0 .../samples/elements/select_menu_channel.json | 0 .../elements/select_menu_conversation.json | 0 .../elements/select_menu_external.json | 0 .../samples/elements/select_menu_static.json | 0 .../samples/elements/select_menu_user.json | 0 .../samples/elements/timepicker_basic.json | 0 .../samples/elements/url_input_basic.json | 0 .../elements/workflow_button_basic.json | 0 .../test}/samples/messages/message_basic.json | 0 .../messages/message_basic_attachment.json | 0 .../samples/messages/message_compound.json | 0 .../samples/messages/message_response.json | 0 .../messages/message_with_attachments.json | 0 .../message_with_optional_arguments.json | 0 .../messages/webhook_message_basic.json | 0 .../messages/webhook_message_delete.json | 0 .../objects/confirmation_dialogue_basic.json | 0 .../objects/conversation_filter_basic.json | 0 .../dispatch_action_configuration_basic.json | 0 .../objects/input_parameter_basic.json | 0 .../test}/samples/objects/option_basic.json | 0 .../samples/objects/option_group_basic.json | 0 .../samples/objects/text_markdown_basic.json | 0 .../objects/text_markdown_verbatim.json | 0 .../samples/objects/text_plaintext_basic.json | 0 .../samples/objects/text_plaintext_emoji.json | 0 .../test}/samples/objects/trigger_basic.json | 0 .../test}/samples/objects/workflow_basic.json | 0 .../samples/rich_text/rich_text_basic.json | 0 .../rich_text/rich_text_channel_basic.json | 0 .../rich_text/rich_text_code_block_basic.json | 0 .../rich_text/rich_text_emoji_basic.json | 0 .../rich_text/rich_text_link_basic.json | 0 .../rich_text/rich_text_list_basic.json | 0 .../rich_text/rich_text_list_ordered.json | 0 .../rich_text/rich_text_quote_basic.json | 0 .../rich_text/rich_text_section_basic.json | 0 .../rich_text/rich_text_user_basic.json | 0 .../rich_text/rich_text_user_group_basic.json | 0 .../test}/samples/views/hometab_view.json | 0 .../samples/views/modal_with_blocks.json | 0 {test => python/test}/unit/__init__.py | 0 .../test}/unit/test_attachments.py | 0 {test => python/test}/unit/test_blocks.py | 0 {test => python/test}/unit/test_builder.py | 0 {test => python/test}/unit/test_core.py | 0 {test => python/test}/unit/test_elements.py | 0 {test => python/test}/unit/test_errors.py | 0 {test => python/test}/unit/test_exports.py | 0 {test => python/test}/unit/test_from_dict.py | 0 {test => python/test}/unit/test_messages.py | 0 {test => python/test}/unit/test_objects.py | 0 {test => python/test}/unit/test_properties.py | 0 {test => python/test}/unit/test_rich_text.py | 0 .../test}/unit/test_serializability.py | 0 {test => python/test}/unit/test_utils.py | 0 {test => python/test}/unit/test_views.py | 0 {test => python/test}/unit/utils.py | 0 uv.lock => python/uv.lock | 0 130 files changed, 259 insertions(+), 171 deletions(-) rename CHANGELOG.md => python/CHANGELOG.md (100%) create mode 100644 python/LICENSE create mode 100644 python/LICENSE.BSD-3-Clause create mode 100644 python/README.md rename pyproject.toml => python/pyproject.toml (95%) rename {slackblocks => python/slackblocks}/__init__.py (100%) rename {slackblocks => python/slackblocks}/_core.py (100%) rename {slackblocks => python/slackblocks}/attachments.py (100%) rename {slackblocks => python/slackblocks}/blocks.py (100%) rename {slackblocks => python/slackblocks}/builder.py (100%) rename {slackblocks => python/slackblocks}/elements.py (100%) rename {slackblocks => python/slackblocks}/errors.py (100%) rename {slackblocks => python/slackblocks}/messages.py (100%) rename {slackblocks => python/slackblocks}/modals.py (100%) rename {slackblocks => python/slackblocks}/objects.py (100%) rename {slackblocks => python/slackblocks}/py.typed (100%) rename {slackblocks => python/slackblocks}/rich_text/__init__.py (100%) rename {slackblocks => python/slackblocks}/rich_text/elements.py (100%) rename {slackblocks => python/slackblocks}/rich_text/objects.py (100%) rename {slackblocks => python/slackblocks}/utils.py (100%) rename {slackblocks => python/slackblocks}/views.py (100%) rename {test => python/test}/__init__.py (100%) rename {test => python/test}/integration/__init__.py (100%) rename {test => python/test}/integration/test_integration.py (100%) rename {test => python/test}/samples/attachments/attachment_multi_block.json (100%) rename {test => python/test}/samples/attachments/attachment_simple.json (100%) rename {test => python/test}/samples/blocks/actions_block_checkboxes.json (100%) rename {test => python/test}/samples/blocks/context_block_text_only.json (100%) rename {test => python/test}/samples/blocks/divider_block_only.json (100%) rename {test => python/test}/samples/blocks/file_block_only.json (100%) rename {test => python/test}/samples/blocks/header_block_only.json (100%) rename {test => python/test}/samples/blocks/image_block_only.json (100%) rename {test => python/test}/samples/blocks/input_block_only.json (100%) rename {test => python/test}/samples/blocks/markdown_block_basic.json (100%) rename {test => python/test}/samples/blocks/rich_text_block_basic.json (100%) rename {test => python/test}/samples/blocks/section_block_both_text_and_fields.json (100%) rename {test => python/test}/samples/blocks/section_block_empty_text_field_value.json (100%) rename {test => python/test}/samples/blocks/section_block_fields.json (100%) rename {test => python/test}/samples/blocks/section_block_single_field_value_coercion.json (100%) rename {test => python/test}/samples/blocks/section_block_text_only.json (100%) rename {test => python/test}/samples/blocks/table_block.json (100%) rename {test => python/test}/samples/blocks/video_block_basic.json (100%) rename {test => python/test}/samples/blocks/video_block_full.json (100%) rename {test => python/test}/samples/elements/button_basic.json (100%) rename {test => python/test}/samples/elements/button_link.json (100%) rename {test => python/test}/samples/elements/button_style.json (100%) rename {test => python/test}/samples/elements/checkbox_basic.json (100%) rename {test => python/test}/samples/elements/date_picker_basic.json (100%) rename {test => python/test}/samples/elements/datetime_picker_basic.json (100%) rename {test => python/test}/samples/elements/email_input_basic.json (100%) rename {test => python/test}/samples/elements/image_basic.json (100%) rename {test => python/test}/samples/elements/multi_select_channel.json (100%) rename {test => python/test}/samples/elements/multi_select_conversation.json (100%) rename {test => python/test}/samples/elements/multi_select_external.json (100%) rename {test => python/test}/samples/elements/multi_select_static.json (100%) rename {test => python/test}/samples/elements/multi_select_user.json (100%) rename {test => python/test}/samples/elements/multi_select_user_with_initial_users.json (100%) rename {test => python/test}/samples/elements/number_input_basic.json (100%) rename {test => python/test}/samples/elements/overflow_menu_basic.json (100%) rename {test => python/test}/samples/elements/plaintext_input_basic.json (100%) rename {test => python/test}/samples/elements/radio_button_group_basic.json (100%) rename {test => python/test}/samples/elements/rich_text_input_basic.json (100%) rename {test => python/test}/samples/elements/select_menu_channel.json (100%) rename {test => python/test}/samples/elements/select_menu_conversation.json (100%) rename {test => python/test}/samples/elements/select_menu_external.json (100%) rename {test => python/test}/samples/elements/select_menu_static.json (100%) rename {test => python/test}/samples/elements/select_menu_user.json (100%) rename {test => python/test}/samples/elements/timepicker_basic.json (100%) rename {test => python/test}/samples/elements/url_input_basic.json (100%) rename {test => python/test}/samples/elements/workflow_button_basic.json (100%) rename {test => python/test}/samples/messages/message_basic.json (100%) rename {test => python/test}/samples/messages/message_basic_attachment.json (100%) rename {test => python/test}/samples/messages/message_compound.json (100%) rename {test => python/test}/samples/messages/message_response.json (100%) rename {test => python/test}/samples/messages/message_with_attachments.json (100%) rename {test => python/test}/samples/messages/message_with_optional_arguments.json (100%) rename {test => python/test}/samples/messages/webhook_message_basic.json (100%) rename {test => python/test}/samples/messages/webhook_message_delete.json (100%) rename {test => python/test}/samples/objects/confirmation_dialogue_basic.json (100%) rename {test => python/test}/samples/objects/conversation_filter_basic.json (100%) rename {test => python/test}/samples/objects/dispatch_action_configuration_basic.json (100%) rename {test => python/test}/samples/objects/input_parameter_basic.json (100%) rename {test => python/test}/samples/objects/option_basic.json (100%) rename {test => python/test}/samples/objects/option_group_basic.json (100%) rename {test => python/test}/samples/objects/text_markdown_basic.json (100%) rename {test => python/test}/samples/objects/text_markdown_verbatim.json (100%) rename {test => python/test}/samples/objects/text_plaintext_basic.json (100%) rename {test => python/test}/samples/objects/text_plaintext_emoji.json (100%) rename {test => python/test}/samples/objects/trigger_basic.json (100%) rename {test => python/test}/samples/objects/workflow_basic.json (100%) rename {test => python/test}/samples/rich_text/rich_text_basic.json (100%) rename {test => python/test}/samples/rich_text/rich_text_channel_basic.json (100%) rename {test => python/test}/samples/rich_text/rich_text_code_block_basic.json (100%) rename {test => python/test}/samples/rich_text/rich_text_emoji_basic.json (100%) rename {test => python/test}/samples/rich_text/rich_text_link_basic.json (100%) rename {test => python/test}/samples/rich_text/rich_text_list_basic.json (100%) rename {test => python/test}/samples/rich_text/rich_text_list_ordered.json (100%) rename {test => python/test}/samples/rich_text/rich_text_quote_basic.json (100%) rename {test => python/test}/samples/rich_text/rich_text_section_basic.json (100%) rename {test => python/test}/samples/rich_text/rich_text_user_basic.json (100%) rename {test => python/test}/samples/rich_text/rich_text_user_group_basic.json (100%) rename {test => python/test}/samples/views/hometab_view.json (100%) rename {test => python/test}/samples/views/modal_with_blocks.json (100%) rename {test => python/test}/unit/__init__.py (100%) rename {test => python/test}/unit/test_attachments.py (100%) rename {test => python/test}/unit/test_blocks.py (100%) rename {test => python/test}/unit/test_builder.py (100%) rename {test => python/test}/unit/test_core.py (100%) rename {test => python/test}/unit/test_elements.py (100%) rename {test => python/test}/unit/test_errors.py (100%) rename {test => python/test}/unit/test_exports.py (100%) rename {test => python/test}/unit/test_from_dict.py (100%) rename {test => python/test}/unit/test_messages.py (100%) rename {test => python/test}/unit/test_objects.py (100%) rename {test => python/test}/unit/test_properties.py (100%) rename {test => python/test}/unit/test_rich_text.py (100%) rename {test => python/test}/unit/test_serializability.py (100%) rename {test => python/test}/unit/test_utils.py (100%) rename {test => python/test}/unit/test_views.py (100%) rename {test => python/test}/unit/utils.py (100%) rename uv.lock => python/uv.lock (100%) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 8c6f4fc8..a455e883 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -25,10 +25,10 @@ jobs: git config --global user.email "github-actions[bot]@users.noreply.github.com" - name: Install Docs Dependencies - run: uv sync --group docs + run: uv sync --project python --group docs - name: Build and Deploy Docs - run: uv run mike deploy --push --update-aliases ${{ github.ref_name }} latest + run: uv run --project python mike deploy --push --update-aliases ${{ github.ref_name }} latest - name: Sort versions.json on gh-pages by PEP 440 semver # ``mike deploy`` appends each new deploy to the end of @@ -41,7 +41,7 @@ jobs: git fetch origin gh-pages tmpdir=$(mktemp -d) git worktree add "$tmpdir" gh-pages - uv run --with packaging python scripts/sort_versions.py "$tmpdir/versions.json" + uv run --project python --with packaging python scripts/sort_versions.py "$tmpdir/versions.json" cd "$tmpdir" if git diff --quiet versions.json; then echo "versions.json already sorted; nothing to commit." diff --git a/.github/workflows/package-check.yml b/.github/workflows/package-check.yml index e4dc005f..5ade8b18 100644 --- a/.github/workflows/package-check.yml +++ b/.github/workflows/package-check.yml @@ -1,9 +1,14 @@ name: Package Check on: push: - branches: [master] + paths: + - "python/**" + - ".github/workflows/package-check.yml" pull_request: branches: [master] + paths: + - "python/**" + - ".github/workflows/package-check.yml" concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -13,6 +18,9 @@ jobs: package-check: runs-on: ubuntu-latest name: Build sdist/wheel and validate README rendering + defaults: + run: + working-directory: python steps: - name: Check Out Source Repository uses: actions/checkout@v5 @@ -21,6 +29,7 @@ jobs: uses: astral-sh/setup-uv@v4 with: enable-cache: true + cache-dependency-glob: python/uv.lock - name: Install Dependencies run: uv sync diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 12a453e9..78b9bce2 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -15,6 +15,9 @@ jobs: publish: name: Build and publish to PyPI runs-on: ubuntu-latest + defaults: + run: + working-directory: python steps: - uses: actions/checkout@v5 diff --git a/.github/workflows/ruff-format.yml b/.github/workflows/ruff-format.yml index 0982b252..f58a0392 100644 --- a/.github/workflows/ruff-format.yml +++ b/.github/workflows/ruff-format.yml @@ -1,9 +1,14 @@ name: Ruff Format on: push: - branches: [master] + paths: + - "python/**" + - ".github/workflows/ruff-format.yml" pull_request: branches: [master] + paths: + - "python/**" + - ".github/workflows/ruff-format.yml" concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -13,6 +18,9 @@ jobs: formatting: runs-on: ubuntu-latest name: Ruff Format + defaults: + run: + working-directory: python steps: - name: Check Out Source Repository uses: actions/checkout@v5 @@ -21,6 +29,7 @@ jobs: uses: astral-sh/setup-uv@v4 with: enable-cache: true + cache-dependency-glob: python/uv.lock - name: Install Dependencies run: uv sync diff --git a/.github/workflows/ruff-lint.yml b/.github/workflows/ruff-lint.yml index be082b9d..eef4a4fe 100644 --- a/.github/workflows/ruff-lint.yml +++ b/.github/workflows/ruff-lint.yml @@ -1,9 +1,14 @@ name: Ruff Lint on: push: - branches: [master] + paths: + - "python/**" + - ".github/workflows/ruff-lint.yml" pull_request: branches: [master] + paths: + - "python/**" + - ".github/workflows/ruff-lint.yml" concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -13,6 +18,9 @@ jobs: linting: runs-on: ubuntu-latest name: Ruff Lint + defaults: + run: + working-directory: python steps: - name: Check Out Source Repository uses: actions/checkout@v5 @@ -21,6 +29,7 @@ jobs: uses: astral-sh/setup-uv@v4 with: enable-cache: true + cache-dependency-glob: python/uv.lock - name: Install Dependencies run: uv sync diff --git a/.github/workflows/type-checking.yml b/.github/workflows/type-checking.yml index 7a136c6b..f61628a1 100644 --- a/.github/workflows/type-checking.yml +++ b/.github/workflows/type-checking.yml @@ -1,9 +1,14 @@ name: Type Checking on: push: - branches: [master] + paths: + - "python/**" + - ".github/workflows/type-checking.yml" pull_request: branches: [master] + paths: + - "python/**" + - ".github/workflows/type-checking.yml" concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -13,6 +18,9 @@ jobs: type-checking: runs-on: ubuntu-latest name: mypy Type Checking + defaults: + run: + working-directory: python steps: - name: Check Out Source Repository uses: actions/checkout@v5 @@ -21,9 +29,10 @@ jobs: uses: astral-sh/setup-uv@v4 with: enable-cache: true + cache-dependency-glob: python/uv.lock - name: Install Dependencies run: uv sync - name: Type Checking - run: uv run mypy slackblocks \ No newline at end of file + run: uv run mypy slackblocks diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index 64f0f085..8e0c420b 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -1,9 +1,14 @@ name: Unit Tests on: push: - branches: [master] + paths: + - "python/**" + - ".github/workflows/unit-tests.yml" pull_request: branches: [master] + paths: + - "python/**" + - ".github/workflows/unit-tests.yml" concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -16,6 +21,7 @@ jobs: defaults: run: shell: bash + working-directory: python strategy: matrix: @@ -30,9 +36,10 @@ jobs: uses: astral-sh/setup-uv@v4 with: enable-cache: true + cache-dependency-glob: python/uv.lock - name: Install Dependencies run: uv sync - name: Test With pytest - run: uv run pytest test/unit \ No newline at end of file + run: uv run pytest test/unit diff --git a/README.md b/README.md index b7d50f56..e90dd96c 100644 --- a/README.md +++ b/README.md @@ -1,160 +1,5 @@ -# slackblocks - -![Licence: MIT](https://img.shields.io/badge/License-MIT-green.svg) -![Licence: BSD-3-Clause](https://img.shields.io/badge/License-BSD_3_Clause-green.svg) -![Python Versions](https://img.shields.io/pypi/pyversions/slackblocks) -[![PyPI](https://img.shields.io/pypi/v/slackblocks?color=yellow&label=PyPI&logo=python&logoColor=white)](https://pypi.org/project/slackblocks/#history) -[![Downloads](https://static.pepy.tech/badge/slackblocks)](https://pepy.tech/project/slackblocks) -[![Build Status](https://github.com/nicklambourne/slackblocks/actions/workflows/unit-tests.yml/badge.svg?branch=master)](https://github.com/nicklambourne/slackblocks/actions) -[![Docs](https://img.shields.io/badge/Docs-8A2BE2.svg)](https://nicklambourne.github.io/slackblocks) - -> **Build Slack messages in Python — without writing JSON by hand.** - -`slackblocks` is a typed, validating Python wrapper around the Slack [Block Kit API](https://api.slack.com/block-kit). It exists because Block Kit JSON is verbose, easy to get subtly wrong, and unpleasant to maintain in source control. - -## Why `slackblocks`? - -- **Concise** — `SectionBlock("Hello, *world*!")` instead of a 10-line JSON object. -- **Validated** — character limits, required fields, mutually-exclusive options, and element-type restrictions are enforced at construction time, so you find out *before* hitting Slack's API. -- **Drop-in compatible** with both the official [`slack-sdk`](https://pypi.org/project/slack-sdk/) and the legacy [`slackclient`](https://pypi.org/project/slackclient/) — unpack a `Message` directly into `client.chat_postMessage(**message)`. -- **Typed** — full type hints; ships `py.typed`. -- **Zero runtime dependencies.** - -## Installation - -```bash -pip install slackblocks -``` - -`slackblocks 2.x` requires Python 3.10 or newer. Users on Python 3.8 / 3.9 should pin to the `1.x` line — see the [Compatibility](https://nicklambourne.github.io/slackblocks/latest/usage/compatibility/) page. - -## Quickstart - -```python -from slackblocks import ( - ActionsBlock, - Button, - DividerBlock, - HeaderBlock, - Message, - SectionBlock, -) - -message = Message( - channel="#general", - text="Build #482 passed", # plain-text fallback for notifications - blocks=[ - HeaderBlock("Build #482 passed :white_check_mark:"), - SectionBlock( - fields=[ - "*Branch*\n`main`", - "*Author*\n@nick", - "*Duration*\n3m 12s", - "*Tests*\n1,247 passed", - ], - ), - DividerBlock(), - ActionsBlock( - elements=[ - Button(text="View build", action_id="view", url="https://ci.example.com/482"), - Button(text="Re-run", action_id="rerun", value="482", style="primary"), - ], - ), - ], -) -``` - -`message` can be sent in one line with the official Slack SDK: - -```python -import os -from slack_sdk import WebClient - -client = WebClient(token=os.environ["SLACK_API_TOKEN"]) -client.chat_postMessage(**message) -``` - -The `**` operator unpacks `slackblocks` `Message` objects directly into the SDK call — no `to_dict()` boilerplate required. - -

- A simple Slack message rendered in Slack -

- -## What's supported - -| Surface | Status | -|---------------------|:------:| -| Blocks | ✅ All current block types (Section, Header, Divider, Image, Context, Actions, Input, RichText, File, Table, **Markdown**, **Video**) | -| Elements | ✅ Buttons, all select menus, date/time pickers, checkboxes, radio groups, all input types, overflow menus, workflow buttons | -| Composition Objects | ✅ Text (+ `PlainText` / `Markdown` aliases), Option, Confirm, Conversation/Dispatch filters, Workflow, Trigger | -| Rich Text | ✅ Sections, lists, quotes, code blocks, inline links/users/channels/emoji | -| Modals & Home Tabs | ✅ Full views API | -| Messages | ✅ `chat.postMessage`, webhook messages, slash-command/interaction responses, threaded replies, ephemeral messages | -| Attachments | ⚠️ Supported but [deprecated by Slack](https://api.slack.com/reference/messaging/attachments) | -| Round-tripping | ✅ `Block.from_dict(data)` and per-class `from_dict` for parsing incoming Slack JSON back into objects | - -## What's new in 2.0 - -`slackblocks 2.x` is the first major release in the modernised line. Highlights: - -- **Two new block types**: `MarkdownBlock` (GitHub-flavored Markdown) and `VideoBlock`. -- **`PlainText` and `Markdown`** thin aliases for `Text(type_=...)`. -- **`block_kit_builder_url(payload)`** — turn any block, message, or view into a [Block Kit Builder](https://app.slack.com/block-kit-builder) URL for browser preview. -- **`Workflow.from_url(url, **params)`** — one-line workflow construction. -- **`Block.from_dict(data)`** + per-class `from_dict` parsers — round-trip incoming Slack JSON back into `slackblocks` objects. -- **Typed exception subclasses** of `InvalidUsageError` (`LengthError`, `RangeError`, `TypeMismatchError`, `MutualExclusivityError`, `MissingRequiredError`) — existing `except InvalidUsageError` blocks continue to work. -- **Tighter type signatures**: `Literal` narrowing on `Button.style`, `ColumnSettings.align`, `ConversationFilter.include`; `@overload` on `Text.to_text` so the return type narrows on `allow_none`. -- **Modern annotation syntax** (`list[X]`, `X | Y`) throughout. - -Existing 1.x code continues to work unchanged; see the [Migration Guide](https://nicklambourne.github.io/slackblocks/latest/usage/migration/) for the full diff. - -## Documentation - -- **Full docs:** -- [Installation](https://nicklambourne.github.io/slackblocks/latest/usage/installation/) -- [Compatibility](https://nicklambourne.github.io/slackblocks/latest/usage/compatibility/) — which Python versions each release line supports. -- [Using Blocks](https://nicklambourne.github.io/slackblocks/latest/usage/using_blocks/) — every block type with code, JSON, and screenshots. -- [Sending Messages](https://nicklambourne.github.io/slackblocks/latest/usage/sending_messages/) -- [Cookbook](https://nicklambourne.github.io/slackblocks/latest/usage/cookbook/) — end-to-end recipes for build notifications, approval requests, modals, and more. -- [Migrating from 1.x](https://nicklambourne.github.io/slackblocks/latest/usage/migration/) — upgrade guide for `1.x` users. -- [Troubleshooting & FAQ](https://nicklambourne.github.io/slackblocks/latest/usage/troubleshooting/) -- [Changelog](https://github.com/nicklambourne/slackblocks/blob/master/CHANGELOG.md) - -## Comparison with `slack-sdk` block classes - -The official `slack-sdk` ships its own block classes. `slackblocks` predates them and offers a more concise API, stricter up-front validation, and independent versioning. They produce equivalent JSON; pick whichever you find more ergonomic. - -```python # slackblocks -SectionBlock("Hello, *world*!") - -# slack-sdk equivalent -from slack_sdk.models.blocks import SectionBlock as SDKSectionBlock -from slack_sdk.models.blocks.basic_components import MarkdownTextObject -SDKSectionBlock(text=MarkdownTextObject(text="Hello, *world*!")) -``` - -## Licensing - -`slackblocks` is dual-licensed under [MIT](https://github.com/nicklambourne/slackblocks/blob/master/LICENSE) and [BSD-3-Clause](https://github.com/nicklambourne/slackblocks/blob/master/LICENSE.BSD-3-Clause). Use whichever fits your project — this makes it safe to vendor into projects under either license. - -## Contributing - -Contributions are welcome. Quick start (the project uses [uv](https://docs.astral.sh/uv/) for dependency management): - -```bash -git clone https://github.com/nicklambourne/slackblocks.git -cd slackblocks -uv sync --all-groups - -uv run pytest test/unit -uv run ruff format --check . -uv run ruff check . -uv run mypy slackblocks -``` - -Preview the documentation locally with `uv run mkdocs serve`. -For the full development guide — testing conventions, validation patterns, docstring style, release process, and a PR checklist — see the [Contributing page](https://nicklambourne.github.io/slackblocks/latest/contributing/). +This repository contains the Python `slackblocks` package in [`python/`](python/). -Bug reports and feature requests: . +The workspace layout leaves room for additional language implementations while preserving the existing Python package and release history. diff --git a/mkdocs.yml b/mkdocs.yml index 8cf0d1b5..099b4c8e 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -38,7 +38,7 @@ plugins: default_handler: python handlers: python: - paths: [slackblocks] + paths: [python/slackblocks] options: show_root_heading: false show_root_toc_entry: false @@ -92,4 +92,4 @@ nav: extra: version: - provider: mike \ No newline at end of file + provider: mike diff --git a/CHANGELOG.md b/python/CHANGELOG.md similarity index 100% rename from CHANGELOG.md rename to python/CHANGELOG.md diff --git a/python/LICENSE b/python/LICENSE new file mode 100644 index 00000000..c14b0b3a --- /dev/null +++ b/python/LICENSE @@ -0,0 +1,7 @@ +Copyright 2019 Nicholas Lambourne + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/python/LICENSE.BSD-3-Clause b/python/LICENSE.BSD-3-Clause new file mode 100644 index 00000000..f292c0a2 --- /dev/null +++ b/python/LICENSE.BSD-3-Clause @@ -0,0 +1,29 @@ +BSD 3-Clause License + +Copyright (c) 2019, Nicholas Lambourne +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/python/README.md b/python/README.md new file mode 100644 index 00000000..b7d50f56 --- /dev/null +++ b/python/README.md @@ -0,0 +1,160 @@ +# slackblocks + +![Licence: MIT](https://img.shields.io/badge/License-MIT-green.svg) +![Licence: BSD-3-Clause](https://img.shields.io/badge/License-BSD_3_Clause-green.svg) +![Python Versions](https://img.shields.io/pypi/pyversions/slackblocks) +[![PyPI](https://img.shields.io/pypi/v/slackblocks?color=yellow&label=PyPI&logo=python&logoColor=white)](https://pypi.org/project/slackblocks/#history) +[![Downloads](https://static.pepy.tech/badge/slackblocks)](https://pepy.tech/project/slackblocks) +[![Build Status](https://github.com/nicklambourne/slackblocks/actions/workflows/unit-tests.yml/badge.svg?branch=master)](https://github.com/nicklambourne/slackblocks/actions) +[![Docs](https://img.shields.io/badge/Docs-8A2BE2.svg)](https://nicklambourne.github.io/slackblocks) + +> **Build Slack messages in Python — without writing JSON by hand.** + +`slackblocks` is a typed, validating Python wrapper around the Slack [Block Kit API](https://api.slack.com/block-kit). It exists because Block Kit JSON is verbose, easy to get subtly wrong, and unpleasant to maintain in source control. + +## Why `slackblocks`? + +- **Concise** — `SectionBlock("Hello, *world*!")` instead of a 10-line JSON object. +- **Validated** — character limits, required fields, mutually-exclusive options, and element-type restrictions are enforced at construction time, so you find out *before* hitting Slack's API. +- **Drop-in compatible** with both the official [`slack-sdk`](https://pypi.org/project/slack-sdk/) and the legacy [`slackclient`](https://pypi.org/project/slackclient/) — unpack a `Message` directly into `client.chat_postMessage(**message)`. +- **Typed** — full type hints; ships `py.typed`. +- **Zero runtime dependencies.** + +## Installation + +```bash +pip install slackblocks +``` + +`slackblocks 2.x` requires Python 3.10 or newer. Users on Python 3.8 / 3.9 should pin to the `1.x` line — see the [Compatibility](https://nicklambourne.github.io/slackblocks/latest/usage/compatibility/) page. + +## Quickstart + +```python +from slackblocks import ( + ActionsBlock, + Button, + DividerBlock, + HeaderBlock, + Message, + SectionBlock, +) + +message = Message( + channel="#general", + text="Build #482 passed", # plain-text fallback for notifications + blocks=[ + HeaderBlock("Build #482 passed :white_check_mark:"), + SectionBlock( + fields=[ + "*Branch*\n`main`", + "*Author*\n@nick", + "*Duration*\n3m 12s", + "*Tests*\n1,247 passed", + ], + ), + DividerBlock(), + ActionsBlock( + elements=[ + Button(text="View build", action_id="view", url="https://ci.example.com/482"), + Button(text="Re-run", action_id="rerun", value="482", style="primary"), + ], + ), + ], +) +``` + +`message` can be sent in one line with the official Slack SDK: + +```python +import os +from slack_sdk import WebClient + +client = WebClient(token=os.environ["SLACK_API_TOKEN"]) +client.chat_postMessage(**message) +``` + +The `**` operator unpacks `slackblocks` `Message` objects directly into the SDK call — no `to_dict()` boilerplate required. + +

+ A simple Slack message rendered in Slack +

+ +## What's supported + +| Surface | Status | +|---------------------|:------:| +| Blocks | ✅ All current block types (Section, Header, Divider, Image, Context, Actions, Input, RichText, File, Table, **Markdown**, **Video**) | +| Elements | ✅ Buttons, all select menus, date/time pickers, checkboxes, radio groups, all input types, overflow menus, workflow buttons | +| Composition Objects | ✅ Text (+ `PlainText` / `Markdown` aliases), Option, Confirm, Conversation/Dispatch filters, Workflow, Trigger | +| Rich Text | ✅ Sections, lists, quotes, code blocks, inline links/users/channels/emoji | +| Modals & Home Tabs | ✅ Full views API | +| Messages | ✅ `chat.postMessage`, webhook messages, slash-command/interaction responses, threaded replies, ephemeral messages | +| Attachments | ⚠️ Supported but [deprecated by Slack](https://api.slack.com/reference/messaging/attachments) | +| Round-tripping | ✅ `Block.from_dict(data)` and per-class `from_dict` for parsing incoming Slack JSON back into objects | + +## What's new in 2.0 + +`slackblocks 2.x` is the first major release in the modernised line. Highlights: + +- **Two new block types**: `MarkdownBlock` (GitHub-flavored Markdown) and `VideoBlock`. +- **`PlainText` and `Markdown`** thin aliases for `Text(type_=...)`. +- **`block_kit_builder_url(payload)`** — turn any block, message, or view into a [Block Kit Builder](https://app.slack.com/block-kit-builder) URL for browser preview. +- **`Workflow.from_url(url, **params)`** — one-line workflow construction. +- **`Block.from_dict(data)`** + per-class `from_dict` parsers — round-trip incoming Slack JSON back into `slackblocks` objects. +- **Typed exception subclasses** of `InvalidUsageError` (`LengthError`, `RangeError`, `TypeMismatchError`, `MutualExclusivityError`, `MissingRequiredError`) — existing `except InvalidUsageError` blocks continue to work. +- **Tighter type signatures**: `Literal` narrowing on `Button.style`, `ColumnSettings.align`, `ConversationFilter.include`; `@overload` on `Text.to_text` so the return type narrows on `allow_none`. +- **Modern annotation syntax** (`list[X]`, `X | Y`) throughout. + +Existing 1.x code continues to work unchanged; see the [Migration Guide](https://nicklambourne.github.io/slackblocks/latest/usage/migration/) for the full diff. + +## Documentation + +- **Full docs:** +- [Installation](https://nicklambourne.github.io/slackblocks/latest/usage/installation/) +- [Compatibility](https://nicklambourne.github.io/slackblocks/latest/usage/compatibility/) — which Python versions each release line supports. +- [Using Blocks](https://nicklambourne.github.io/slackblocks/latest/usage/using_blocks/) — every block type with code, JSON, and screenshots. +- [Sending Messages](https://nicklambourne.github.io/slackblocks/latest/usage/sending_messages/) +- [Cookbook](https://nicklambourne.github.io/slackblocks/latest/usage/cookbook/) — end-to-end recipes for build notifications, approval requests, modals, and more. +- [Migrating from 1.x](https://nicklambourne.github.io/slackblocks/latest/usage/migration/) — upgrade guide for `1.x` users. +- [Troubleshooting & FAQ](https://nicklambourne.github.io/slackblocks/latest/usage/troubleshooting/) +- [Changelog](https://github.com/nicklambourne/slackblocks/blob/master/CHANGELOG.md) + +## Comparison with `slack-sdk` block classes + +The official `slack-sdk` ships its own block classes. `slackblocks` predates them and offers a more concise API, stricter up-front validation, and independent versioning. They produce equivalent JSON; pick whichever you find more ergonomic. + +```python +# slackblocks +SectionBlock("Hello, *world*!") + +# slack-sdk equivalent +from slack_sdk.models.blocks import SectionBlock as SDKSectionBlock +from slack_sdk.models.blocks.basic_components import MarkdownTextObject +SDKSectionBlock(text=MarkdownTextObject(text="Hello, *world*!")) +``` + +## Licensing + +`slackblocks` is dual-licensed under [MIT](https://github.com/nicklambourne/slackblocks/blob/master/LICENSE) and [BSD-3-Clause](https://github.com/nicklambourne/slackblocks/blob/master/LICENSE.BSD-3-Clause). Use whichever fits your project — this makes it safe to vendor into projects under either license. + +## Contributing + +Contributions are welcome. Quick start (the project uses [uv](https://docs.astral.sh/uv/) for dependency management): + +```bash +git clone https://github.com/nicklambourne/slackblocks.git +cd slackblocks +uv sync --all-groups + +uv run pytest test/unit +uv run ruff format --check . +uv run ruff check . +uv run mypy slackblocks +``` + +Preview the documentation locally with `uv run mkdocs serve`. + +For the full development guide — testing conventions, validation patterns, docstring style, release process, and a PR checklist — see the [Contributing page](https://nicklambourne.github.io/slackblocks/latest/contributing/). + +Bug reports and feature requests: . diff --git a/pyproject.toml b/python/pyproject.toml similarity index 95% rename from pyproject.toml rename to python/pyproject.toml index f7e1153a..0b4c1f2b 100644 --- a/pyproject.toml +++ b/python/pyproject.toml @@ -56,7 +56,9 @@ docs = [ ] [build-system] -requires = ["hatchling"] +# Hatchling 1.28 emits Core Metadata 2.5, which Twine 6.2 cannot yet +# validate. Keep package checks reproducible until Twine adds 2.5 support. +requires = ["hatchling<1.28"] build-backend = "hatchling.build" [tool.ruff] @@ -118,4 +120,3 @@ exclude_lines = [ ] show_missing = true skip_covered = false - diff --git a/slackblocks/__init__.py b/python/slackblocks/__init__.py similarity index 100% rename from slackblocks/__init__.py rename to python/slackblocks/__init__.py diff --git a/slackblocks/_core.py b/python/slackblocks/_core.py similarity index 100% rename from slackblocks/_core.py rename to python/slackblocks/_core.py diff --git a/slackblocks/attachments.py b/python/slackblocks/attachments.py similarity index 100% rename from slackblocks/attachments.py rename to python/slackblocks/attachments.py diff --git a/slackblocks/blocks.py b/python/slackblocks/blocks.py similarity index 100% rename from slackblocks/blocks.py rename to python/slackblocks/blocks.py diff --git a/slackblocks/builder.py b/python/slackblocks/builder.py similarity index 100% rename from slackblocks/builder.py rename to python/slackblocks/builder.py diff --git a/slackblocks/elements.py b/python/slackblocks/elements.py similarity index 100% rename from slackblocks/elements.py rename to python/slackblocks/elements.py diff --git a/slackblocks/errors.py b/python/slackblocks/errors.py similarity index 100% rename from slackblocks/errors.py rename to python/slackblocks/errors.py diff --git a/slackblocks/messages.py b/python/slackblocks/messages.py similarity index 100% rename from slackblocks/messages.py rename to python/slackblocks/messages.py diff --git a/slackblocks/modals.py b/python/slackblocks/modals.py similarity index 100% rename from slackblocks/modals.py rename to python/slackblocks/modals.py diff --git a/slackblocks/objects.py b/python/slackblocks/objects.py similarity index 100% rename from slackblocks/objects.py rename to python/slackblocks/objects.py diff --git a/slackblocks/py.typed b/python/slackblocks/py.typed similarity index 100% rename from slackblocks/py.typed rename to python/slackblocks/py.typed diff --git a/slackblocks/rich_text/__init__.py b/python/slackblocks/rich_text/__init__.py similarity index 100% rename from slackblocks/rich_text/__init__.py rename to python/slackblocks/rich_text/__init__.py diff --git a/slackblocks/rich_text/elements.py b/python/slackblocks/rich_text/elements.py similarity index 100% rename from slackblocks/rich_text/elements.py rename to python/slackblocks/rich_text/elements.py diff --git a/slackblocks/rich_text/objects.py b/python/slackblocks/rich_text/objects.py similarity index 100% rename from slackblocks/rich_text/objects.py rename to python/slackblocks/rich_text/objects.py diff --git a/slackblocks/utils.py b/python/slackblocks/utils.py similarity index 100% rename from slackblocks/utils.py rename to python/slackblocks/utils.py diff --git a/slackblocks/views.py b/python/slackblocks/views.py similarity index 100% rename from slackblocks/views.py rename to python/slackblocks/views.py diff --git a/test/__init__.py b/python/test/__init__.py similarity index 100% rename from test/__init__.py rename to python/test/__init__.py diff --git a/test/integration/__init__.py b/python/test/integration/__init__.py similarity index 100% rename from test/integration/__init__.py rename to python/test/integration/__init__.py diff --git a/test/integration/test_integration.py b/python/test/integration/test_integration.py similarity index 100% rename from test/integration/test_integration.py rename to python/test/integration/test_integration.py diff --git a/test/samples/attachments/attachment_multi_block.json b/python/test/samples/attachments/attachment_multi_block.json similarity index 100% rename from test/samples/attachments/attachment_multi_block.json rename to python/test/samples/attachments/attachment_multi_block.json diff --git a/test/samples/attachments/attachment_simple.json b/python/test/samples/attachments/attachment_simple.json similarity index 100% rename from test/samples/attachments/attachment_simple.json rename to python/test/samples/attachments/attachment_simple.json diff --git a/test/samples/blocks/actions_block_checkboxes.json b/python/test/samples/blocks/actions_block_checkboxes.json similarity index 100% rename from test/samples/blocks/actions_block_checkboxes.json rename to python/test/samples/blocks/actions_block_checkboxes.json diff --git a/test/samples/blocks/context_block_text_only.json b/python/test/samples/blocks/context_block_text_only.json similarity index 100% rename from test/samples/blocks/context_block_text_only.json rename to python/test/samples/blocks/context_block_text_only.json diff --git a/test/samples/blocks/divider_block_only.json b/python/test/samples/blocks/divider_block_only.json similarity index 100% rename from test/samples/blocks/divider_block_only.json rename to python/test/samples/blocks/divider_block_only.json diff --git a/test/samples/blocks/file_block_only.json b/python/test/samples/blocks/file_block_only.json similarity index 100% rename from test/samples/blocks/file_block_only.json rename to python/test/samples/blocks/file_block_only.json diff --git a/test/samples/blocks/header_block_only.json b/python/test/samples/blocks/header_block_only.json similarity index 100% rename from test/samples/blocks/header_block_only.json rename to python/test/samples/blocks/header_block_only.json diff --git a/test/samples/blocks/image_block_only.json b/python/test/samples/blocks/image_block_only.json similarity index 100% rename from test/samples/blocks/image_block_only.json rename to python/test/samples/blocks/image_block_only.json diff --git a/test/samples/blocks/input_block_only.json b/python/test/samples/blocks/input_block_only.json similarity index 100% rename from test/samples/blocks/input_block_only.json rename to python/test/samples/blocks/input_block_only.json diff --git a/test/samples/blocks/markdown_block_basic.json b/python/test/samples/blocks/markdown_block_basic.json similarity index 100% rename from test/samples/blocks/markdown_block_basic.json rename to python/test/samples/blocks/markdown_block_basic.json diff --git a/test/samples/blocks/rich_text_block_basic.json b/python/test/samples/blocks/rich_text_block_basic.json similarity index 100% rename from test/samples/blocks/rich_text_block_basic.json rename to python/test/samples/blocks/rich_text_block_basic.json diff --git a/test/samples/blocks/section_block_both_text_and_fields.json b/python/test/samples/blocks/section_block_both_text_and_fields.json similarity index 100% rename from test/samples/blocks/section_block_both_text_and_fields.json rename to python/test/samples/blocks/section_block_both_text_and_fields.json diff --git a/test/samples/blocks/section_block_empty_text_field_value.json b/python/test/samples/blocks/section_block_empty_text_field_value.json similarity index 100% rename from test/samples/blocks/section_block_empty_text_field_value.json rename to python/test/samples/blocks/section_block_empty_text_field_value.json diff --git a/test/samples/blocks/section_block_fields.json b/python/test/samples/blocks/section_block_fields.json similarity index 100% rename from test/samples/blocks/section_block_fields.json rename to python/test/samples/blocks/section_block_fields.json diff --git a/test/samples/blocks/section_block_single_field_value_coercion.json b/python/test/samples/blocks/section_block_single_field_value_coercion.json similarity index 100% rename from test/samples/blocks/section_block_single_field_value_coercion.json rename to python/test/samples/blocks/section_block_single_field_value_coercion.json diff --git a/test/samples/blocks/section_block_text_only.json b/python/test/samples/blocks/section_block_text_only.json similarity index 100% rename from test/samples/blocks/section_block_text_only.json rename to python/test/samples/blocks/section_block_text_only.json diff --git a/test/samples/blocks/table_block.json b/python/test/samples/blocks/table_block.json similarity index 100% rename from test/samples/blocks/table_block.json rename to python/test/samples/blocks/table_block.json diff --git a/test/samples/blocks/video_block_basic.json b/python/test/samples/blocks/video_block_basic.json similarity index 100% rename from test/samples/blocks/video_block_basic.json rename to python/test/samples/blocks/video_block_basic.json diff --git a/test/samples/blocks/video_block_full.json b/python/test/samples/blocks/video_block_full.json similarity index 100% rename from test/samples/blocks/video_block_full.json rename to python/test/samples/blocks/video_block_full.json diff --git a/test/samples/elements/button_basic.json b/python/test/samples/elements/button_basic.json similarity index 100% rename from test/samples/elements/button_basic.json rename to python/test/samples/elements/button_basic.json diff --git a/test/samples/elements/button_link.json b/python/test/samples/elements/button_link.json similarity index 100% rename from test/samples/elements/button_link.json rename to python/test/samples/elements/button_link.json diff --git a/test/samples/elements/button_style.json b/python/test/samples/elements/button_style.json similarity index 100% rename from test/samples/elements/button_style.json rename to python/test/samples/elements/button_style.json diff --git a/test/samples/elements/checkbox_basic.json b/python/test/samples/elements/checkbox_basic.json similarity index 100% rename from test/samples/elements/checkbox_basic.json rename to python/test/samples/elements/checkbox_basic.json diff --git a/test/samples/elements/date_picker_basic.json b/python/test/samples/elements/date_picker_basic.json similarity index 100% rename from test/samples/elements/date_picker_basic.json rename to python/test/samples/elements/date_picker_basic.json diff --git a/test/samples/elements/datetime_picker_basic.json b/python/test/samples/elements/datetime_picker_basic.json similarity index 100% rename from test/samples/elements/datetime_picker_basic.json rename to python/test/samples/elements/datetime_picker_basic.json diff --git a/test/samples/elements/email_input_basic.json b/python/test/samples/elements/email_input_basic.json similarity index 100% rename from test/samples/elements/email_input_basic.json rename to python/test/samples/elements/email_input_basic.json diff --git a/test/samples/elements/image_basic.json b/python/test/samples/elements/image_basic.json similarity index 100% rename from test/samples/elements/image_basic.json rename to python/test/samples/elements/image_basic.json diff --git a/test/samples/elements/multi_select_channel.json b/python/test/samples/elements/multi_select_channel.json similarity index 100% rename from test/samples/elements/multi_select_channel.json rename to python/test/samples/elements/multi_select_channel.json diff --git a/test/samples/elements/multi_select_conversation.json b/python/test/samples/elements/multi_select_conversation.json similarity index 100% rename from test/samples/elements/multi_select_conversation.json rename to python/test/samples/elements/multi_select_conversation.json diff --git a/test/samples/elements/multi_select_external.json b/python/test/samples/elements/multi_select_external.json similarity index 100% rename from test/samples/elements/multi_select_external.json rename to python/test/samples/elements/multi_select_external.json diff --git a/test/samples/elements/multi_select_static.json b/python/test/samples/elements/multi_select_static.json similarity index 100% rename from test/samples/elements/multi_select_static.json rename to python/test/samples/elements/multi_select_static.json diff --git a/test/samples/elements/multi_select_user.json b/python/test/samples/elements/multi_select_user.json similarity index 100% rename from test/samples/elements/multi_select_user.json rename to python/test/samples/elements/multi_select_user.json diff --git a/test/samples/elements/multi_select_user_with_initial_users.json b/python/test/samples/elements/multi_select_user_with_initial_users.json similarity index 100% rename from test/samples/elements/multi_select_user_with_initial_users.json rename to python/test/samples/elements/multi_select_user_with_initial_users.json diff --git a/test/samples/elements/number_input_basic.json b/python/test/samples/elements/number_input_basic.json similarity index 100% rename from test/samples/elements/number_input_basic.json rename to python/test/samples/elements/number_input_basic.json diff --git a/test/samples/elements/overflow_menu_basic.json b/python/test/samples/elements/overflow_menu_basic.json similarity index 100% rename from test/samples/elements/overflow_menu_basic.json rename to python/test/samples/elements/overflow_menu_basic.json diff --git a/test/samples/elements/plaintext_input_basic.json b/python/test/samples/elements/plaintext_input_basic.json similarity index 100% rename from test/samples/elements/plaintext_input_basic.json rename to python/test/samples/elements/plaintext_input_basic.json diff --git a/test/samples/elements/radio_button_group_basic.json b/python/test/samples/elements/radio_button_group_basic.json similarity index 100% rename from test/samples/elements/radio_button_group_basic.json rename to python/test/samples/elements/radio_button_group_basic.json diff --git a/test/samples/elements/rich_text_input_basic.json b/python/test/samples/elements/rich_text_input_basic.json similarity index 100% rename from test/samples/elements/rich_text_input_basic.json rename to python/test/samples/elements/rich_text_input_basic.json diff --git a/test/samples/elements/select_menu_channel.json b/python/test/samples/elements/select_menu_channel.json similarity index 100% rename from test/samples/elements/select_menu_channel.json rename to python/test/samples/elements/select_menu_channel.json diff --git a/test/samples/elements/select_menu_conversation.json b/python/test/samples/elements/select_menu_conversation.json similarity index 100% rename from test/samples/elements/select_menu_conversation.json rename to python/test/samples/elements/select_menu_conversation.json diff --git a/test/samples/elements/select_menu_external.json b/python/test/samples/elements/select_menu_external.json similarity index 100% rename from test/samples/elements/select_menu_external.json rename to python/test/samples/elements/select_menu_external.json diff --git a/test/samples/elements/select_menu_static.json b/python/test/samples/elements/select_menu_static.json similarity index 100% rename from test/samples/elements/select_menu_static.json rename to python/test/samples/elements/select_menu_static.json diff --git a/test/samples/elements/select_menu_user.json b/python/test/samples/elements/select_menu_user.json similarity index 100% rename from test/samples/elements/select_menu_user.json rename to python/test/samples/elements/select_menu_user.json diff --git a/test/samples/elements/timepicker_basic.json b/python/test/samples/elements/timepicker_basic.json similarity index 100% rename from test/samples/elements/timepicker_basic.json rename to python/test/samples/elements/timepicker_basic.json diff --git a/test/samples/elements/url_input_basic.json b/python/test/samples/elements/url_input_basic.json similarity index 100% rename from test/samples/elements/url_input_basic.json rename to python/test/samples/elements/url_input_basic.json diff --git a/test/samples/elements/workflow_button_basic.json b/python/test/samples/elements/workflow_button_basic.json similarity index 100% rename from test/samples/elements/workflow_button_basic.json rename to python/test/samples/elements/workflow_button_basic.json diff --git a/test/samples/messages/message_basic.json b/python/test/samples/messages/message_basic.json similarity index 100% rename from test/samples/messages/message_basic.json rename to python/test/samples/messages/message_basic.json diff --git a/test/samples/messages/message_basic_attachment.json b/python/test/samples/messages/message_basic_attachment.json similarity index 100% rename from test/samples/messages/message_basic_attachment.json rename to python/test/samples/messages/message_basic_attachment.json diff --git a/test/samples/messages/message_compound.json b/python/test/samples/messages/message_compound.json similarity index 100% rename from test/samples/messages/message_compound.json rename to python/test/samples/messages/message_compound.json diff --git a/test/samples/messages/message_response.json b/python/test/samples/messages/message_response.json similarity index 100% rename from test/samples/messages/message_response.json rename to python/test/samples/messages/message_response.json diff --git a/test/samples/messages/message_with_attachments.json b/python/test/samples/messages/message_with_attachments.json similarity index 100% rename from test/samples/messages/message_with_attachments.json rename to python/test/samples/messages/message_with_attachments.json diff --git a/test/samples/messages/message_with_optional_arguments.json b/python/test/samples/messages/message_with_optional_arguments.json similarity index 100% rename from test/samples/messages/message_with_optional_arguments.json rename to python/test/samples/messages/message_with_optional_arguments.json diff --git a/test/samples/messages/webhook_message_basic.json b/python/test/samples/messages/webhook_message_basic.json similarity index 100% rename from test/samples/messages/webhook_message_basic.json rename to python/test/samples/messages/webhook_message_basic.json diff --git a/test/samples/messages/webhook_message_delete.json b/python/test/samples/messages/webhook_message_delete.json similarity index 100% rename from test/samples/messages/webhook_message_delete.json rename to python/test/samples/messages/webhook_message_delete.json diff --git a/test/samples/objects/confirmation_dialogue_basic.json b/python/test/samples/objects/confirmation_dialogue_basic.json similarity index 100% rename from test/samples/objects/confirmation_dialogue_basic.json rename to python/test/samples/objects/confirmation_dialogue_basic.json diff --git a/test/samples/objects/conversation_filter_basic.json b/python/test/samples/objects/conversation_filter_basic.json similarity index 100% rename from test/samples/objects/conversation_filter_basic.json rename to python/test/samples/objects/conversation_filter_basic.json diff --git a/test/samples/objects/dispatch_action_configuration_basic.json b/python/test/samples/objects/dispatch_action_configuration_basic.json similarity index 100% rename from test/samples/objects/dispatch_action_configuration_basic.json rename to python/test/samples/objects/dispatch_action_configuration_basic.json diff --git a/test/samples/objects/input_parameter_basic.json b/python/test/samples/objects/input_parameter_basic.json similarity index 100% rename from test/samples/objects/input_parameter_basic.json rename to python/test/samples/objects/input_parameter_basic.json diff --git a/test/samples/objects/option_basic.json b/python/test/samples/objects/option_basic.json similarity index 100% rename from test/samples/objects/option_basic.json rename to python/test/samples/objects/option_basic.json diff --git a/test/samples/objects/option_group_basic.json b/python/test/samples/objects/option_group_basic.json similarity index 100% rename from test/samples/objects/option_group_basic.json rename to python/test/samples/objects/option_group_basic.json diff --git a/test/samples/objects/text_markdown_basic.json b/python/test/samples/objects/text_markdown_basic.json similarity index 100% rename from test/samples/objects/text_markdown_basic.json rename to python/test/samples/objects/text_markdown_basic.json diff --git a/test/samples/objects/text_markdown_verbatim.json b/python/test/samples/objects/text_markdown_verbatim.json similarity index 100% rename from test/samples/objects/text_markdown_verbatim.json rename to python/test/samples/objects/text_markdown_verbatim.json diff --git a/test/samples/objects/text_plaintext_basic.json b/python/test/samples/objects/text_plaintext_basic.json similarity index 100% rename from test/samples/objects/text_plaintext_basic.json rename to python/test/samples/objects/text_plaintext_basic.json diff --git a/test/samples/objects/text_plaintext_emoji.json b/python/test/samples/objects/text_plaintext_emoji.json similarity index 100% rename from test/samples/objects/text_plaintext_emoji.json rename to python/test/samples/objects/text_plaintext_emoji.json diff --git a/test/samples/objects/trigger_basic.json b/python/test/samples/objects/trigger_basic.json similarity index 100% rename from test/samples/objects/trigger_basic.json rename to python/test/samples/objects/trigger_basic.json diff --git a/test/samples/objects/workflow_basic.json b/python/test/samples/objects/workflow_basic.json similarity index 100% rename from test/samples/objects/workflow_basic.json rename to python/test/samples/objects/workflow_basic.json diff --git a/test/samples/rich_text/rich_text_basic.json b/python/test/samples/rich_text/rich_text_basic.json similarity index 100% rename from test/samples/rich_text/rich_text_basic.json rename to python/test/samples/rich_text/rich_text_basic.json diff --git a/test/samples/rich_text/rich_text_channel_basic.json b/python/test/samples/rich_text/rich_text_channel_basic.json similarity index 100% rename from test/samples/rich_text/rich_text_channel_basic.json rename to python/test/samples/rich_text/rich_text_channel_basic.json diff --git a/test/samples/rich_text/rich_text_code_block_basic.json b/python/test/samples/rich_text/rich_text_code_block_basic.json similarity index 100% rename from test/samples/rich_text/rich_text_code_block_basic.json rename to python/test/samples/rich_text/rich_text_code_block_basic.json diff --git a/test/samples/rich_text/rich_text_emoji_basic.json b/python/test/samples/rich_text/rich_text_emoji_basic.json similarity index 100% rename from test/samples/rich_text/rich_text_emoji_basic.json rename to python/test/samples/rich_text/rich_text_emoji_basic.json diff --git a/test/samples/rich_text/rich_text_link_basic.json b/python/test/samples/rich_text/rich_text_link_basic.json similarity index 100% rename from test/samples/rich_text/rich_text_link_basic.json rename to python/test/samples/rich_text/rich_text_link_basic.json diff --git a/test/samples/rich_text/rich_text_list_basic.json b/python/test/samples/rich_text/rich_text_list_basic.json similarity index 100% rename from test/samples/rich_text/rich_text_list_basic.json rename to python/test/samples/rich_text/rich_text_list_basic.json diff --git a/test/samples/rich_text/rich_text_list_ordered.json b/python/test/samples/rich_text/rich_text_list_ordered.json similarity index 100% rename from test/samples/rich_text/rich_text_list_ordered.json rename to python/test/samples/rich_text/rich_text_list_ordered.json diff --git a/test/samples/rich_text/rich_text_quote_basic.json b/python/test/samples/rich_text/rich_text_quote_basic.json similarity index 100% rename from test/samples/rich_text/rich_text_quote_basic.json rename to python/test/samples/rich_text/rich_text_quote_basic.json diff --git a/test/samples/rich_text/rich_text_section_basic.json b/python/test/samples/rich_text/rich_text_section_basic.json similarity index 100% rename from test/samples/rich_text/rich_text_section_basic.json rename to python/test/samples/rich_text/rich_text_section_basic.json diff --git a/test/samples/rich_text/rich_text_user_basic.json b/python/test/samples/rich_text/rich_text_user_basic.json similarity index 100% rename from test/samples/rich_text/rich_text_user_basic.json rename to python/test/samples/rich_text/rich_text_user_basic.json diff --git a/test/samples/rich_text/rich_text_user_group_basic.json b/python/test/samples/rich_text/rich_text_user_group_basic.json similarity index 100% rename from test/samples/rich_text/rich_text_user_group_basic.json rename to python/test/samples/rich_text/rich_text_user_group_basic.json diff --git a/test/samples/views/hometab_view.json b/python/test/samples/views/hometab_view.json similarity index 100% rename from test/samples/views/hometab_view.json rename to python/test/samples/views/hometab_view.json diff --git a/test/samples/views/modal_with_blocks.json b/python/test/samples/views/modal_with_blocks.json similarity index 100% rename from test/samples/views/modal_with_blocks.json rename to python/test/samples/views/modal_with_blocks.json diff --git a/test/unit/__init__.py b/python/test/unit/__init__.py similarity index 100% rename from test/unit/__init__.py rename to python/test/unit/__init__.py diff --git a/test/unit/test_attachments.py b/python/test/unit/test_attachments.py similarity index 100% rename from test/unit/test_attachments.py rename to python/test/unit/test_attachments.py diff --git a/test/unit/test_blocks.py b/python/test/unit/test_blocks.py similarity index 100% rename from test/unit/test_blocks.py rename to python/test/unit/test_blocks.py diff --git a/test/unit/test_builder.py b/python/test/unit/test_builder.py similarity index 100% rename from test/unit/test_builder.py rename to python/test/unit/test_builder.py diff --git a/test/unit/test_core.py b/python/test/unit/test_core.py similarity index 100% rename from test/unit/test_core.py rename to python/test/unit/test_core.py diff --git a/test/unit/test_elements.py b/python/test/unit/test_elements.py similarity index 100% rename from test/unit/test_elements.py rename to python/test/unit/test_elements.py diff --git a/test/unit/test_errors.py b/python/test/unit/test_errors.py similarity index 100% rename from test/unit/test_errors.py rename to python/test/unit/test_errors.py diff --git a/test/unit/test_exports.py b/python/test/unit/test_exports.py similarity index 100% rename from test/unit/test_exports.py rename to python/test/unit/test_exports.py diff --git a/test/unit/test_from_dict.py b/python/test/unit/test_from_dict.py similarity index 100% rename from test/unit/test_from_dict.py rename to python/test/unit/test_from_dict.py diff --git a/test/unit/test_messages.py b/python/test/unit/test_messages.py similarity index 100% rename from test/unit/test_messages.py rename to python/test/unit/test_messages.py diff --git a/test/unit/test_objects.py b/python/test/unit/test_objects.py similarity index 100% rename from test/unit/test_objects.py rename to python/test/unit/test_objects.py diff --git a/test/unit/test_properties.py b/python/test/unit/test_properties.py similarity index 100% rename from test/unit/test_properties.py rename to python/test/unit/test_properties.py diff --git a/test/unit/test_rich_text.py b/python/test/unit/test_rich_text.py similarity index 100% rename from test/unit/test_rich_text.py rename to python/test/unit/test_rich_text.py diff --git a/test/unit/test_serializability.py b/python/test/unit/test_serializability.py similarity index 100% rename from test/unit/test_serializability.py rename to python/test/unit/test_serializability.py diff --git a/test/unit/test_utils.py b/python/test/unit/test_utils.py similarity index 100% rename from test/unit/test_utils.py rename to python/test/unit/test_utils.py diff --git a/test/unit/test_views.py b/python/test/unit/test_views.py similarity index 100% rename from test/unit/test_views.py rename to python/test/unit/test_views.py diff --git a/test/unit/utils.py b/python/test/unit/utils.py similarity index 100% rename from test/unit/utils.py rename to python/test/unit/utils.py diff --git a/uv.lock b/python/uv.lock similarity index 100% rename from uv.lock rename to python/uv.lock From a963e61edc28833e8d37b9820ae7c886fa45955f Mon Sep 17 00:00:00 2001 From: Nicholas Lambourne Date: Fri, 14 Aug 2026 02:53:22 +1000 Subject: [PATCH 02/23] test: establish shared conformance contract --- .github/workflows/ruff-format.yml | 4 +- .github/workflows/ruff-lint.yml | 4 +- .github/workflows/unit-tests.yml | 4 +- README.md | 3 +- python/conformance/skiplist.txt | 2 + python/slackblocks/blocks.py | 5 +- python/test/conformance/__init__.py | 1 + python/test/conformance/test_conformance.py | 143 ++++++ python/test/integration/test_integration.py | 7 +- python/test/unit/test_attachments.py | 8 +- python/test/unit/test_blocks.py | 40 +- python/test/unit/test_elements.py | 84 ++- python/test/unit/test_messages.py | 114 ++--- python/test/unit/test_objects.py | 44 +- python/test/unit/test_rich_text.py | 22 +- python/test/unit/test_views.py | 4 +- python/test/unit/utils.py | 27 +- spec/ADR.md | 18 + spec/CHANGELOG.md | 7 + spec/PRINCIPLES.md | 7 + spec/SPEC.md | 21 + spec/fixtures/invalid/manifest.json | 113 +++++ .../attachments/attachment_multi_block.json | 0 .../valid}/attachments/attachment_simple.json | 0 .../blocks/actions_block_checkboxes.json | 0 .../blocks/context_block_text_only.json | 0 .../valid}/blocks/divider_block_only.json | 0 .../valid}/blocks/file_block_only.json | 0 .../valid}/blocks/header_block_only.json | 0 .../valid}/blocks/image_block_only.json | 0 .../valid}/blocks/input_block_only.json | 0 .../valid}/blocks/markdown_block_basic.json | 0 .../valid}/blocks/rich_text_block_basic.json | 0 .../section_block_both_text_and_fields.json | 0 .../section_block_empty_text_field_value.json | 0 .../valid}/blocks/section_block_fields.json | 0 ...ion_block_single_field_value_coercion.json | 0 .../blocks/section_block_text_only.json | 0 .../fixtures/valid}/blocks/table_block.json | 0 .../valid}/blocks/video_block_basic.json | 0 .../valid}/blocks/video_block_full.json | 0 .../valid}/elements/button_basic.json | 0 .../fixtures/valid}/elements/button_link.json | 0 .../valid}/elements/button_style.json | 0 .../valid}/elements/checkbox_basic.json | 0 .../valid}/elements/date_picker_basic.json | 0 .../elements/datetime_picker_basic.json | 0 .../valid}/elements/email_input_basic.json | 0 .../fixtures/valid}/elements/image_basic.json | 0 .../valid}/elements/multi_select_channel.json | 0 .../elements/multi_select_conversation.json | 0 .../elements/multi_select_external.json | 0 .../valid}/elements/multi_select_static.json | 0 .../valid}/elements/multi_select_user.json | 0 .../multi_select_user_with_initial_users.json | 0 .../valid}/elements/number_input_basic.json | 0 .../valid}/elements/overflow_menu_basic.json | 0 .../elements/plaintext_input_basic.json | 0 .../elements/radio_button_group_basic.json | 0 .../elements/rich_text_input_basic.json | 0 .../valid}/elements/select_menu_channel.json | 0 .../elements/select_menu_conversation.json | 0 .../valid}/elements/select_menu_external.json | 0 .../valid}/elements/select_menu_static.json | 0 .../valid}/elements/select_menu_user.json | 0 .../valid}/elements/timepicker_basic.json | 0 .../valid}/elements/url_input_basic.json | 0 .../elements/workflow_button_basic.json | 0 .../valid}/messages/message_basic.json | 0 .../messages/message_basic_attachment.json | 0 .../valid}/messages/message_compound.json | 0 .../valid}/messages/message_response.json | 0 .../messages/message_with_attachments.json | 0 .../message_with_optional_arguments.json | 0 .../messages/webhook_message_basic.json | 0 .../messages/webhook_message_delete.json | 0 .../objects/confirmation_dialogue_basic.json | 0 .../objects/conversation_filter_basic.json | 0 .../dispatch_action_configuration_basic.json | 0 .../valid}/objects/input_parameter_basic.json | 0 .../fixtures/valid}/objects/option_basic.json | 0 .../valid}/objects/option_group_basic.json | 0 .../valid}/objects/text_markdown_basic.json | 0 .../objects/text_markdown_verbatim.json | 0 .../valid}/objects/text_plaintext_basic.json | 0 .../valid}/objects/text_plaintext_emoji.json | 0 .../valid}/objects/trigger_basic.json | 0 .../valid}/objects/workflow_basic.json | 0 .../valid}/rich_text/rich_text_basic.json | 0 .../rich_text/rich_text_channel_basic.json | 0 .../rich_text/rich_text_code_block_basic.json | 0 .../rich_text/rich_text_emoji_basic.json | 0 .../rich_text/rich_text_link_basic.json | 0 .../rich_text/rich_text_list_basic.json | 0 .../rich_text/rich_text_list_ordered.json | 0 .../rich_text/rich_text_quote_basic.json | 0 .../rich_text/rich_text_section_basic.json | 0 .../rich_text/rich_text_user_basic.json | 0 .../rich_text/rich_text_user_group_basic.json | 0 .../fixtures/valid}/views/hometab_view.json | 0 .../valid}/views/modal_with_blocks.json | 0 spec/limits.json | 63 +++ spec/manifest.json | 479 ++++++++++++++++++ spec/tools/parity.py | 67 +++ 104 files changed, 1087 insertions(+), 204 deletions(-) create mode 100644 python/conformance/skiplist.txt create mode 100644 python/test/conformance/__init__.py create mode 100644 python/test/conformance/test_conformance.py create mode 100644 spec/ADR.md create mode 100644 spec/CHANGELOG.md create mode 100644 spec/PRINCIPLES.md create mode 100644 spec/SPEC.md create mode 100644 spec/fixtures/invalid/manifest.json rename {python/test/samples => spec/fixtures/valid}/attachments/attachment_multi_block.json (100%) rename {python/test/samples => spec/fixtures/valid}/attachments/attachment_simple.json (100%) rename {python/test/samples => spec/fixtures/valid}/blocks/actions_block_checkboxes.json (100%) rename {python/test/samples => spec/fixtures/valid}/blocks/context_block_text_only.json (100%) rename {python/test/samples => spec/fixtures/valid}/blocks/divider_block_only.json (100%) rename {python/test/samples => spec/fixtures/valid}/blocks/file_block_only.json (100%) rename {python/test/samples => spec/fixtures/valid}/blocks/header_block_only.json (100%) rename {python/test/samples => spec/fixtures/valid}/blocks/image_block_only.json (100%) rename {python/test/samples => spec/fixtures/valid}/blocks/input_block_only.json (100%) rename {python/test/samples => spec/fixtures/valid}/blocks/markdown_block_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/blocks/rich_text_block_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/blocks/section_block_both_text_and_fields.json (100%) rename {python/test/samples => spec/fixtures/valid}/blocks/section_block_empty_text_field_value.json (100%) rename {python/test/samples => spec/fixtures/valid}/blocks/section_block_fields.json (100%) rename {python/test/samples => spec/fixtures/valid}/blocks/section_block_single_field_value_coercion.json (100%) rename {python/test/samples => spec/fixtures/valid}/blocks/section_block_text_only.json (100%) rename {python/test/samples => spec/fixtures/valid}/blocks/table_block.json (100%) rename {python/test/samples => spec/fixtures/valid}/blocks/video_block_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/blocks/video_block_full.json (100%) rename {python/test/samples => spec/fixtures/valid}/elements/button_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/elements/button_link.json (100%) rename {python/test/samples => spec/fixtures/valid}/elements/button_style.json (100%) rename {python/test/samples => spec/fixtures/valid}/elements/checkbox_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/elements/date_picker_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/elements/datetime_picker_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/elements/email_input_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/elements/image_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/elements/multi_select_channel.json (100%) rename {python/test/samples => spec/fixtures/valid}/elements/multi_select_conversation.json (100%) rename {python/test/samples => spec/fixtures/valid}/elements/multi_select_external.json (100%) rename {python/test/samples => spec/fixtures/valid}/elements/multi_select_static.json (100%) rename {python/test/samples => spec/fixtures/valid}/elements/multi_select_user.json (100%) rename {python/test/samples => spec/fixtures/valid}/elements/multi_select_user_with_initial_users.json (100%) rename {python/test/samples => spec/fixtures/valid}/elements/number_input_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/elements/overflow_menu_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/elements/plaintext_input_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/elements/radio_button_group_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/elements/rich_text_input_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/elements/select_menu_channel.json (100%) rename {python/test/samples => spec/fixtures/valid}/elements/select_menu_conversation.json (100%) rename {python/test/samples => spec/fixtures/valid}/elements/select_menu_external.json (100%) rename {python/test/samples => spec/fixtures/valid}/elements/select_menu_static.json (100%) rename {python/test/samples => spec/fixtures/valid}/elements/select_menu_user.json (100%) rename {python/test/samples => spec/fixtures/valid}/elements/timepicker_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/elements/url_input_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/elements/workflow_button_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/messages/message_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/messages/message_basic_attachment.json (100%) rename {python/test/samples => spec/fixtures/valid}/messages/message_compound.json (100%) rename {python/test/samples => spec/fixtures/valid}/messages/message_response.json (100%) rename {python/test/samples => spec/fixtures/valid}/messages/message_with_attachments.json (100%) rename {python/test/samples => spec/fixtures/valid}/messages/message_with_optional_arguments.json (100%) rename {python/test/samples => spec/fixtures/valid}/messages/webhook_message_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/messages/webhook_message_delete.json (100%) rename {python/test/samples => spec/fixtures/valid}/objects/confirmation_dialogue_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/objects/conversation_filter_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/objects/dispatch_action_configuration_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/objects/input_parameter_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/objects/option_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/objects/option_group_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/objects/text_markdown_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/objects/text_markdown_verbatim.json (100%) rename {python/test/samples => spec/fixtures/valid}/objects/text_plaintext_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/objects/text_plaintext_emoji.json (100%) rename {python/test/samples => spec/fixtures/valid}/objects/trigger_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/objects/workflow_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/rich_text/rich_text_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/rich_text/rich_text_channel_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/rich_text/rich_text_code_block_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/rich_text/rich_text_emoji_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/rich_text/rich_text_link_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/rich_text/rich_text_list_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/rich_text/rich_text_list_ordered.json (100%) rename {python/test/samples => spec/fixtures/valid}/rich_text/rich_text_quote_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/rich_text/rich_text_section_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/rich_text/rich_text_user_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/rich_text/rich_text_user_group_basic.json (100%) rename {python/test/samples => spec/fixtures/valid}/views/hometab_view.json (100%) rename {python/test/samples => spec/fixtures/valid}/views/modal_with_blocks.json (100%) create mode 100644 spec/limits.json create mode 100644 spec/manifest.json create mode 100644 spec/tools/parity.py diff --git a/.github/workflows/ruff-format.yml b/.github/workflows/ruff-format.yml index f58a0392..605a9fda 100644 --- a/.github/workflows/ruff-format.yml +++ b/.github/workflows/ruff-format.yml @@ -3,11 +3,13 @@ on: push: paths: - "python/**" + - "spec/tools/**" - ".github/workflows/ruff-format.yml" pull_request: branches: [master] paths: - "python/**" + - "spec/tools/**" - ".github/workflows/ruff-format.yml" concurrency: @@ -35,4 +37,4 @@ jobs: run: uv sync - name: Formatting - run: uv run ruff format --check . + run: uv run ruff format --check slackblocks test ../spec/tools diff --git a/.github/workflows/ruff-lint.yml b/.github/workflows/ruff-lint.yml index eef4a4fe..39f1f210 100644 --- a/.github/workflows/ruff-lint.yml +++ b/.github/workflows/ruff-lint.yml @@ -3,11 +3,13 @@ on: push: paths: - "python/**" + - "spec/tools/**" - ".github/workflows/ruff-lint.yml" pull_request: branches: [master] paths: - "python/**" + - "spec/tools/**" - ".github/workflows/ruff-lint.yml" concurrency: @@ -35,4 +37,4 @@ jobs: run: uv sync - name: Linting - run: uv run ruff check . + run: uv run ruff check slackblocks test ../spec/tools diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index 8e0c420b..f20200f5 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -3,11 +3,13 @@ on: push: paths: - "python/**" + - "spec/**" - ".github/workflows/unit-tests.yml" pull_request: branches: [master] paths: - "python/**" + - "spec/**" - ".github/workflows/unit-tests.yml" concurrency: @@ -42,4 +44,4 @@ jobs: run: uv sync - name: Test With pytest - run: uv run pytest test/unit + run: uv run pytest test/unit test/conformance diff --git a/README.md b/README.md index e90dd96c..77c56517 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ # slackblocks -This repository contains the Python `slackblocks` package in [`python/`](python/). +This repository contains the Python `slackblocks` package in [`python/`](python/) +and the language-neutral JSON conformance contract in [`spec/`](spec/). The workspace layout leaves room for additional language implementations while preserving the existing Python package and release history. diff --git a/python/conformance/skiplist.txt b/python/conformance/skiplist.txt new file mode 100644 index 00000000..0e492041 --- /dev/null +++ b/python/conformance/skiplist.txt @@ -0,0 +1,2 @@ +# One fixture or invalid-case ID per line, followed by a reason. +# Python conforms to every case in spec 1.0.0, so this list is intentionally empty. diff --git a/python/slackblocks/blocks.py b/python/slackblocks/blocks.py index 742e7ffd..3356ee01 100644 --- a/python/slackblocks/blocks.py +++ b/python/slackblocks/blocks.py @@ -351,10 +351,7 @@ class HeaderBlock(Block): def __init__(self, text: str | Text, block_id: str | None = None) -> None: super().__init__(type_=BlockType.HEADER, block_id=block_id) - if type(text) is Text: - self.text = text - else: - self.text = Text.to_text_nonnull(text=text, force_plaintext=True) + self.text = Text.to_text_nonnull(text=text, force_plaintext=True, max_length=150) def _resolve(self) -> dict[str, Any]: return resolve({**self._attributes(), "text": self.text}) diff --git a/python/test/conformance/__init__.py b/python/test/conformance/__init__.py new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/python/test/conformance/__init__.py @@ -0,0 +1 @@ + diff --git a/python/test/conformance/test_conformance.py b/python/test/conformance/test_conformance.py new file mode 100644 index 00000000..f761fb2d --- /dev/null +++ b/python/test/conformance/test_conformance.py @@ -0,0 +1,143 @@ +from __future__ import annotations + +import json +from pathlib import Path +from typing import TYPE_CHECKING + +import pytest + +from slackblocks import ( + Button, + ContextBlock, + DividerBlock, + FileInput, + HeaderBlock, + HomeTabView, + Image, + InputBlock, + LengthError, + MissingRequiredError, + MutualExclusivityError, + NumberInput, + Option, + OverflowMenu, + PlainText, + RangeError, + SectionBlock, + SlackFile, + StaticSelectMenu, + Text, + TypeMismatchError, +) +from slackblocks.errors import InvalidUsageError + +if TYPE_CHECKING: + from collections.abc import Callable + +REPO_ROOT = Path(__file__).resolve().parents[3] +SPEC_ROOT = REPO_ROOT / "spec" + + +def load_json(path: Path) -> dict: + return json.loads(path.read_text()) + + +def test_valid_manifest_covers_the_entire_fixture_corpus() -> None: + manifest = load_json(SPEC_ROOT / "manifest.json") + fixture_ids = {fixture["id"] for fixture in manifest["fixtures"]} + files = { + path.relative_to(SPEC_ROOT / "fixtures" / "valid").with_suffix("").as_posix() + for path in (SPEC_ROOT / "fixtures" / "valid").rglob("*.json") + } + assert manifest["spec_version"] == "1.0.0" + assert len(fixture_ids) == 79 + assert fixture_ids == files + + +def test_every_valid_fixture_is_exercised_by_a_python_construction_test() -> None: + manifest = load_json(SPEC_ROOT / "manifest.json") + test_source = "\n".join( + path.read_text() for path in (REPO_ROOT / "python" / "test").rglob("test_*.py") + ) + missing = [ + fixture["id"] + for fixture in manifest["fixtures"] + if f"{fixture['id']}.json" not in test_source + ] + assert missing == [] + + +def test_every_valid_fixture_contains_json() -> None: + manifest = load_json(SPEC_ROOT / "manifest.json") + for fixture in manifest["fixtures"]: + path = SPEC_ROOT / "fixtures" / "valid" / f"{fixture['id']}.json" + json.loads(path.read_text()) + + +def option(value: str = "a") -> Option: + return Option(text=PlainText("A"), value=value) + + +INVALID_CASES: dict[str, Callable[[], object]] = { + "text-empty": lambda: Text(""), + "text-too-long": lambda: Text("x" * 3001), + "section-missing-content": lambda: SectionBlock(), + "section-text-too-long": lambda: SectionBlock("x" * 3001), + "section-too-many-fields": lambda: SectionBlock(fields=["x"] * 11), + "section-field-too-long": lambda: SectionBlock(fields=["x" * 2001]), + "header-text-too-long": lambda: HeaderBlock("x" * 151), + "button-text-too-long": lambda: Button(text="x" * 76, action_id="a"), + "button-action-id-too-long": lambda: Button(text="A", action_id="x" * 256), + "option-value-too-long": lambda: option("x" * 76), + "overflow-too-many-options": lambda: OverflowMenu("a", [option(str(i)) for i in range(6)]), + "static-select-options-and-groups": lambda: StaticSelectMenu( + "a", + options=[option()], + option_groups=[object()], # type: ignore[list-item] + ), + "image-url-and-slack-file": lambda: Image( + image_url="https://example.com/image.png", slack_file=SlackFile(url=None, id="F123") + ), + "number-input-inverted-range": lambda: NumberInput( + is_decimal_allowed=True, min_value=2, max_value=1 + ), + "file-input-max-files-out-of-range": lambda: FileInput(action_id="a", max_files=11), + "context-invalid-element": lambda: ContextBlock(elements=[DividerBlock()]), + "input-invalid-element": lambda: InputBlock(label="Label", element=Button("A", "a")), + "view-missing-blocks": lambda: HomeTabView(blocks=[]), +} + +ERROR_CATEGORIES = { + LengthError: "length-exceeded", + RangeError: "out-of-range", + MutualExclusivityError: "mutually-exclusive", + TypeMismatchError: "type-mismatch", + MissingRequiredError: "missing-required", + InvalidUsageError: "invalid-usage", +} + + +@pytest.mark.parametrize( + ("case_id", "expected_category"), + [ + (case["id"], case["category"]) + for case in load_json(SPEC_ROOT / "fixtures" / "invalid" / "manifest.json")["cases"] + ], +) +def test_invalid_case_category(case_id: str, expected_category: str) -> None: + construction = INVALID_CASES[case_id] + with pytest.raises(InvalidUsageError) as caught: + construction() + category = next( + name for error_type, name in ERROR_CATEGORIES.items() if type(caught.value) is error_type + ) + assert category == expected_category + + +def test_python_skiplist_is_empty() -> None: + entries = [ + line + for line in (REPO_ROOT / "python" / "conformance" / "skiplist.txt").read_text().splitlines() + if line and not line.startswith("#") + ] + assert entries == [] diff --git a/python/test/integration/test_integration.py b/python/test/integration/test_integration.py index f53fe455..95709834 100644 --- a/python/test/integration/test_integration.py +++ b/python/test/integration/test_integration.py @@ -6,6 +6,7 @@ from slack_sdk import WebClient from slackblocks import Attachment, Color, ImageBlock, Message, SectionBlock +from test.unit.utils import fetch_sample def test_basic_attachment_message() -> None: @@ -20,8 +21,7 @@ def test_basic_attachment_message() -> None: client = WebClient(token=environ["SLACK_BOT_TOKEN"]) response = client.chat_postMessage(**message) assert response.status_code == 200 - with open("test/samples/message_basic_attachment.json") as expected: - assert repr(message) == expected.read() + assert repr(message) == fetch_sample("messages/message_basic_attachment.json") def test_compound_message() -> None: @@ -43,5 +43,4 @@ def test_compound_message() -> None: client = WebClient(token=environ["SLACK_BOT_TOKEN"]) response = client.chat_postMessage(**message) assert response.status_code == 200 - with open("test/samples/message_compound.json") as expected: - assert repr(message) == expected.read() + assert repr(message) == fetch_sample("messages/message_compound.json") diff --git a/python/test/unit/test_attachments.py b/python/test/unit/test_attachments.py index e203965b..18b0a227 100644 --- a/python/test/unit/test_attachments.py +++ b/python/test/unit/test_attachments.py @@ -2,17 +2,17 @@ from slackblocks import Attachment, Color, SectionBlock +from .utils import fetch_sample + def test_single_attachment() -> None: block = SectionBlock("I like pretty colours", block_id="fake_block_id") attachment = Attachment(blocks=block, color=Color.BLACK, fallback="Colours preference") - with open("test/samples/attachments/attachment_simple.json") as expected: - assert repr(attachment) == expected.read() + assert repr(attachment) == fetch_sample("attachments/attachment_simple.json") def test_multi_block_attachment() -> None: block_0 = SectionBlock("I like pretty colours", block_id="fake_block_id_0") block_1 = SectionBlock("I don't like pretty colours", block_id="fake_block_id_1") attachment = Attachment(blocks=[block_0, block_1], color=Color.PURPLE) - with open("test/samples/attachments/attachment_multi_block.json") as expected: - assert repr(attachment) == expected.read() + assert repr(attachment) == fetch_sample("attachments/attachment_multi_block.json") diff --git a/python/test/unit/test_blocks.py b/python/test/unit/test_blocks.py index faf6a521..db678b53 100644 --- a/python/test/unit/test_blocks.py +++ b/python/test/unit/test_blocks.py @@ -36,7 +36,7 @@ def test_basic_section_block() -> None: block = SectionBlock("Hello, world!", block_id="fake_block_id") - assert fetch_sample(path="test/samples/blocks/section_block_text_only.json") == repr(block) + assert fetch_sample(path="blocks/section_block_text_only.json") == repr(block) def test_basic_section_fields() -> None: @@ -45,7 +45,7 @@ def test_basic_section_fields() -> None: fields=[Text(text="foo", type_=TextType.PLAINTEXT), Text(text="bar")], block_id="fake_block_id", ) - assert fetch_sample(path="test/samples/blocks/section_block_fields.json") == repr(block) + assert fetch_sample(path="blocks/section_block_fields.json") == repr(block) def test_section_empty_text_field_value() -> None: @@ -56,9 +56,7 @@ def test_section_empty_text_field_value() -> None: Text("Strung", type_=TextType.PLAINTEXT, emoji=True), ], ) - assert fetch_sample( - path="test/samples/blocks/section_block_empty_text_field_value.json" - ) == repr(block) + assert fetch_sample(path="blocks/section_block_empty_text_field_value.json") == repr(block) def test_section_neither_fields_nor_text() -> None: @@ -85,9 +83,7 @@ def test_section_single_field_value_coercion() -> None: block_id="fake_block_id", fields="Lowly", ) - assert fetch_sample( - path="test/samples/blocks/section_block_single_field_value_coercion.json" - ) == repr(block) + assert fetch_sample(path="blocks/section_block_single_field_value_coercion.json") == repr(block) def test_section_both_text_and_fields() -> None: @@ -99,19 +95,17 @@ def test_section_both_text_and_fields() -> None: Text("There?", type_=TextType.PLAINTEXT, emoji=True), ], ) - assert fetch_sample(path="test/samples/blocks/section_block_both_text_and_fields.json") == repr( - block - ) + assert fetch_sample(path="blocks/section_block_both_text_and_fields.json") == repr(block) def test_basic_context_block() -> None: block = ContextBlock(elements=[Text("Hello, world!")], block_id="fake_block_id") - assert fetch_sample(path="test/samples/blocks/context_block_text_only.json") == repr(block) + assert fetch_sample(path="blocks/context_block_text_only.json") == repr(block) def test_basic_divider_block() -> None: block = DividerBlock(block_id="fake_block_id") - assert fetch_sample(path="test/samples/blocks/divider_block_only.json") == repr(block) + assert fetch_sample(path="blocks/divider_block_only.json") == repr(block) def test_basic_image_block() -> None: @@ -121,12 +115,12 @@ def test_basic_image_block() -> None: title="image1", block_id="fake_block_id", ) - assert fetch_sample(path="test/samples/blocks/image_block_only.json") == repr(block) + assert fetch_sample(path="blocks/image_block_only.json") == repr(block) def test_basic_header_block() -> None: block = HeaderBlock(text="AloHa!", block_id="fake_block_id") - assert fetch_sample(path="test/samples/blocks/header_block_only.json") == repr(block) + assert fetch_sample(path="blocks/header_block_only.json") == repr(block) def test_checkbox_action_block() -> None: @@ -139,7 +133,7 @@ def test_checkbox_action_block() -> None: block_id="fake_block_id", elements=CheckboxGroup(action_id="actionId-0", options=options), ) - assert fetch_sample(path="test/samples/blocks/actions_block_checkboxes.json") == repr(block) + assert fetch_sample(path="blocks/actions_block_checkboxes.json") == repr(block) def test_basic_input_block() -> None: @@ -150,7 +144,7 @@ def test_basic_input_block() -> None: block_id="fake_block_id", optional=True, ) - assert fetch_sample(path="test/samples/blocks/input_block_only.json") == repr(block) + assert fetch_sample(path="blocks/input_block_only.json") == repr(block) def test_input_block_invalid_element() -> None: @@ -174,7 +168,7 @@ def test_input_block_invalid_label_type() -> None: def test_basic_rich_text_block() -> None: - assert fetch_sample(path="test/samples/blocks/rich_text_block_basic.json") == repr( + assert fetch_sample(path="blocks/rich_text_block_basic.json") == repr( RichTextBlock( RichTextSection( [ @@ -229,7 +223,7 @@ def test_basic_table_block() -> None: ], ) # Add block_id to the sample as it is auto-generated - sample = json.loads(fetch_sample(path="test/samples/blocks/table_block.json")) + sample = json.loads(fetch_sample(path="blocks/table_block.json")) sample["block_id"] = block.block_id assert sample == json.loads(repr(block)) @@ -243,7 +237,7 @@ def test_basic_file_block() -> None: external_id="external_id", block_id="fake_block_id", ) - sample = json.loads(fetch_sample(path="test/samples/blocks/file_block_only.json")) + sample = json.loads(fetch_sample(path="blocks/file_block_only.json")) assert sample == json.loads(repr(block)) @@ -262,7 +256,7 @@ def test_file_block_block_id_is_optional() -> None: def test_markdown_block_basic() -> None: """``MarkdownBlock`` renders Slack's documented ``markdown`` block JSON.""" block = MarkdownBlock(text="**Hello**, _world_!", block_id="fake_block_id") - sample = json.loads(fetch_sample(path="test/samples/blocks/markdown_block_basic.json")) + sample = json.loads(fetch_sample(path="blocks/markdown_block_basic.json")) assert sample == json.loads(repr(block)) @@ -302,7 +296,7 @@ def test_video_block_basic() -> None: video_url="https://example.com/v.mp4", block_id="b1", ) - sample = json.loads(fetch_sample(path="test/samples/blocks/video_block_basic.json")) + sample = json.loads(fetch_sample(path="blocks/video_block_basic.json")) assert sample == json.loads(repr(block)) @@ -320,7 +314,7 @@ def test_video_block_full() -> None: title_url="https://example.com", block_id="video_1", ) - sample = json.loads(fetch_sample(path="test/samples/blocks/video_block_full.json")) + sample = json.loads(fetch_sample(path="blocks/video_block_full.json")) assert sample == json.loads(repr(block)) diff --git a/python/test/unit/test_elements.py b/python/test/unit/test_elements.py index ce9f2672..11ea0cd5 100644 --- a/python/test/unit/test_elements.py +++ b/python/test/unit/test_elements.py @@ -50,12 +50,12 @@ def test_button_basic() -> None: button = Button(text="Click Me", value="click_me", action_id="button") - assert fetch_sample(path="test/samples/elements/button_basic.json") == repr(button) + assert fetch_sample(path="elements/button_basic.json") == repr(button) def test_button_link() -> None: link_button = Button(text="Link!", url="https://ndl.im/", action_id="button") - assert fetch_sample(path="test/samples/elements/button_link.json") == repr(link_button) + assert fetch_sample(path="elements/button_link.json") == repr(link_button) def test_button_style() -> None: @@ -65,21 +65,21 @@ def test_button_style() -> None: value="im_a_style_button", action_id="button", ) - assert fetch_sample(path="test/samples/elements/button_style.json") == repr(style_button) + assert fetch_sample(path="elements/button_style.json") == repr(style_button) def test_checkbox_basic() -> None: checkbox = CheckboxGroup( options=TWO_OPTIONS, action_id="and...action", initial_options=OPTION_A ) - assert fetch_sample(path="test/samples/elements/checkbox_basic.json") == repr(checkbox) + assert fetch_sample(path="elements/checkbox_basic.json") == repr(checkbox) def test_datepicker_basic() -> None: datepicker = DatePicker( action_id="datepicker", initial_date="1970-01-01", placeholder="Pick a date" ) - assert fetch_sample(path="test/samples/elements/date_picker_basic.json") == repr(datepicker) + assert fetch_sample(path="elements/date_picker_basic.json") == repr(datepicker) def test_datepicker_without_initial_date() -> None: @@ -114,9 +114,7 @@ def test_datepicker_with_confirm_resolves() -> None: def test_datetime_picker_basic() -> None: datetime_picker = DateTimePicker(action_id="datetime_picker", initial_datetime=1628633830) - assert fetch_sample(path="test/samples/elements/datetime_picker_basic.json") == repr( - datetime_picker - ) + assert fetch_sample(path="elements/datetime_picker_basic.json") == repr(datetime_picker) def test_datetime_picker_without_initial_datetime() -> None: @@ -151,12 +149,12 @@ def test_datetime_picker_with_confirm_resolves() -> None: def test_email_input_basic() -> None: email_input = EmailInput(action_id="email_input", placeholder="Enter your email") - assert fetch_sample(path="test/samples/elements/email_input_basic.json") == repr(email_input) + assert fetch_sample(path="elements/email_input_basic.json") == repr(email_input) def test_image_basic() -> None: image = Image(image_url="https://ndl.im/img/logo.png", alt_text="Logo for ndl.im") - assert fetch_sample(path="test/samples/elements/image_basic.json") == repr(image) + assert fetch_sample(path="elements/image_basic.json") == repr(image) def test_image_with_slack_file_resolves() -> None: @@ -179,9 +177,7 @@ def test_multi_select_channel() -> None: action_id="multi_channels_select", placeholder=Text("Select channels", type_=TextType.PLAINTEXT), ) - assert fetch_sample(path="test/samples/elements/multi_select_channel.json") == repr( - multi_select_channel - ) + assert fetch_sample(path="elements/multi_select_channel.json") == repr(multi_select_channel) def test_multi_select_conversation() -> None: @@ -189,7 +185,7 @@ def test_multi_select_conversation() -> None: action_id="multi_conversations_select", placeholder=Text("Select conversations", type_=TextType.PLAINTEXT), ) - assert fetch_sample(path="test/samples/elements/multi_select_conversation.json") == repr( + assert fetch_sample(path="elements/multi_select_conversation.json") == repr( multi_select_conversation ) @@ -214,9 +210,7 @@ def test_multi_select_external() -> None: placeholder=Text("Select items", type_=TextType.PLAINTEXT), min_query_length=3, ) - assert fetch_sample(path="test/samples/elements/multi_select_external.json") == repr( - multi_select_external - ) + assert fetch_sample(path="elements/multi_select_external.json") == repr(multi_select_external) def test_multi_select_static() -> None: @@ -225,9 +219,7 @@ def test_multi_select_static() -> None: placeholder=Text("Select one or more", type_=TextType.PLAINTEXT), options=TWO_OPTIONS, ) - assert fetch_sample(path="test/samples/elements/multi_select_static.json") == repr( - multi_select_static - ) + assert fetch_sample(path="elements/multi_select_static.json") == repr(multi_select_static) def test_multi_select_static_invalid_option() -> None: @@ -290,9 +282,7 @@ def test_multi_select_user() -> None: action_id="multi_users_select", placeholder=Text("Select one or more users", type_=TextType.PLAINTEXT), ) - assert fetch_sample(path="test/samples/elements/multi_select_user.json") == repr( - multi_select_user - ) + assert fetch_sample(path="elements/multi_select_user.json") == repr(multi_select_user) def test_multi_select_user_with_initial_users() -> None: @@ -301,14 +291,14 @@ def test_multi_select_user_with_initial_users() -> None: placeholder=Text("Select one or more users", type_=TextType.PLAINTEXT), initial_users=["U064B5H1309", "U063JR973UP"], ) - assert fetch_sample( - path="test/samples/elements/multi_select_user_with_initial_users.json" - ) == repr(multi_select_user) + assert fetch_sample(path="elements/multi_select_user_with_initial_users.json") == repr( + multi_select_user + ) def test_number_input_basic() -> None: number_input = NumberInput(action_id="number_input", is_decimal_allowed=False) - assert fetch_sample(path="test/samples/elements/number_input_basic.json") == repr(number_input) + assert fetch_sample(path="elements/number_input_basic.json") == repr(number_input) def test_number_input_zero_min_value_emitted() -> None: @@ -341,43 +331,35 @@ def test_number_input_min_greater_than_max_error_message() -> None: def test_overflow_menu_basic() -> None: overflow_menu = OverflowMenu(options=THREE_OPTIONS, action_id="overflow") - assert fetch_sample(path="test/samples/elements/overflow_menu_basic.json") == repr( - overflow_menu - ) + assert fetch_sample(path="elements/overflow_menu_basic.json") == repr(overflow_menu) def test_plaintext_input_menu_basic() -> None: plaintext_input = PlainTextInput( action_id="plaintext_input", placeholder="Enter your plain text" ) - assert fetch_sample(path="test/samples/elements/plaintext_input_basic.json") == repr( - plaintext_input - ) + assert fetch_sample(path="elements/plaintext_input_basic.json") == repr(plaintext_input) def test_radio_button_group_basic() -> None: radio_button_group = RadioButtonGroup( action_id="radio_buttons", initial_option=OPTION_A, options=THREE_OPTIONS ) - assert fetch_sample(path="test/samples/elements/radio_button_group_basic.json") == repr( - radio_button_group - ) + assert fetch_sample(path="elements/radio_button_group_basic.json") == repr(radio_button_group) def test_select_menu_channel() -> None: select_menu_channel = ChannelSelectMenu( action_id="channels_select", placeholder="Select a channel" ) - assert fetch_sample(path="test/samples/elements/select_menu_channel.json") == repr( - select_menu_channel - ) + assert fetch_sample(path="elements/select_menu_channel.json") == repr(select_menu_channel) def test_select_menu_conversation() -> None: select_menu_conversation = ConversationSelectMenu( action_id="conversations_select", placeholder="Select one conversation" ) - assert fetch_sample(path="test/samples/elements/select_menu_conversation.json") == repr( + assert fetch_sample(path="elements/select_menu_conversation.json") == repr( select_menu_conversation ) @@ -404,18 +386,14 @@ def test_select_menu_external() -> None: select_menu_external = ExternalSelectMenu( action_id="external_select", placeholder="Select one item", min_query_length=4 ) - assert fetch_sample(path="test/samples/elements/select_menu_external.json") == repr( - select_menu_external - ) + assert fetch_sample(path="elements/select_menu_external.json") == repr(select_menu_external) def test_select_menu_static() -> None: select_menu_static = StaticSelectMenu( action_id="static_select", placeholder="Select one item", options=THREE_OPTIONS ) - assert fetch_sample(path="test/samples/elements/select_menu_static.json") == repr( - select_menu_static - ) + assert fetch_sample(path="elements/select_menu_static.json") == repr(select_menu_static) def test_select_menu_static_invalid_option() -> None: @@ -429,9 +407,7 @@ def test_select_menu_static_invalid_option() -> None: def test_select_menu_user() -> None: select_menu_user = UserSelectMenu(action_id="users_select", placeholder="Select one user") - assert fetch_sample(path="test/samples/elements/select_menu_user.json") == repr( - select_menu_user - ) + assert fetch_sample(path="elements/select_menu_user.json") == repr(select_menu_user) def test_timepicker_basic() -> None: @@ -441,7 +417,7 @@ def test_timepicker_basic() -> None: initial_time="12:00", placeholder="Select your time", ) - assert fetch_sample(path="test/samples/elements/timepicker_basic.json") == repr(timepicker) + assert fetch_sample(path="elements/timepicker_basic.json") == repr(timepicker) def test_timepicker_with_confirm_resolves() -> None: @@ -465,7 +441,7 @@ def test_timepicker_with_confirm_resolves() -> None: def test_url_input_basic() -> None: url_input = URLInput(action_id="url_text_input") - assert fetch_sample(path="test/samples/elements/url_input_basic.json") == repr(url_input) + assert fetch_sample(path="elements/url_input_basic.json") == repr(url_input) def test_url_input_with_placeholder_resolves() -> None: @@ -498,13 +474,11 @@ def test_workflow_button_basic() -> None: ) ), ) - assert fetch_sample(path="test/samples/elements/workflow_button_basic.json") == repr( - workflow_button - ) + assert fetch_sample(path="elements/workflow_button_basic.json") == repr(workflow_button) def test_rich_text_input_basic() -> None: - assert fetch_sample(path="test/samples/elements/rich_text_input_basic.json") == repr( + assert fetch_sample(path="elements/rich_text_input_basic.json") == repr( RichTextInput( action_id="action_id", initial_value=RichText("I'm rich"), diff --git a/python/test/unit/test_messages.py b/python/test/unit/test_messages.py index 3dc97285..b7172dd1 100644 --- a/python/test/unit/test_messages.py +++ b/python/test/unit/test_messages.py @@ -11,12 +11,13 @@ WebhookMessage, ) +from .utils import fetch_sample + def test_basic_message() -> None: block = SectionBlock("Hello, world!", block_id="fake_block_id") message = Message(channel="#slackblocks", blocks=block) - with open("test/samples/messages/message_basic.json") as expected: - assert repr(message) == expected.read() + assert repr(message) == fetch_sample("messages/message_basic.json") def test_message_with_optional_arguments() -> None: @@ -27,8 +28,7 @@ def test_message_with_optional_arguments() -> None: unfurl_links=False, unfurl_media=False, ) - with open("test/samples/messages/message_with_optional_arguments.json") as expected: - assert repr(message) == expected.read() + assert repr(message) == fetch_sample("messages/message_with_optional_arguments.json") def test_message_with_attachment() -> None: @@ -40,15 +40,13 @@ def test_message_with_attachment() -> None: attachment, ], ) - with open("test/samples/messages/message_with_attachments.json") as expected: - assert repr(message) == expected.read() + assert repr(message) == fetch_sample("messages/message_with_attachments.json") def test_message_response() -> None: block = SectionBlock("Hello, world!", block_id="fake_block_id") message = MessageResponse(blocks=block, ephemeral=True) - with open("test/samples/messages/message_response.json") as expected: - assert repr(message) == expected.read() + assert repr(message) == fetch_sample("messages/message_response.json") def test_to_dict() -> None: @@ -70,66 +68,58 @@ def test_to_dict() -> None: def test_basic_webhook_message() -> None: - with open("test/samples/messages/webhook_message_basic.json") as expected: - assert ( - repr( - WebhookMessage( - blocks=[ - SectionBlock( - Text("You wouldn't do ol' Hook in now, would you, lad?"), - block_id="fake_block_id", - ), - SectionBlock( - Text("Well, all right... if you... say you're a codfish."), - block_id="fake_block_id", - ), - ], - response_type=ResponseType.EPHEMERAL, - replace_original=True, - unfurl_links=False, - unfurl_media=False, - metadata={ - "sender": "Walt", - }, - ) - ) - == expected.read() + assert repr( + WebhookMessage( + blocks=[ + SectionBlock( + Text("You wouldn't do ol' Hook in now, would you, lad?"), + block_id="fake_block_id", + ), + SectionBlock( + Text("Well, all right... if you... say you're a codfish."), + block_id="fake_block_id", + ), + ], + response_type=ResponseType.EPHEMERAL, + replace_original=True, + unfurl_links=False, + unfurl_media=False, + metadata={ + "sender": "Walt", + }, ) + ) == fetch_sample("messages/webhook_message_basic.json") def test_webhook_message_delete() -> None: - with open("test/samples/messages/webhook_message_delete.json") as expected: - assert ( - repr( - WebhookMessage( - attachments=[ - Attachment( - blocks=[ - SectionBlock( - Text("I'M A CODFISH!"), - block_id="fake_block_id", - ) - ] - ) - ], + assert repr( + WebhookMessage( + attachments=[ + Attachment( blocks=[ SectionBlock( - Text("I'm a codfish."), + Text("I'M A CODFISH!"), block_id="fake_block_id", - ), - SectionBlock( - Text("Louder!"), - block_id="fake_block_id", - ), - ], - response_type="in_channel", - delete_original=True, - unfurl_links=True, - unfurl_media=True, - metadata={ - "sender": "Walt", - }, + ) + ] ) - ) - == expected.read() + ], + blocks=[ + SectionBlock( + Text("I'm a codfish."), + block_id="fake_block_id", + ), + SectionBlock( + Text("Louder!"), + block_id="fake_block_id", + ), + ], + response_type="in_channel", + delete_original=True, + unfurl_links=True, + unfurl_media=True, + metadata={ + "sender": "Walt", + }, ) + ) == fetch_sample("messages/webhook_message_delete.json") diff --git a/python/test/unit/test_objects.py b/python/test/unit/test_objects.py index 64d72b81..4c6f140a 100644 --- a/python/test/unit/test_objects.py +++ b/python/test/unit/test_objects.py @@ -34,36 +34,32 @@ def test_text_basic() -> None: - assert fetch_sample(path="test/samples/objects/text_plaintext_basic.json") == repr( + assert fetch_sample(path="objects/text_plaintext_basic.json") == repr( Text(text="hi", type_=TextType.PLAINTEXT) ) - assert fetch_sample(path="test/samples/objects/text_markdown_basic.json") == repr( + assert fetch_sample(path="objects/text_markdown_basic.json") == repr( Text(text="hi", type_=TextType.MARKDOWN) ) def test_text_plaintext_emoji() -> None: - assert fetch_sample(path="test/samples/objects/text_plaintext_emoji.json") == repr( + assert fetch_sample(path="objects/text_plaintext_emoji.json") == repr( Text(text="hi", type_=TextType.PLAINTEXT, emoji=True) ) def test_text_markdown_verbatim() -> None: - assert fetch_sample(path="test/samples/objects/text_markdown_verbatim.json") == repr( + assert fetch_sample(path="objects/text_markdown_verbatim.json") == repr( Text(text="hi", type_=TextType.MARKDOWN, verbatim=True) ) def test_text_coerce_from_string() -> None: - assert fetch_sample(path="test/samples/objects/text_markdown_basic.json") == repr( - Text.to_text("hi") - ) + assert fetch_sample(path="objects/text_markdown_basic.json") == repr(Text.to_text("hi")) def test_text_coerce_from_text() -> None: - assert fetch_sample(path="test/samples/objects/text_markdown_basic.json") == repr( - Text.to_text(Text("hi")) - ) + assert fetch_sample(path="objects/text_markdown_basic.json") == repr(Text.to_text(Text("hi"))) def test_text_allow_none() -> None: @@ -92,7 +88,7 @@ def test_confirmation_dialogue_basic() -> None: confirm=Text("Yes", type_=TextType.PLAINTEXT), deny=Text("Nope!", type_=TextType.PLAINTEXT), ) - assert fetch_sample(path="test/samples/objects/confirmation_dialogue_basic.json") == repr( + assert fetch_sample(path="objects/confirmation_dialogue_basic.json") == repr( confirmation_dialogue ) @@ -107,9 +103,7 @@ def test_confirm_alias_equivalent_to_confirmation_dialogue() -> None: confirm=Text("Yes", type_=TextType.PLAINTEXT), deny=Text("Nope!", type_=TextType.PLAINTEXT), ) - assert fetch_sample(path="test/samples/objects/confirmation_dialogue_basic.json") == repr( - confirm - ) + assert fetch_sample(path="objects/confirmation_dialogue_basic.json") == repr(confirm) def test_conversation_filter_basic() -> None: @@ -120,18 +114,16 @@ def test_conversation_filter_basic() -> None: ], exclude_bot_users=True, ) - assert fetch_sample(path="test/samples/objects/conversation_filter_basic.json") == repr( - conversation_filter - ) + assert fetch_sample(path="objects/conversation_filter_basic.json") == repr(conversation_filter) def test_dispatch_action_config_basic() -> None: dispatch_action_config = DispatchActionConfiguration( trigger_actions_on=["on_character_entered"] ) - assert fetch_sample( - path="test/samples/objects/dispatch_action_configuration_basic.json" - ) == repr(dispatch_action_config) + assert fetch_sample(path="objects/dispatch_action_configuration_basic.json") == repr( + dispatch_action_config + ) def test_dispatch_action_config_has_type_attribute() -> None: @@ -149,9 +141,7 @@ def test_input_parameter_basic() -> None: name="name", value="value", ) - assert fetch_sample(path="test/samples/objects/input_parameter_basic.json") == repr( - input_parameter - ) + assert fetch_sample(path="objects/input_parameter_basic.json") == repr(input_parameter) def test_option_basic() -> None: @@ -159,7 +149,7 @@ def test_option_basic() -> None: text=Text(text="Canberra", type_=TextType.PLAINTEXT), value="canberra", ) - assert fetch_sample(path="test/samples/objects/option_basic.json") == repr(option) + assert fetch_sample(path="objects/option_basic.json") == repr(option) def test_option_group_basic() -> None: @@ -167,7 +157,7 @@ def test_option_group_basic() -> None: label="Group A", options=THREE_OPTIONS, ) - assert fetch_sample(path="test/samples/objects/option_group_basic.json") == repr(option_group) + assert fetch_sample(path="objects/option_group_basic.json") == repr(option_group) def test_trigger_basic() -> None: @@ -175,7 +165,7 @@ def test_trigger_basic() -> None: url="https://slack.com/shortcuts/Ft012KXZK1MZ/8831723c452aac3e87c6d3219bebd44c", customizable_input_parameters=INPUT_PARAMETERS, ) - assert fetch_sample(path="test/samples/objects/trigger_basic.json") == repr(trigger) + assert fetch_sample(path="objects/trigger_basic.json") == repr(trigger) def test_workflow_basic() -> None: @@ -185,7 +175,7 @@ def test_workflow_basic() -> None: customizable_input_parameters=INPUT_PARAMETERS, ) ) - assert fetch_sample(path="test/samples/objects/workflow_basic.json") == repr(workflow) + assert fetch_sample(path="objects/workflow_basic.json") == repr(workflow) # -- PlainText / Markdown convenience aliases ----------------------------- diff --git a/python/test/unit/test_rich_text.py b/python/test/unit/test_rich_text.py index 0350a8f5..0c3c8bd4 100644 --- a/python/test/unit/test_rich_text.py +++ b/python/test/unit/test_rich_text.py @@ -18,7 +18,7 @@ def test_rich_text_channel_basic() -> None: - assert fetch_sample(path="test/samples/rich_text/rich_text_channel_basic.json") == repr( + assert fetch_sample(path="rich_text/rich_text_channel_basic.json") == repr( RichTextChannel( channel_id="C0261C65XNY", bold=True, @@ -32,7 +32,7 @@ def test_rich_text_channel_basic() -> None: def test_rich_text_emoji_basic() -> None: - assert fetch_sample(path="test/samples/rich_text/rich_text_emoji_basic.json") == repr( + assert fetch_sample(path="rich_text/rich_text_emoji_basic.json") == repr( RichTextEmoji( name="wave", ) @@ -40,7 +40,7 @@ def test_rich_text_emoji_basic() -> None: def test_rich_text_link_basic() -> None: - assert fetch_sample(path="test/samples/rich_text/rich_text_link_basic.json") == repr( + assert fetch_sample(path="rich_text/rich_text_link_basic.json") == repr( RichTextLink( url="https://google.com/", text="Google", @@ -54,7 +54,7 @@ def test_rich_text_link_basic() -> None: def test_rich_text_basic() -> None: - assert fetch_sample(path="test/samples/rich_text/rich_text_basic.json") == repr( + assert fetch_sample(path="rich_text/rich_text_basic.json") == repr( RichText( text="I am a bold rich text block!", bold=True, @@ -65,7 +65,7 @@ def test_rich_text_basic() -> None: def test_rich_text_user_basic() -> None: - assert fetch_sample(path="test/samples/rich_text/rich_text_user_basic.json") == repr( + assert fetch_sample(path="rich_text/rich_text_user_basic.json") == repr( RichTextUser( user_id="DR36TNNLA", bold=True, @@ -79,7 +79,7 @@ def test_rich_text_user_basic() -> None: def test_rich_text_user_group_basic() -> None: - assert fetch_sample(path="test/samples/rich_text/rich_text_user_group_basic.json") == repr( + assert fetch_sample(path="rich_text/rich_text_user_group_basic.json") == repr( RichTextUserGroup( user_group_id="C01RGRU0RUK", bold=True, @@ -101,7 +101,7 @@ def test_rich_text_user_group_basic() -> None: def test_rich_text_list_basic() -> None: - assert fetch_sample(path="test/samples/rich_text/rich_text_list_basic.json") == repr( + assert fetch_sample(path="rich_text/rich_text_list_basic.json") == repr( RichTextList( elements=[ RichTextSection( @@ -129,7 +129,7 @@ def test_rich_text_list_basic() -> None: def test_rich_text_list_ordered() -> None: - assert fetch_sample(path="test/samples/rich_text/rich_text_list_ordered.json") == repr( + assert fetch_sample(path="rich_text/rich_text_list_ordered.json") == repr( RichTextList( elements=[ RichTextSection( @@ -156,7 +156,7 @@ def test_rich_text_list_ordered() -> None: def test_rich_tex_code_block_basic() -> None: - assert fetch_sample(path="test/samples/rich_text/rich_text_code_block_basic.json") == repr( + assert fetch_sample(path="rich_text/rich_text_code_block_basic.json") == repr( RichTextCodeBlock( elements=[RichText(text="\ndef hello_world():\n print('hello, world')")], border=0, @@ -165,13 +165,13 @@ def test_rich_tex_code_block_basic() -> None: def test_rich_text_quote_basic() -> None: - assert fetch_sample(path="test/samples/rich_text/rich_text_quote_basic.json") == repr( + assert fetch_sample(path="rich_text/rich_text_quote_basic.json") == repr( RichTextQuote(elements=[RichText(text="Great and good are seldom the same man")], border=1), ) def test_rich_text_section() -> None: - assert fetch_sample(path="test/samples/rich_text/rich_text_section_basic.json") == repr( + assert fetch_sample(path="rich_text/rich_text_section_basic.json") == repr( RichTextSection( elements=[RichText(text="The only true wisdom is in knowing you know nothing")] ) diff --git a/python/test/unit/test_views.py b/python/test/unit/test_views.py index dd57743d..53a0f86e 100644 --- a/python/test/unit/test_views.py +++ b/python/test/unit/test_views.py @@ -17,12 +17,12 @@ def test_modal_with_blocks() -> None: SectionBlock(text="second section block", block_id="3"), ], ) - assert fetch_sample("test/samples/views/modal_with_blocks.json") == repr(modal) + assert fetch_sample("views/modal_with_blocks.json") == repr(modal) def test_hometab_view() -> None: view = HomeTabView(blocks=[SectionBlock(text="Example Block", block_id="fake_id")]) - assert fetch_sample("test/samples/views/hometab_view.json") == repr(view) + assert fetch_sample("views/hometab_view.json") == repr(view) def test_to_dict() -> None: diff --git a/python/test/unit/utils.py b/python/test/unit/utils.py index 9ac093e1..dfc81076 100644 --- a/python/test/unit/utils.py +++ b/python/test/unit/utils.py @@ -1,11 +1,23 @@ -from __future__ import annotations - -from typing import TYPE_CHECKING +from pathlib import Path from slackblocks.objects import Option, Text, TextType -if TYPE_CHECKING: - from pathlib import Path +SPEC_ROOT = Path(__file__).resolve().parents[3] / "spec" +VALID_FIXTURES = SPEC_ROOT / "fixtures" / "valid" + + +class CanonicalJSON(str): + """Fixture text whose equality follows the spec's semantic JSON contract.""" + + __hash__ = None # type: ignore[assignment] + + def __eq__(self, other: object) -> bool: + if not isinstance(other, str): + return NotImplemented + from json import loads + + return loads(self) == loads(other) + OPTION_A = Option(text=Text("A", type_=TextType.PLAINTEXT), value="A") OPTION_B = Option(text=Text("B", type_=TextType.PLAINTEXT), value="B") @@ -16,6 +28,5 @@ ] -def fetch_sample(path: Path | str) -> str: - with open(path) as file_: - return file_.read() +def fetch_sample(path: Path | str) -> CanonicalJSON: + return CanonicalJSON((VALID_FIXTURES / path).read_text()) diff --git a/spec/ADR.md b/spec/ADR.md new file mode 100644 index 00000000..57e81588 --- /dev/null +++ b/spec/ADR.md @@ -0,0 +1,18 @@ +# ADR 0001: spec-as-tests, idiomatic implementations + +- **Status:** accepted +- **Date:** 2026-08-12 + +## Context + +slackblocks now supports Python and TypeScript. Their public APIs should follow each language's conventions, while users must receive the same Slack JSON and validation outcomes. + +## Decision + +Keep both implementations handwritten in one monorepo. Treat the versioned JSON corpus, invalid-case categories, and limits registry in `spec/` as the shared contract. Each language owns a conformance harness and checked-in skip list. Releases and semantic versions remain independent and declare the spec version they implement. + +Do not generate public APIs. Reconsider generated internal constants only if at least three maintained languages make scalar drift costly. + +## Consequences + +Feature changes land atomically across the spec and implementations, or as an explicit skip. API names and construction patterns may differ. The monorepo keeps the docs build and corpus updates local, at the cost of ecosystem-specific tooling in one repository. diff --git a/spec/CHANGELOG.md b/spec/CHANGELOG.md new file mode 100644 index 00000000..17848507 --- /dev/null +++ b/spec/CHANGELOG.md @@ -0,0 +1,7 @@ +# Spec changelog + +## 1.0.0 - 2026-08-12 + +- Promote the 79 existing Python golden fixtures into the shared valid corpus. +- Define the cross-language validation categories and seed invalid cases. +- Publish a shared scalar limits registry. diff --git a/spec/PRINCIPLES.md b/spec/PRINCIPLES.md new file mode 100644 index 00000000..23b1a90f --- /dev/null +++ b/spec/PRINCIPLES.md @@ -0,0 +1,7 @@ +# slackblocks implementation principles + +1. Idiomatic APIs take priority over uniform APIs. Names, casing, and construction patterns may differ by language. +2. Serialized output must be semantically identical for every shared valid fixture. +3. Validation outcomes must agree on rejection and error category; concrete error types and messages are language-specific. +4. Feature gaps must be explicit in a checked-in conformance skip list. +5. Every implementation must declare the spec version it conforms to. diff --git a/spec/SPEC.md b/spec/SPEC.md new file mode 100644 index 00000000..343020a3 --- /dev/null +++ b/spec/SPEC.md @@ -0,0 +1,21 @@ +# slackblocks conformance specification + +Version 1.0.0 defines the language-neutral contract for slackblocks implementations. + +## Valid fixtures + +`fixtures/valid/` contains canonical Slack Block Kit JSON. Every entry in `manifest.json` must be constructed through an implementation's public API and compared as parsed JSON. Object key order and whitespace are not significant; array order and values are significant. + +## Invalid cases + +`fixtures/invalid/manifest.json` names invalid constructions and their required error category. Each language owns the code that attempts the construction. Implementations may use language-native error types and messages. + +The normative categories are `length-exceeded`, `out-of-range`, `mutually-exclusive`, `type-mismatch`, `missing-required`, and `invalid-usage`. + +## Coverage and skips + +Each implementation must either exercise every valid fixture and invalid case or list its ID in `conformance/skiplist.txt` with a reason. Conformance fails for unknown entries, unlisted failures, and stale skips that now pass. + +## Limits + +`limits.json` is the shared registry for stable scalar constraints. Changes to limits and fixtures must land atomically with implementation updates or explicit skip-list entries. diff --git a/spec/fixtures/invalid/manifest.json b/spec/fixtures/invalid/manifest.json new file mode 100644 index 00000000..89831de8 --- /dev/null +++ b/spec/fixtures/invalid/manifest.json @@ -0,0 +1,113 @@ +{ + "spec_version": "1.0.0", + "cases": [ + { + "id": "text-empty", + "category": "length-exceeded", + "constraint": "text.min_length", + "description": "A text object with an empty value must be rejected" + }, + { + "id": "text-too-long", + "category": "length-exceeded", + "constraint": "text.max_length", + "description": "A text object longer than 3000 characters must be rejected" + }, + { + "id": "section-missing-content", + "category": "missing-required", + "constraint": "section.content", + "description": "A section with neither text nor fields must be rejected" + }, + { + "id": "section-text-too-long", + "category": "length-exceeded", + "constraint": "section.text.max_length", + "description": "Section text longer than 3000 characters must be rejected" + }, + { + "id": "section-too-many-fields", + "category": "length-exceeded", + "constraint": "section.fields.max_items", + "description": "A section with more than 10 fields must be rejected" + }, + { + "id": "section-field-too-long", + "category": "length-exceeded", + "constraint": "section.fields.item_max_length", + "description": "A section field longer than 2000 characters must be rejected" + }, + { + "id": "header-text-too-long", + "category": "length-exceeded", + "constraint": "header.text.max_length", + "description": "Header text longer than 150 characters must be rejected" + }, + { + "id": "button-text-too-long", + "category": "length-exceeded", + "constraint": "button.text.max_length", + "description": "Button text longer than 75 characters must be rejected" + }, + { + "id": "button-action-id-too-long", + "category": "length-exceeded", + "constraint": "action_id.max_length", + "description": "An action ID longer than 255 characters must be rejected" + }, + { + "id": "option-value-too-long", + "category": "length-exceeded", + "constraint": "option.value.max_length", + "description": "An option value longer than 75 characters must be rejected" + }, + { + "id": "overflow-too-many-options", + "category": "length-exceeded", + "constraint": "overflow.options.max_items", + "description": "An overflow menu with more than five options must be rejected" + }, + { + "id": "static-select-options-and-groups", + "category": "mutually-exclusive", + "constraint": "static_select.choice_source", + "description": "A static select cannot define options and option groups together" + }, + { + "id": "image-url-and-slack-file", + "category": "mutually-exclusive", + "constraint": "image.source", + "description": "An image element cannot define an image URL and Slack file together" + }, + { + "id": "number-input-inverted-range", + "category": "out-of-range", + "constraint": "number_input.range", + "description": "A number input minimum cannot exceed its maximum" + }, + { + "id": "file-input-max-files-out-of-range", + "category": "out-of-range", + "constraint": "file_input.max_files", + "description": "File input max files must be between 1 and 10" + }, + { + "id": "context-invalid-element", + "category": "type-mismatch", + "constraint": "context.elements", + "description": "A context block may contain only text and image elements" + }, + { + "id": "input-invalid-element", + "category": "type-mismatch", + "constraint": "input.element", + "description": "An input block must contain an input-compatible element" + }, + { + "id": "view-missing-blocks", + "category": "length-exceeded", + "constraint": "view.blocks.min_items", + "description": "A view must contain at least one block" + } + ] +} diff --git a/python/test/samples/attachments/attachment_multi_block.json b/spec/fixtures/valid/attachments/attachment_multi_block.json similarity index 100% rename from python/test/samples/attachments/attachment_multi_block.json rename to spec/fixtures/valid/attachments/attachment_multi_block.json diff --git a/python/test/samples/attachments/attachment_simple.json b/spec/fixtures/valid/attachments/attachment_simple.json similarity index 100% rename from python/test/samples/attachments/attachment_simple.json rename to spec/fixtures/valid/attachments/attachment_simple.json diff --git a/python/test/samples/blocks/actions_block_checkboxes.json b/spec/fixtures/valid/blocks/actions_block_checkboxes.json similarity index 100% rename from python/test/samples/blocks/actions_block_checkboxes.json rename to spec/fixtures/valid/blocks/actions_block_checkboxes.json diff --git a/python/test/samples/blocks/context_block_text_only.json b/spec/fixtures/valid/blocks/context_block_text_only.json similarity index 100% rename from python/test/samples/blocks/context_block_text_only.json rename to spec/fixtures/valid/blocks/context_block_text_only.json diff --git a/python/test/samples/blocks/divider_block_only.json b/spec/fixtures/valid/blocks/divider_block_only.json similarity index 100% rename from python/test/samples/blocks/divider_block_only.json rename to spec/fixtures/valid/blocks/divider_block_only.json diff --git a/python/test/samples/blocks/file_block_only.json b/spec/fixtures/valid/blocks/file_block_only.json similarity index 100% rename from python/test/samples/blocks/file_block_only.json rename to spec/fixtures/valid/blocks/file_block_only.json diff --git a/python/test/samples/blocks/header_block_only.json b/spec/fixtures/valid/blocks/header_block_only.json similarity index 100% rename from python/test/samples/blocks/header_block_only.json rename to spec/fixtures/valid/blocks/header_block_only.json diff --git a/python/test/samples/blocks/image_block_only.json b/spec/fixtures/valid/blocks/image_block_only.json similarity index 100% rename from python/test/samples/blocks/image_block_only.json rename to spec/fixtures/valid/blocks/image_block_only.json diff --git a/python/test/samples/blocks/input_block_only.json b/spec/fixtures/valid/blocks/input_block_only.json similarity index 100% rename from python/test/samples/blocks/input_block_only.json rename to spec/fixtures/valid/blocks/input_block_only.json diff --git a/python/test/samples/blocks/markdown_block_basic.json b/spec/fixtures/valid/blocks/markdown_block_basic.json similarity index 100% rename from python/test/samples/blocks/markdown_block_basic.json rename to spec/fixtures/valid/blocks/markdown_block_basic.json diff --git a/python/test/samples/blocks/rich_text_block_basic.json b/spec/fixtures/valid/blocks/rich_text_block_basic.json similarity index 100% rename from python/test/samples/blocks/rich_text_block_basic.json rename to spec/fixtures/valid/blocks/rich_text_block_basic.json diff --git a/python/test/samples/blocks/section_block_both_text_and_fields.json b/spec/fixtures/valid/blocks/section_block_both_text_and_fields.json similarity index 100% rename from python/test/samples/blocks/section_block_both_text_and_fields.json rename to spec/fixtures/valid/blocks/section_block_both_text_and_fields.json diff --git a/python/test/samples/blocks/section_block_empty_text_field_value.json b/spec/fixtures/valid/blocks/section_block_empty_text_field_value.json similarity index 100% rename from python/test/samples/blocks/section_block_empty_text_field_value.json rename to spec/fixtures/valid/blocks/section_block_empty_text_field_value.json diff --git a/python/test/samples/blocks/section_block_fields.json b/spec/fixtures/valid/blocks/section_block_fields.json similarity index 100% rename from python/test/samples/blocks/section_block_fields.json rename to spec/fixtures/valid/blocks/section_block_fields.json diff --git a/python/test/samples/blocks/section_block_single_field_value_coercion.json b/spec/fixtures/valid/blocks/section_block_single_field_value_coercion.json similarity index 100% rename from python/test/samples/blocks/section_block_single_field_value_coercion.json rename to spec/fixtures/valid/blocks/section_block_single_field_value_coercion.json diff --git a/python/test/samples/blocks/section_block_text_only.json b/spec/fixtures/valid/blocks/section_block_text_only.json similarity index 100% rename from python/test/samples/blocks/section_block_text_only.json rename to spec/fixtures/valid/blocks/section_block_text_only.json diff --git a/python/test/samples/blocks/table_block.json b/spec/fixtures/valid/blocks/table_block.json similarity index 100% rename from python/test/samples/blocks/table_block.json rename to spec/fixtures/valid/blocks/table_block.json diff --git a/python/test/samples/blocks/video_block_basic.json b/spec/fixtures/valid/blocks/video_block_basic.json similarity index 100% rename from python/test/samples/blocks/video_block_basic.json rename to spec/fixtures/valid/blocks/video_block_basic.json diff --git a/python/test/samples/blocks/video_block_full.json b/spec/fixtures/valid/blocks/video_block_full.json similarity index 100% rename from python/test/samples/blocks/video_block_full.json rename to spec/fixtures/valid/blocks/video_block_full.json diff --git a/python/test/samples/elements/button_basic.json b/spec/fixtures/valid/elements/button_basic.json similarity index 100% rename from python/test/samples/elements/button_basic.json rename to spec/fixtures/valid/elements/button_basic.json diff --git a/python/test/samples/elements/button_link.json b/spec/fixtures/valid/elements/button_link.json similarity index 100% rename from python/test/samples/elements/button_link.json rename to spec/fixtures/valid/elements/button_link.json diff --git a/python/test/samples/elements/button_style.json b/spec/fixtures/valid/elements/button_style.json similarity index 100% rename from python/test/samples/elements/button_style.json rename to spec/fixtures/valid/elements/button_style.json diff --git a/python/test/samples/elements/checkbox_basic.json b/spec/fixtures/valid/elements/checkbox_basic.json similarity index 100% rename from python/test/samples/elements/checkbox_basic.json rename to spec/fixtures/valid/elements/checkbox_basic.json diff --git a/python/test/samples/elements/date_picker_basic.json b/spec/fixtures/valid/elements/date_picker_basic.json similarity index 100% rename from python/test/samples/elements/date_picker_basic.json rename to spec/fixtures/valid/elements/date_picker_basic.json diff --git a/python/test/samples/elements/datetime_picker_basic.json b/spec/fixtures/valid/elements/datetime_picker_basic.json similarity index 100% rename from python/test/samples/elements/datetime_picker_basic.json rename to spec/fixtures/valid/elements/datetime_picker_basic.json diff --git a/python/test/samples/elements/email_input_basic.json b/spec/fixtures/valid/elements/email_input_basic.json similarity index 100% rename from python/test/samples/elements/email_input_basic.json rename to spec/fixtures/valid/elements/email_input_basic.json diff --git a/python/test/samples/elements/image_basic.json b/spec/fixtures/valid/elements/image_basic.json similarity index 100% rename from python/test/samples/elements/image_basic.json rename to spec/fixtures/valid/elements/image_basic.json diff --git a/python/test/samples/elements/multi_select_channel.json b/spec/fixtures/valid/elements/multi_select_channel.json similarity index 100% rename from python/test/samples/elements/multi_select_channel.json rename to spec/fixtures/valid/elements/multi_select_channel.json diff --git a/python/test/samples/elements/multi_select_conversation.json b/spec/fixtures/valid/elements/multi_select_conversation.json similarity index 100% rename from python/test/samples/elements/multi_select_conversation.json rename to spec/fixtures/valid/elements/multi_select_conversation.json diff --git a/python/test/samples/elements/multi_select_external.json b/spec/fixtures/valid/elements/multi_select_external.json similarity index 100% rename from python/test/samples/elements/multi_select_external.json rename to spec/fixtures/valid/elements/multi_select_external.json diff --git a/python/test/samples/elements/multi_select_static.json b/spec/fixtures/valid/elements/multi_select_static.json similarity index 100% rename from python/test/samples/elements/multi_select_static.json rename to spec/fixtures/valid/elements/multi_select_static.json diff --git a/python/test/samples/elements/multi_select_user.json b/spec/fixtures/valid/elements/multi_select_user.json similarity index 100% rename from python/test/samples/elements/multi_select_user.json rename to spec/fixtures/valid/elements/multi_select_user.json diff --git a/python/test/samples/elements/multi_select_user_with_initial_users.json b/spec/fixtures/valid/elements/multi_select_user_with_initial_users.json similarity index 100% rename from python/test/samples/elements/multi_select_user_with_initial_users.json rename to spec/fixtures/valid/elements/multi_select_user_with_initial_users.json diff --git a/python/test/samples/elements/number_input_basic.json b/spec/fixtures/valid/elements/number_input_basic.json similarity index 100% rename from python/test/samples/elements/number_input_basic.json rename to spec/fixtures/valid/elements/number_input_basic.json diff --git a/python/test/samples/elements/overflow_menu_basic.json b/spec/fixtures/valid/elements/overflow_menu_basic.json similarity index 100% rename from python/test/samples/elements/overflow_menu_basic.json rename to spec/fixtures/valid/elements/overflow_menu_basic.json diff --git a/python/test/samples/elements/plaintext_input_basic.json b/spec/fixtures/valid/elements/plaintext_input_basic.json similarity index 100% rename from python/test/samples/elements/plaintext_input_basic.json rename to spec/fixtures/valid/elements/plaintext_input_basic.json diff --git a/python/test/samples/elements/radio_button_group_basic.json b/spec/fixtures/valid/elements/radio_button_group_basic.json similarity index 100% rename from python/test/samples/elements/radio_button_group_basic.json rename to spec/fixtures/valid/elements/radio_button_group_basic.json diff --git a/python/test/samples/elements/rich_text_input_basic.json b/spec/fixtures/valid/elements/rich_text_input_basic.json similarity index 100% rename from python/test/samples/elements/rich_text_input_basic.json rename to spec/fixtures/valid/elements/rich_text_input_basic.json diff --git a/python/test/samples/elements/select_menu_channel.json b/spec/fixtures/valid/elements/select_menu_channel.json similarity index 100% rename from python/test/samples/elements/select_menu_channel.json rename to spec/fixtures/valid/elements/select_menu_channel.json diff --git a/python/test/samples/elements/select_menu_conversation.json b/spec/fixtures/valid/elements/select_menu_conversation.json similarity index 100% rename from python/test/samples/elements/select_menu_conversation.json rename to spec/fixtures/valid/elements/select_menu_conversation.json diff --git a/python/test/samples/elements/select_menu_external.json b/spec/fixtures/valid/elements/select_menu_external.json similarity index 100% rename from python/test/samples/elements/select_menu_external.json rename to spec/fixtures/valid/elements/select_menu_external.json diff --git a/python/test/samples/elements/select_menu_static.json b/spec/fixtures/valid/elements/select_menu_static.json similarity index 100% rename from python/test/samples/elements/select_menu_static.json rename to spec/fixtures/valid/elements/select_menu_static.json diff --git a/python/test/samples/elements/select_menu_user.json b/spec/fixtures/valid/elements/select_menu_user.json similarity index 100% rename from python/test/samples/elements/select_menu_user.json rename to spec/fixtures/valid/elements/select_menu_user.json diff --git a/python/test/samples/elements/timepicker_basic.json b/spec/fixtures/valid/elements/timepicker_basic.json similarity index 100% rename from python/test/samples/elements/timepicker_basic.json rename to spec/fixtures/valid/elements/timepicker_basic.json diff --git a/python/test/samples/elements/url_input_basic.json b/spec/fixtures/valid/elements/url_input_basic.json similarity index 100% rename from python/test/samples/elements/url_input_basic.json rename to spec/fixtures/valid/elements/url_input_basic.json diff --git a/python/test/samples/elements/workflow_button_basic.json b/spec/fixtures/valid/elements/workflow_button_basic.json similarity index 100% rename from python/test/samples/elements/workflow_button_basic.json rename to spec/fixtures/valid/elements/workflow_button_basic.json diff --git a/python/test/samples/messages/message_basic.json b/spec/fixtures/valid/messages/message_basic.json similarity index 100% rename from python/test/samples/messages/message_basic.json rename to spec/fixtures/valid/messages/message_basic.json diff --git a/python/test/samples/messages/message_basic_attachment.json b/spec/fixtures/valid/messages/message_basic_attachment.json similarity index 100% rename from python/test/samples/messages/message_basic_attachment.json rename to spec/fixtures/valid/messages/message_basic_attachment.json diff --git a/python/test/samples/messages/message_compound.json b/spec/fixtures/valid/messages/message_compound.json similarity index 100% rename from python/test/samples/messages/message_compound.json rename to spec/fixtures/valid/messages/message_compound.json diff --git a/python/test/samples/messages/message_response.json b/spec/fixtures/valid/messages/message_response.json similarity index 100% rename from python/test/samples/messages/message_response.json rename to spec/fixtures/valid/messages/message_response.json diff --git a/python/test/samples/messages/message_with_attachments.json b/spec/fixtures/valid/messages/message_with_attachments.json similarity index 100% rename from python/test/samples/messages/message_with_attachments.json rename to spec/fixtures/valid/messages/message_with_attachments.json diff --git a/python/test/samples/messages/message_with_optional_arguments.json b/spec/fixtures/valid/messages/message_with_optional_arguments.json similarity index 100% rename from python/test/samples/messages/message_with_optional_arguments.json rename to spec/fixtures/valid/messages/message_with_optional_arguments.json diff --git a/python/test/samples/messages/webhook_message_basic.json b/spec/fixtures/valid/messages/webhook_message_basic.json similarity index 100% rename from python/test/samples/messages/webhook_message_basic.json rename to spec/fixtures/valid/messages/webhook_message_basic.json diff --git a/python/test/samples/messages/webhook_message_delete.json b/spec/fixtures/valid/messages/webhook_message_delete.json similarity index 100% rename from python/test/samples/messages/webhook_message_delete.json rename to spec/fixtures/valid/messages/webhook_message_delete.json diff --git a/python/test/samples/objects/confirmation_dialogue_basic.json b/spec/fixtures/valid/objects/confirmation_dialogue_basic.json similarity index 100% rename from python/test/samples/objects/confirmation_dialogue_basic.json rename to spec/fixtures/valid/objects/confirmation_dialogue_basic.json diff --git a/python/test/samples/objects/conversation_filter_basic.json b/spec/fixtures/valid/objects/conversation_filter_basic.json similarity index 100% rename from python/test/samples/objects/conversation_filter_basic.json rename to spec/fixtures/valid/objects/conversation_filter_basic.json diff --git a/python/test/samples/objects/dispatch_action_configuration_basic.json b/spec/fixtures/valid/objects/dispatch_action_configuration_basic.json similarity index 100% rename from python/test/samples/objects/dispatch_action_configuration_basic.json rename to spec/fixtures/valid/objects/dispatch_action_configuration_basic.json diff --git a/python/test/samples/objects/input_parameter_basic.json b/spec/fixtures/valid/objects/input_parameter_basic.json similarity index 100% rename from python/test/samples/objects/input_parameter_basic.json rename to spec/fixtures/valid/objects/input_parameter_basic.json diff --git a/python/test/samples/objects/option_basic.json b/spec/fixtures/valid/objects/option_basic.json similarity index 100% rename from python/test/samples/objects/option_basic.json rename to spec/fixtures/valid/objects/option_basic.json diff --git a/python/test/samples/objects/option_group_basic.json b/spec/fixtures/valid/objects/option_group_basic.json similarity index 100% rename from python/test/samples/objects/option_group_basic.json rename to spec/fixtures/valid/objects/option_group_basic.json diff --git a/python/test/samples/objects/text_markdown_basic.json b/spec/fixtures/valid/objects/text_markdown_basic.json similarity index 100% rename from python/test/samples/objects/text_markdown_basic.json rename to spec/fixtures/valid/objects/text_markdown_basic.json diff --git a/python/test/samples/objects/text_markdown_verbatim.json b/spec/fixtures/valid/objects/text_markdown_verbatim.json similarity index 100% rename from python/test/samples/objects/text_markdown_verbatim.json rename to spec/fixtures/valid/objects/text_markdown_verbatim.json diff --git a/python/test/samples/objects/text_plaintext_basic.json b/spec/fixtures/valid/objects/text_plaintext_basic.json similarity index 100% rename from python/test/samples/objects/text_plaintext_basic.json rename to spec/fixtures/valid/objects/text_plaintext_basic.json diff --git a/python/test/samples/objects/text_plaintext_emoji.json b/spec/fixtures/valid/objects/text_plaintext_emoji.json similarity index 100% rename from python/test/samples/objects/text_plaintext_emoji.json rename to spec/fixtures/valid/objects/text_plaintext_emoji.json diff --git a/python/test/samples/objects/trigger_basic.json b/spec/fixtures/valid/objects/trigger_basic.json similarity index 100% rename from python/test/samples/objects/trigger_basic.json rename to spec/fixtures/valid/objects/trigger_basic.json diff --git a/python/test/samples/objects/workflow_basic.json b/spec/fixtures/valid/objects/workflow_basic.json similarity index 100% rename from python/test/samples/objects/workflow_basic.json rename to spec/fixtures/valid/objects/workflow_basic.json diff --git a/python/test/samples/rich_text/rich_text_basic.json b/spec/fixtures/valid/rich_text/rich_text_basic.json similarity index 100% rename from python/test/samples/rich_text/rich_text_basic.json rename to spec/fixtures/valid/rich_text/rich_text_basic.json diff --git a/python/test/samples/rich_text/rich_text_channel_basic.json b/spec/fixtures/valid/rich_text/rich_text_channel_basic.json similarity index 100% rename from python/test/samples/rich_text/rich_text_channel_basic.json rename to spec/fixtures/valid/rich_text/rich_text_channel_basic.json diff --git a/python/test/samples/rich_text/rich_text_code_block_basic.json b/spec/fixtures/valid/rich_text/rich_text_code_block_basic.json similarity index 100% rename from python/test/samples/rich_text/rich_text_code_block_basic.json rename to spec/fixtures/valid/rich_text/rich_text_code_block_basic.json diff --git a/python/test/samples/rich_text/rich_text_emoji_basic.json b/spec/fixtures/valid/rich_text/rich_text_emoji_basic.json similarity index 100% rename from python/test/samples/rich_text/rich_text_emoji_basic.json rename to spec/fixtures/valid/rich_text/rich_text_emoji_basic.json diff --git a/python/test/samples/rich_text/rich_text_link_basic.json b/spec/fixtures/valid/rich_text/rich_text_link_basic.json similarity index 100% rename from python/test/samples/rich_text/rich_text_link_basic.json rename to spec/fixtures/valid/rich_text/rich_text_link_basic.json diff --git a/python/test/samples/rich_text/rich_text_list_basic.json b/spec/fixtures/valid/rich_text/rich_text_list_basic.json similarity index 100% rename from python/test/samples/rich_text/rich_text_list_basic.json rename to spec/fixtures/valid/rich_text/rich_text_list_basic.json diff --git a/python/test/samples/rich_text/rich_text_list_ordered.json b/spec/fixtures/valid/rich_text/rich_text_list_ordered.json similarity index 100% rename from python/test/samples/rich_text/rich_text_list_ordered.json rename to spec/fixtures/valid/rich_text/rich_text_list_ordered.json diff --git a/python/test/samples/rich_text/rich_text_quote_basic.json b/spec/fixtures/valid/rich_text/rich_text_quote_basic.json similarity index 100% rename from python/test/samples/rich_text/rich_text_quote_basic.json rename to spec/fixtures/valid/rich_text/rich_text_quote_basic.json diff --git a/python/test/samples/rich_text/rich_text_section_basic.json b/spec/fixtures/valid/rich_text/rich_text_section_basic.json similarity index 100% rename from python/test/samples/rich_text/rich_text_section_basic.json rename to spec/fixtures/valid/rich_text/rich_text_section_basic.json diff --git a/python/test/samples/rich_text/rich_text_user_basic.json b/spec/fixtures/valid/rich_text/rich_text_user_basic.json similarity index 100% rename from python/test/samples/rich_text/rich_text_user_basic.json rename to spec/fixtures/valid/rich_text/rich_text_user_basic.json diff --git a/python/test/samples/rich_text/rich_text_user_group_basic.json b/spec/fixtures/valid/rich_text/rich_text_user_group_basic.json similarity index 100% rename from python/test/samples/rich_text/rich_text_user_group_basic.json rename to spec/fixtures/valid/rich_text/rich_text_user_group_basic.json diff --git a/python/test/samples/views/hometab_view.json b/spec/fixtures/valid/views/hometab_view.json similarity index 100% rename from python/test/samples/views/hometab_view.json rename to spec/fixtures/valid/views/hometab_view.json diff --git a/python/test/samples/views/modal_with_blocks.json b/spec/fixtures/valid/views/modal_with_blocks.json similarity index 100% rename from python/test/samples/views/modal_with_blocks.json rename to spec/fixtures/valid/views/modal_with_blocks.json diff --git a/spec/limits.json b/spec/limits.json new file mode 100644 index 00000000..b390acdc --- /dev/null +++ b/spec/limits.json @@ -0,0 +1,63 @@ +{ + "text": { "min_length": 1, "max_length": 3000 }, + "action_id": { "max_length": 255 }, + "button": { + "text": { "max_length": 75 }, + "url": { "max_length": 3000 }, + "value": { "max_length": 2000 } + }, + "confirmation": { + "title": { "max_length": 100 }, + "text": { "max_length": 300 }, + "confirm": { "max_length": 30 }, + "deny": { "max_length": 30 } + }, + "option": { + "text": { "max_length": 75 }, + "value": { "max_length": 75 }, + "description": { "max_length": 75 } + }, + "option_group": { + "label": { "max_length": 75 }, + "options": { "min_items": 1, "max_items": 100 } + }, + "select": { + "placeholder": { "max_length": 150 }, + "options": { "max_items": 100 }, + "option_groups": { "max_items": 100 } + }, + "overflow": { "options": { "min_items": 1, "max_items": 5 } }, + "file_input": { "max_files": { "min": 1, "max": 10 } }, + "plain_text_input": { "max_length": { "max": 3000 } }, + "actions": { "elements": { "max_items": 25 } }, + "context": { "elements": { "max_items": 10 } }, + "header": { "text": { "max_length": 150 } }, + "image": { + "image_url": { "max_length": 3000 }, + "alt_text": { "max_length": 2000 } + }, + "input": { + "label": { "max_length": 2000 }, + "hint": { "max_length": 2000 } + }, + "markdown": { "text": { "min_length": 1, "max_length": 12000 } }, + "section": { + "text": { "max_length": 3000 }, + "fields": { "max_items": 10, "item_max_length": 2000 } + }, + "video": { + "alt_text": { "min_length": 1, "max_length": 200 }, + "title": { "max_length": 200 }, + "author_name": { "max_length": 50 }, + "description": { "max_length": 200 }, + "provider_name": { "max_length": 50 } + }, + "view": { + "blocks": { "min_items": 1, "max_items": 100 }, + "private_metadata": { "max_length": 3000 }, + "callback_id": { "max_length": 255 }, + "title": { "max_length": 24 }, + "close": { "max_length": 24 }, + "submit": { "max_length": 24 } + } +} diff --git a/spec/manifest.json b/spec/manifest.json new file mode 100644 index 00000000..6696bccc --- /dev/null +++ b/spec/manifest.json @@ -0,0 +1,479 @@ +{ + "spec_version": "1.0.0", + "fixtures": [ + { + "id": "attachments/attachment_multi_block", + "description": "Attachment Multi Block", + "slack_docs": "https://docs.slack.dev/messaging/formatting-message-text/#attachments", + "since": "1.0.0" + }, + { + "id": "attachments/attachment_simple", + "description": "Attachment Simple", + "slack_docs": "https://docs.slack.dev/messaging/formatting-message-text/#attachments", + "since": "1.0.0" + }, + { + "id": "blocks/actions_block_checkboxes", + "description": "Actions Block Checkboxes", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/", + "since": "1.0.0" + }, + { + "id": "blocks/context_block_text_only", + "description": "Context Block Text Only", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/", + "since": "1.0.0" + }, + { + "id": "blocks/divider_block_only", + "description": "Divider Block Only", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/", + "since": "1.0.0" + }, + { + "id": "blocks/file_block_only", + "description": "File Block Only", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/", + "since": "1.0.0" + }, + { + "id": "blocks/header_block_only", + "description": "Header Block Only", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/", + "since": "1.0.0" + }, + { + "id": "blocks/image_block_only", + "description": "Image Block Only", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/", + "since": "1.0.0" + }, + { + "id": "blocks/input_block_only", + "description": "Input Block Only", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/", + "since": "1.0.0" + }, + { + "id": "blocks/markdown_block_basic", + "description": "Markdown Block Basic", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/", + "since": "1.0.0" + }, + { + "id": "blocks/rich_text_block_basic", + "description": "Rich Text Block Basic", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/", + "since": "1.0.0" + }, + { + "id": "blocks/section_block_both_text_and_fields", + "description": "Section Block Both Text And Fields", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/", + "since": "1.0.0" + }, + { + "id": "blocks/section_block_empty_text_field_value", + "description": "Section Block Empty Text Field Value", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/", + "since": "1.0.0" + }, + { + "id": "blocks/section_block_fields", + "description": "Section Block Fields", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/", + "since": "1.0.0" + }, + { + "id": "blocks/section_block_single_field_value_coercion", + "description": "Section Block Single Field Value Coercion", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/", + "since": "1.0.0" + }, + { + "id": "blocks/section_block_text_only", + "description": "Section Block Text Only", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/", + "since": "1.0.0" + }, + { + "id": "blocks/table_block", + "description": "Table Block", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/", + "since": "1.0.0" + }, + { + "id": "blocks/video_block_basic", + "description": "Video Block Basic", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/", + "since": "1.0.0" + }, + { + "id": "blocks/video_block_full", + "description": "Video Block Full", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/", + "since": "1.0.0" + }, + { + "id": "elements/button_basic", + "description": "Button Basic", + "slack_docs": "https://docs.slack.dev/reference/block-kit/block-elements/", + "since": "1.0.0" + }, + { + "id": "elements/button_link", + "description": "Button Link", + "slack_docs": "https://docs.slack.dev/reference/block-kit/block-elements/", + "since": "1.0.0" + }, + { + "id": "elements/button_style", + "description": "Button Style", + "slack_docs": "https://docs.slack.dev/reference/block-kit/block-elements/", + "since": "1.0.0" + }, + { + "id": "elements/checkbox_basic", + "description": "Checkbox Basic", + "slack_docs": "https://docs.slack.dev/reference/block-kit/block-elements/", + "since": "1.0.0" + }, + { + "id": "elements/date_picker_basic", + "description": "Date Picker Basic", + "slack_docs": "https://docs.slack.dev/reference/block-kit/block-elements/", + "since": "1.0.0" + }, + { + "id": "elements/datetime_picker_basic", + "description": "Datetime Picker Basic", + "slack_docs": "https://docs.slack.dev/reference/block-kit/block-elements/", + "since": "1.0.0" + }, + { + "id": "elements/email_input_basic", + "description": "Email Input Basic", + "slack_docs": "https://docs.slack.dev/reference/block-kit/block-elements/", + "since": "1.0.0" + }, + { + "id": "elements/image_basic", + "description": "Image Basic", + "slack_docs": "https://docs.slack.dev/reference/block-kit/block-elements/", + "since": "1.0.0" + }, + { + "id": "elements/multi_select_channel", + "description": "Multi Select Channel", + "slack_docs": "https://docs.slack.dev/reference/block-kit/block-elements/", + "since": "1.0.0" + }, + { + "id": "elements/multi_select_conversation", + "description": "Multi Select Conversation", + "slack_docs": "https://docs.slack.dev/reference/block-kit/block-elements/", + "since": "1.0.0" + }, + { + "id": "elements/multi_select_external", + "description": "Multi Select External", + "slack_docs": "https://docs.slack.dev/reference/block-kit/block-elements/", + "since": "1.0.0" + }, + { + "id": "elements/multi_select_static", + "description": "Multi Select Static", + "slack_docs": "https://docs.slack.dev/reference/block-kit/block-elements/", + "since": "1.0.0" + }, + { + "id": "elements/multi_select_user", + "description": "Multi Select User", + "slack_docs": "https://docs.slack.dev/reference/block-kit/block-elements/", + "since": "1.0.0" + }, + { + "id": "elements/multi_select_user_with_initial_users", + "description": "Multi Select User With Initial Users", + "slack_docs": "https://docs.slack.dev/reference/block-kit/block-elements/", + "since": "1.0.0" + }, + { + "id": "elements/number_input_basic", + "description": "Number Input Basic", + "slack_docs": "https://docs.slack.dev/reference/block-kit/block-elements/", + "since": "1.0.0" + }, + { + "id": "elements/overflow_menu_basic", + "description": "Overflow Menu Basic", + "slack_docs": "https://docs.slack.dev/reference/block-kit/block-elements/", + "since": "1.0.0" + }, + { + "id": "elements/plaintext_input_basic", + "description": "Plaintext Input Basic", + "slack_docs": "https://docs.slack.dev/reference/block-kit/block-elements/", + "since": "1.0.0" + }, + { + "id": "elements/radio_button_group_basic", + "description": "Radio Button Group Basic", + "slack_docs": "https://docs.slack.dev/reference/block-kit/block-elements/", + "since": "1.0.0" + }, + { + "id": "elements/rich_text_input_basic", + "description": "Rich Text Input Basic", + "slack_docs": "https://docs.slack.dev/reference/block-kit/block-elements/", + "since": "1.0.0" + }, + { + "id": "elements/select_menu_channel", + "description": "Select Menu Channel", + "slack_docs": "https://docs.slack.dev/reference/block-kit/block-elements/", + "since": "1.0.0" + }, + { + "id": "elements/select_menu_conversation", + "description": "Select Menu Conversation", + "slack_docs": "https://docs.slack.dev/reference/block-kit/block-elements/", + "since": "1.0.0" + }, + { + "id": "elements/select_menu_external", + "description": "Select Menu External", + "slack_docs": "https://docs.slack.dev/reference/block-kit/block-elements/", + "since": "1.0.0" + }, + { + "id": "elements/select_menu_static", + "description": "Select Menu Static", + "slack_docs": "https://docs.slack.dev/reference/block-kit/block-elements/", + "since": "1.0.0" + }, + { + "id": "elements/select_menu_user", + "description": "Select Menu User", + "slack_docs": "https://docs.slack.dev/reference/block-kit/block-elements/", + "since": "1.0.0" + }, + { + "id": "elements/timepicker_basic", + "description": "Timepicker Basic", + "slack_docs": "https://docs.slack.dev/reference/block-kit/block-elements/", + "since": "1.0.0" + }, + { + "id": "elements/url_input_basic", + "description": "Url Input Basic", + "slack_docs": "https://docs.slack.dev/reference/block-kit/block-elements/", + "since": "1.0.0" + }, + { + "id": "elements/workflow_button_basic", + "description": "Workflow Button Basic", + "slack_docs": "https://docs.slack.dev/reference/block-kit/block-elements/", + "since": "1.0.0" + }, + { + "id": "messages/message_basic", + "description": "Message Basic", + "slack_docs": "https://docs.slack.dev/reference/methods/chat.postMessage/", + "since": "1.0.0" + }, + { + "id": "messages/message_basic_attachment", + "description": "Message Basic Attachment", + "slack_docs": "https://docs.slack.dev/reference/methods/chat.postMessage/", + "since": "1.0.0" + }, + { + "id": "messages/message_compound", + "description": "Message Compound", + "slack_docs": "https://docs.slack.dev/reference/methods/chat.postMessage/", + "since": "1.0.0" + }, + { + "id": "messages/message_response", + "description": "Message Response", + "slack_docs": "https://docs.slack.dev/reference/methods/chat.postMessage/", + "since": "1.0.0" + }, + { + "id": "messages/message_with_attachments", + "description": "Message With Attachments", + "slack_docs": "https://docs.slack.dev/reference/methods/chat.postMessage/", + "since": "1.0.0" + }, + { + "id": "messages/message_with_optional_arguments", + "description": "Message With Optional Arguments", + "slack_docs": "https://docs.slack.dev/reference/methods/chat.postMessage/", + "since": "1.0.0" + }, + { + "id": "messages/webhook_message_basic", + "description": "Webhook Message Basic", + "slack_docs": "https://docs.slack.dev/reference/methods/chat.postMessage/", + "since": "1.0.0" + }, + { + "id": "messages/webhook_message_delete", + "description": "Webhook Message Delete", + "slack_docs": "https://docs.slack.dev/reference/methods/chat.postMessage/", + "since": "1.0.0" + }, + { + "id": "objects/confirmation_dialogue_basic", + "description": "Confirmation Dialogue Basic", + "slack_docs": "https://docs.slack.dev/reference/block-kit/composition-objects/", + "since": "1.0.0" + }, + { + "id": "objects/conversation_filter_basic", + "description": "Conversation Filter Basic", + "slack_docs": "https://docs.slack.dev/reference/block-kit/composition-objects/", + "since": "1.0.0" + }, + { + "id": "objects/dispatch_action_configuration_basic", + "description": "Dispatch Action Configuration Basic", + "slack_docs": "https://docs.slack.dev/reference/block-kit/composition-objects/", + "since": "1.0.0" + }, + { + "id": "objects/input_parameter_basic", + "description": "Input Parameter Basic", + "slack_docs": "https://docs.slack.dev/reference/block-kit/composition-objects/", + "since": "1.0.0" + }, + { + "id": "objects/option_basic", + "description": "Option Basic", + "slack_docs": "https://docs.slack.dev/reference/block-kit/composition-objects/", + "since": "1.0.0" + }, + { + "id": "objects/option_group_basic", + "description": "Option Group Basic", + "slack_docs": "https://docs.slack.dev/reference/block-kit/composition-objects/", + "since": "1.0.0" + }, + { + "id": "objects/text_markdown_basic", + "description": "Text Markdown Basic", + "slack_docs": "https://docs.slack.dev/reference/block-kit/composition-objects/", + "since": "1.0.0" + }, + { + "id": "objects/text_markdown_verbatim", + "description": "Text Markdown Verbatim", + "slack_docs": "https://docs.slack.dev/reference/block-kit/composition-objects/", + "since": "1.0.0" + }, + { + "id": "objects/text_plaintext_basic", + "description": "Text Plaintext Basic", + "slack_docs": "https://docs.slack.dev/reference/block-kit/composition-objects/", + "since": "1.0.0" + }, + { + "id": "objects/text_plaintext_emoji", + "description": "Text Plaintext Emoji", + "slack_docs": "https://docs.slack.dev/reference/block-kit/composition-objects/", + "since": "1.0.0" + }, + { + "id": "objects/trigger_basic", + "description": "Trigger Basic", + "slack_docs": "https://docs.slack.dev/reference/block-kit/composition-objects/", + "since": "1.0.0" + }, + { + "id": "objects/workflow_basic", + "description": "Workflow Basic", + "slack_docs": "https://docs.slack.dev/reference/block-kit/composition-objects/", + "since": "1.0.0" + }, + { + "id": "rich_text/rich_text_basic", + "description": "Rich Text Basic", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/rich-text-block/", + "since": "1.0.0" + }, + { + "id": "rich_text/rich_text_channel_basic", + "description": "Rich Text Channel Basic", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/rich-text-block/", + "since": "1.0.0" + }, + { + "id": "rich_text/rich_text_code_block_basic", + "description": "Rich Text Code Block Basic", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/rich-text-block/", + "since": "1.0.0" + }, + { + "id": "rich_text/rich_text_emoji_basic", + "description": "Rich Text Emoji Basic", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/rich-text-block/", + "since": "1.0.0" + }, + { + "id": "rich_text/rich_text_link_basic", + "description": "Rich Text Link Basic", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/rich-text-block/", + "since": "1.0.0" + }, + { + "id": "rich_text/rich_text_list_basic", + "description": "Rich Text List Basic", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/rich-text-block/", + "since": "1.0.0" + }, + { + "id": "rich_text/rich_text_list_ordered", + "description": "Rich Text List Ordered", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/rich-text-block/", + "since": "1.0.0" + }, + { + "id": "rich_text/rich_text_quote_basic", + "description": "Rich Text Quote Basic", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/rich-text-block/", + "since": "1.0.0" + }, + { + "id": "rich_text/rich_text_section_basic", + "description": "Rich Text Section Basic", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/rich-text-block/", + "since": "1.0.0" + }, + { + "id": "rich_text/rich_text_user_basic", + "description": "Rich Text User Basic", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/rich-text-block/", + "since": "1.0.0" + }, + { + "id": "rich_text/rich_text_user_group_basic", + "description": "Rich Text User Group Basic", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/rich-text-block/", + "since": "1.0.0" + }, + { + "id": "views/hometab_view", + "description": "Hometab View", + "slack_docs": "https://docs.slack.dev/surfaces/modals/", + "since": "1.0.0" + }, + { + "id": "views/modal_with_blocks", + "description": "Modal With Blocks", + "slack_docs": "https://docs.slack.dev/surfaces/modals/", + "since": "1.0.0" + } + ] +} diff --git a/spec/tools/parity.py b/spec/tools/parity.py new file mode 100644 index 00000000..cc4ab2c1 --- /dev/null +++ b/spec/tools/parity.py @@ -0,0 +1,67 @@ +"""Generate the documentation parity page from conformance skip lists.""" + +from __future__ import annotations + +import json +import sys +from pathlib import Path + +REPO_ROOT = Path(__file__).resolve().parents[2] +SPEC_ROOT = REPO_ROOT / "spec" +IMPLEMENTATIONS = ("python", "typescript") +LABELS = {"python": "Python", "typescript": "TypeScript"} + + +def entries(path: Path) -> list[str]: + return [ + line.split(maxsplit=1)[0] + for line in path.read_text().splitlines() + if line and not line.startswith("#") + ] + + +def render() -> str: + manifest = json.loads((SPEC_ROOT / "manifest.json").read_text()) + invalid = json.loads((SPEC_ROOT / "fixtures/invalid/manifest.json").read_text()) + total = len(manifest["fixtures"]) + len(invalid["cases"]) + lines = [ + "---", + "title: Language parity", + "---", + "", + "# Language parity", + "", + f"Generated from spec {manifest['spec_version']} manifests and checked-in skip lists.", + "", + "| Implementation | Passing | Skipped | Conformance |", + "|---|---:|---:|---:|", + ] + for implementation in IMPLEMENTATIONS: + skipped = entries(REPO_ROOT / implementation / "conformance/skiplist.txt") + passing = total - len(skipped) + lines.append( + f"| {LABELS[implementation]} | {passing} | {len(skipped)} | {passing / total:.0%} |" + ) + lines.extend( + [ + "", + f"The contract currently contains {len(manifest['fixtures'])} valid fixtures and " + f"{len(invalid['cases'])} invalid cases.", + "", + ] + ) + return "\n".join(lines) + + +def main() -> None: + output = ( + Path(sys.argv[1]) if len(sys.argv) > 1 else REPO_ROOT / "docs/docs/reference/parity.mdx" + ) + if not output.is_absolute(): + output = REPO_ROOT / "docs" / output + output.parent.mkdir(parents=True, exist_ok=True) + output.write_text(render()) + + +if __name__ == "__main__": + main() From b9dff2e749ffcc9b93e05afffda203d0498f963c Mon Sep 17 00:00:00 2001 From: Nicholas Lambourne Date: Fri, 14 Aug 2026 02:55:33 +1000 Subject: [PATCH 03/23] feat: add TypeScript package --- .changeset/config.json | 11 + .github/dependabot.yml | 22 + .github/workflows/typescript.yml | 106 + .gitignore | 6 +- README.md | 47 +- package.json | 13 + pnpm-lock.yaml | 14159 ++++++++++++++++++++++++++ pnpm-workspace.yaml | 8 + typescript/LICENSE | 7 + typescript/LICENSE.BSD-3-Clause | 29 + typescript/README.md | 24 + typescript/conformance/skiplist.txt | 2 + typescript/package.json | 58 + typescript/src/blocks.ts | 165 + typescript/src/builder.ts | 12 + typescript/src/elements.ts | 186 + typescript/src/errors.ts | 38 + typescript/src/index.ts | 12 + typescript/src/internal.ts | 65 + typescript/src/messages.ts | 67 + typescript/src/objects.ts | 183 + typescript/src/rich-text.ts | 91 + typescript/src/types.ts | 20 + typescript/src/validation.ts | 253 + typescript/src/views.ts | 43 + typescript/test/conformance.test.ts | 305 + typescript/test/factories.test.ts | 90 + typescript/tsconfig.json | 16 + typescript/tsconfig.typedoc.json | 5 + typescript/tsdown.config.ts | 9 + typescript/vitest.config.ts | 10 + 31 files changed, 16058 insertions(+), 4 deletions(-) create mode 100644 .changeset/config.json create mode 100644 .github/dependabot.yml create mode 100644 .github/workflows/typescript.yml create mode 100644 package.json create mode 100644 pnpm-lock.yaml create mode 100644 pnpm-workspace.yaml create mode 100644 typescript/LICENSE create mode 100644 typescript/LICENSE.BSD-3-Clause create mode 100644 typescript/README.md create mode 100644 typescript/conformance/skiplist.txt create mode 100644 typescript/package.json create mode 100644 typescript/src/blocks.ts create mode 100644 typescript/src/builder.ts create mode 100644 typescript/src/elements.ts create mode 100644 typescript/src/errors.ts create mode 100644 typescript/src/index.ts create mode 100644 typescript/src/internal.ts create mode 100644 typescript/src/messages.ts create mode 100644 typescript/src/objects.ts create mode 100644 typescript/src/rich-text.ts create mode 100644 typescript/src/types.ts create mode 100644 typescript/src/validation.ts create mode 100644 typescript/src/views.ts create mode 100644 typescript/test/conformance.test.ts create mode 100644 typescript/test/factories.test.ts create mode 100644 typescript/tsconfig.json create mode 100644 typescript/tsconfig.typedoc.json create mode 100644 typescript/tsdown.config.ts create mode 100644 typescript/vitest.config.ts diff --git a/.changeset/config.json b/.changeset/config.json new file mode 100644 index 00000000..316cd17e --- /dev/null +++ b/.changeset/config.json @@ -0,0 +1,11 @@ +{ + "$schema": "https://unpkg.com/@changesets/config@3.1.1/schema.json", + "changelog": "@changesets/cli/changelog", + "commit": false, + "fixed": [], + "linked": [], + "access": "public", + "baseBranch": "master", + "updateInternalDependencies": "patch", + "ignore": [] +} diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..06ca1ba3 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,22 @@ +version: 2 +updates: + - package-ecosystem: pip + directory: /python + schedule: + interval: weekly + groups: + python-development: + dependency-type: development + + - package-ecosystem: npm + directory: / + schedule: + interval: weekly + groups: + javascript-development: + dependency-type: development + + - package-ecosystem: github-actions + directory: / + schedule: + interval: weekly diff --git a/.github/workflows/typescript.yml b/.github/workflows/typescript.yml new file mode 100644 index 00000000..afd6b08b --- /dev/null +++ b/.github/workflows/typescript.yml @@ -0,0 +1,106 @@ +name: TypeScript + +on: + push: + paths: + - "typescript/**" + - "spec/**" + - "docs/examples/typescript/**" + - "docs/examples/section_hello.json" + - "package.json" + - "pnpm-lock.yaml" + - "pnpm-workspace.yaml" + - ".github/workflows/typescript.yml" + pull_request: + branches: [master] + paths: + - "typescript/**" + - "spec/**" + - "docs/examples/typescript/**" + - "docs/examples/section_hello.json" + - "package.json" + - "pnpm-lock.yaml" + - "pnpm-workspace.yaml" + - ".github/workflows/typescript.yml" + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + quality: + name: TypeScript quality and package checks + runs-on: ubuntu-latest + steps: + - name: Check out repository + uses: actions/checkout@v7 + + - name: Install pnpm + uses: pnpm/action-setup@v6 + with: + version: 11.16.0 + run_install: false + + - name: Install Node.js + uses: actions/setup-node@v7 + with: + node-version: "22" + cache: pnpm + cache-dependency-path: pnpm-lock.yaml + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Type check + run: pnpm --filter slackblocks typecheck + + - name: Run unit, conformance, and docs-example tests + run: pnpm --filter slackblocks test + + - name: Validate package + run: pnpm --filter slackblocks check:package + + runtime-smoke: + name: Runtime smoke (Node ${{ matrix.node-version }}) + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + node-version: ["20.19.0", "22", "24"] + steps: + - name: Check out repository + uses: actions/checkout@v7 + + - name: Install pnpm + uses: pnpm/action-setup@v6 + with: + version: 11.16.0 + run_install: false + + - name: Install Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v7 + with: + node-version: ${{ matrix.node-version }} + cache: pnpm + cache-dependency-path: pnpm-lock.yaml + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Build package + run: pnpm --filter slackblocks build + + - name: Import from ESM + run: >- + node --input-type=module -e + 'import("./typescript/dist/index.mjs").then(({section}) => + console.log(JSON.stringify(section({text:"smoke"}))))' + + - name: Require ESM from CommonJS + run: >- + node -e + 'const { section } = require("./typescript/dist/index.mjs"); + console.log(JSON.stringify(section({text:"smoke"})))' diff --git a/.gitignore b/.gitignore index 9874794d..9ed6cb10 100644 --- a/.gitignore +++ b/.gitignore @@ -106,4 +106,8 @@ venv.bak/ .idea .vscode -docs/ \ No newline at end of file +docs/ + +# JavaScript workspace build state +node_modules/ +.pnpm-store/ diff --git a/README.md b/README.md index 77c56517..29936ba3 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,47 @@ # slackblocks -This repository contains the Python `slackblocks` package in [`python/`](python/) -and the language-neutral JSON conformance contract in [`spec/`](spec/). +Build validated Slack Block Kit payloads in Python or TypeScript from one cross-language conformance contract. -The workspace layout leaves room for additional language implementations while preserving the existing Python package and release history. +| Implementation | Package | Version | Spec | +|---|---|---:|---:| +| Python | [`slackblocks` on PyPI](https://pypi.org/project/slackblocks/) | 2.0.0 | 1.0.0 | +| TypeScript / JavaScript | `slackblocks` on npm | 0.1.0 (unpublished) | 1.0.0 | + +Both implementations are handwritten and idiomatic. The shared corpus under [`spec/`](spec/) guarantees semantically identical Slack JSON and validation categories. + +## Quickstart + +Python: + +```python +from slackblocks import Message, SectionBlock + +payload = Message(channel="#general", blocks=SectionBlock("Hello, world!")) +``` + +TypeScript: + +```ts +import { message, section } from "slackblocks"; + +const payload = message({ + channel: "C0123456", + blocks: [section({ text: "Hello, world!" })], +}); +``` + +## Repository layout + +- `python/` — the established Python package. +- `typescript/` — the ESM TypeScript package. +- `spec/` — 79 valid fixtures, shared invalid cases, and limits. +- `docs_src/` — the current documentation source. Its Docusaurus migration is + reviewed separately from the language implementation. + +See the [documentation site](https://nicklambourne.github.io/slackblocks/) for installation and usage. + +## Development + +Run Python checks from `python/` with uv and TypeScript checks from the +repository root with pnpm. The full commands and fixture workflow are in the +[contributing guide](https://nicklambourne.github.io/slackblocks/contributing). diff --git a/package.json b/package.json new file mode 100644 index 00000000..f4cccd80 --- /dev/null +++ b/package.json @@ -0,0 +1,13 @@ +{ + "name": "slackblocks-monorepo", + "private": true, + "packageManager": "pnpm@11.16.0", + "scripts": { + "build": "pnpm --recursive build", + "test": "pnpm --recursive test", + "typecheck": "pnpm --recursive typecheck" + }, + "devDependencies": { + "@changesets/cli": "^3.0.0" + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 00000000..602b4420 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,14159 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + devDependencies: + '@changesets/cli': + specifier: ^3.0.0 + version: 3.0.0 + + docs: + dependencies: + '@docusaurus/core': + specifier: ^3.10.2 + version: 3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/plugin-client-redirects': + specifier: ^3.10.2 + version: 3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/preset-classic': + specifier: ^3.10.2 + version: 3.10.2(@algolia/client-search@5.56.0)(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(@types/react@18.3.28)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/types': + specifier: ^3.10.2 + version: 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@easyops-cn/docusaurus-search-local': + specifier: ^0.55.3 + version: 0.55.3(@docusaurus/theme-common@3.10.2(@docusaurus/plugin-content-docs@3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1))(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3) + docusaurus-plugin-typedoc: + specifier: ^1.4.2 + version: 1.4.2(typedoc-plugin-markdown@4.12.0(typedoc@0.28.20(typescript@5.9.3))) + prism-react-renderer: + specifier: ^2.4.1 + version: 2.4.1(react@18.3.1) + raw-loader: + specifier: ^4.0.2 + version: 4.0.2(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)) + slackblocks: + specifier: workspace:* + version: link:../typescript + typedoc-plugin-markdown: + specifier: ^4.12.0 + version: 4.12.0(typedoc@0.28.20(typescript@5.9.3)) + devDependencies: + '@docusaurus/tsconfig': + specifier: ^3.10.2 + version: 3.10.2 + '@types/react': + specifier: ^18.3.28 + version: 18.3.28 + react: + specifier: ^18.3.1 + version: 18.3.1 + react-dom: + specifier: ^18.3.1 + version: 18.3.1(react@18.3.1) + typescript: + specifier: ^5.9.3 + version: 5.9.3 + + typescript: + dependencies: + '@slack/types': + specifier: ^3.0.0 + version: 3.0.0 + devDependencies: + '@arethetypeswrong/cli': + specifier: ^0.18.5 + version: 0.18.5 + '@types/node': + specifier: ^26.2.0 + version: 26.2.0 + '@vitest/coverage-v8': + specifier: ^4.1.10 + version: 4.1.10(vitest@4.1.10) + publint: + specifier: ^0.3.23 + version: 0.3.23 + tsdown: + specifier: ^0.22.14 + version: 0.22.14(@arethetypeswrong/core@0.18.5)(publint@0.3.23)(typescript@5.9.3) + typedoc: + specifier: ^0.28.20 + version: 0.28.20(typescript@5.9.3) + typescript: + specifier: ^5.9.3 + version: 5.9.3 + vitest: + specifier: ^4.1.10 + version: 4.1.10(@types/node@26.2.0)(@vitest/coverage-v8@4.1.10)(vite@8.2.1(@types/node@26.2.0)(jiti@1.21.7)(terser@5.49.2)(yaml@2.9.0)) + +packages: + + '@11ty/gray-matter@1.0.0': + resolution: {integrity: sha512-7mJJl+wf1AByoT0PknQiQfOPnVNT4fevGrUBVWO4HXsnYn1aQPyRyrELYrNUFleUBM++KzMKN6QaxHPk0t/6/g==} + engines: {node: '>=11'} + + '@algolia/abtesting@1.22.0': + resolution: {integrity: sha512-BFR6zNowNKcY7Ou7TaJc9QWexES4YKPbmf/OTFofpdsdhz4x6q0lbxp3duO0EHnyrN7rE4ba/TSXuY+BDGu4+g==} + engines: {node: '>= 14.0.0'} + + '@algolia/autocomplete-core@1.19.2': + resolution: {integrity: sha512-mKv7RyuAzXvwmq+0XRK8HqZXt9iZ5Kkm2huLjgn5JoCPtDy+oh9yxUMfDDaVCw0oyzZ1isdJBc7l9nuCyyR7Nw==} + + '@algolia/autocomplete-core@1.19.9': + resolution: {integrity: sha512-4U2JKLMWlDu0CotYyUkWakDxr8AIav3QtIUXXRpfavYN29aVWfzlwJp9T0rPKEf/dO2QCPAUc0Kq1Tj1GJxo2A==} + + '@algolia/autocomplete-plugin-algolia-insights@1.19.2': + resolution: {integrity: sha512-TjxbcC/r4vwmnZaPwrHtkXNeqvlpdyR+oR9Wi2XyfORkiGkLTVhX2j+O9SaCCINbKoDfc+c2PB8NjfOnz7+oKg==} + peerDependencies: + search-insights: '>= 1 < 3' + + '@algolia/autocomplete-plugin-algolia-insights@1.19.9': + resolution: {integrity: sha512-6mExC6X7762s2SV3eJy3QOkB8bdMmnUhQ2agvGVDuzwoGyr3PquGSY/0vPQXCfiAiCaXUz1rXn+lwghgSi0l0w==} + peerDependencies: + search-insights: '>= 1 < 3' + + '@algolia/autocomplete-shared@1.19.2': + resolution: {integrity: sha512-jEazxZTVD2nLrC+wYlVHQgpBoBB5KPStrJxLzsIFl6Kqd1AlG9sIAGl39V5tECLpIQzB3Qa2T6ZPJ1ChkwMK/w==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + + '@algolia/autocomplete-shared@1.19.9': + resolution: {integrity: sha512-YosP9Uoek6y/Ur1r1qeogk4biMe/hzkyNcgMCciw0//3XpCM7VlYLSHnyt/vOnEOGhCCc0+3v+unEiH6zz+Z1A==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + + '@algolia/client-abtesting@5.56.0': + resolution: {integrity: sha512-7r4Z3NC7yU1oAQVWJNA2HX7tX481F3pJvCGyLIXiTdBcthz4Q/o21jwcMYDFkuI92UWTNBQQmHYgwHo1zS5dzg==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-analytics@5.56.0': + resolution: {integrity: sha512-avmjXQSq+jadFO8Xl2em05/uQdQnEmHsJyOAdVbZkmVgpMfxL12aJwVVfGNwYr9nulcpuJN1X0lTaQ5wxuNGcA==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-common@5.56.0': + resolution: {integrity: sha512-v2TPStUhY//ripPjIVclZ8AWc7DEGooXULZGFlFu37zNatgHjw34oZZ+OSbbc/YHO+xZwPl62I1k8xH1m4S2eg==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-insights@5.56.0': + resolution: {integrity: sha512-P0ehROpM4Sem3Sqo5x2cKPgj67D3G3jy0rh1Amwkcvsfr6tkvIcdCmerieanqTF7NxUMPNFLkpIFeMO8Rpa50w==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-personalization@5.56.0': + resolution: {integrity: sha512-SXK3Vn3WVxyzbm31oePZBJkp1wpOyuWdd4B/Pv7n0aXDxmeSWhC1R1FC1517mMrFAIaPH4Rt0x6RUe7ZNjz8FA==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-query-suggestions@5.56.0': + resolution: {integrity: sha512-5+ZdX8garFnmycnZgKhtXHePEaLj5zqDxI/0lkhhluzCcvTn0/PvvTirTg8hHYetQHvn7GDyeAiqTAieMvMW4A==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-search@5.56.0': + resolution: {integrity: sha512-+mKUdYvqOi0BcvpAEyCEw49vSBptufIcfibtHz2bdr1pI789M46Yt0uQEk/sxtK3teh71OQvVFHaTDzShUWewQ==} + engines: {node: '>= 14.0.0'} + + '@algolia/events@4.0.1': + resolution: {integrity: sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==} + + '@algolia/ingestion@1.56.0': + resolution: {integrity: sha512-9g/zj+AZx5moFcdFIrYQoVrueXivjUcc3MQHtCYT8WhIuk1lUh1AyEhvJCS0XBZld09cLvd1AZ3BvDBpVpX2UA==} + engines: {node: '>= 14.0.0'} + + '@algolia/monitoring@1.56.0': + resolution: {integrity: sha512-Qf3Sr6f9A9uxCZUf3MXS0d2b877uYzEB5yxqpVGXAhcJnBCQjrRRon0KvefpGkxy+BshrIJs96OUoMtGqXTFDA==} + engines: {node: '>= 14.0.0'} + + '@algolia/recommend@5.56.0': + resolution: {integrity: sha512-GXWG1rWc5wu8hY4N33Y3b6ernY6sAdAvmKWN/zHAiACOx40WnpG0TVX5YazCAr/9gOYGInSiM2A0y2jy2xbiDA==} + engines: {node: '>= 14.0.0'} + + '@algolia/requester-browser-xhr@5.56.0': + resolution: {integrity: sha512-7t24cBxaInS3mZb7ddEaZT/tp6q+/aR4YttsQVyP1/i+LmwPR34atO35KjaLFCcRVrlP7sYOAqkCfg6lIRB+ew==} + engines: {node: '>= 14.0.0'} + + '@algolia/requester-fetch@5.56.0': + resolution: {integrity: sha512-R7ePHgVYmDFjZpvrsVAfbDz/d4RxKAYZ5/vgLfIsCVRZRryjWl/3INOxpOICzitehQ5FjNtNjcLQTrmHPTcHBQ==} + engines: {node: '>= 14.0.0'} + + '@algolia/requester-node-http@5.56.0': + resolution: {integrity: sha512-PIOUXlSnrqM0S+WOgDRb4RzotydJH7ZoT6tOyL7tAO7qJOfvX5wsEW8Pe+PMKMwvuI4/gIyK9cg2H7lJXqnc4Q==} + engines: {node: '>= 14.0.0'} + + '@andrewbranch/untar.js@1.0.4': + resolution: {integrity: sha512-pVXSwPsLuw8IGLo2Di0EaOfsk+ntVvpkk942J/sHYIkwvtKUakEcPh7HBgZ6tuimgzKSEHgCvO4XgQ05DEbwDw==} + + '@arethetypeswrong/cli@0.18.5': + resolution: {integrity: sha512-gM+8vRsQOD/Uc7EnBedUhkG5OCsDWE4uoak5QvomGpMpaky0Eh41p04nIMgrWb8EOmqZUJGc6zz9hsP6E56R7g==} + engines: {node: '>=20'} + hasBin: true + + '@arethetypeswrong/core@0.18.5': + resolution: {integrity: sha512-9ytjzGwxjm9Uz7I9avfbt5vlQt6uk9uRRESzJjqrznl6WKvI6dwYTo+vJ3U02Wrq/mR3iql/PzhvHhKdJIAjDQ==} + engines: {node: '>=20'} + + '@babel/code-frame@7.29.7': + resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.29.7': + resolution: {integrity: sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.29.7': + resolution: {integrity: sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.29.8': + resolution: {integrity: sha512-gZbepsdh3WDtgZKWL+vTPh71LSBrm/Y4/QDZBVCcYfmeTEEuoOYwlSy+G1StfJg+/Zy550u/3TATbm7qDbbMtg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-annotate-as-pure@7.29.7': + resolution: {integrity: sha512-OoK6239jHPuSQOoS0kfTVKn0b/rVTk0seKq4Gd2UMLtmOVLjDC0ki3e+c90Trqv2gMfvJFqkiljrr568+qddiw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.29.7': + resolution: {integrity: sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-create-class-features-plugin@7.29.7': + resolution: {integrity: sha512-IY3ZD9Tmooqr3TUhc3DUWxiuo8xx1DWLhd5M7hQ+ZWJamqM2BbalrBJb2MisSLoYorOj75U03qULCxQTY9r3hg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-create-regexp-features-plugin@7.29.7': + resolution: {integrity: sha512-907Uymvqgg1dwUA+7IGwFAOSYzQOuzPXKNJ1yxzwPffzkYFg2q2eHi1fIOs6sXkG9NbIUMunnUlkYsfRFNvomg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-define-polyfill-provider@0.6.8': + resolution: {integrity: sha512-47UwBLPpQi1NoWzLuHNjRoHlYXMwIJoBf7MFou6viC/sIHWYygpvr0B6IAyh5sBdA2nr2LPIRww8lfaUVQINBA==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + '@babel/helper-globals@7.29.7': + resolution: {integrity: sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-member-expression-to-functions@7.29.7': + resolution: {integrity: sha512-j+7JYmk1JYDtACIGj0QJqqWZjoUpMoEikQGADMaHgCMCSDqd2+P32rfcibUNrGOMWrlzK1WJBdxrB3JJQZwWtg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.29.7': + resolution: {integrity: sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.29.7': + resolution: {integrity: sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-optimise-call-expression@7.29.7': + resolution: {integrity: sha512-+kmGVjcT9RGYzoDwdwEqEvGgKe3BYq+O1iGzjFubaNgZHwYHP6lsF2Yghf4kEuv9BV7tYDZ913aBW9am6YKong==} + engines: {node: '>=6.9.0'} + + '@babel/helper-plugin-utils@7.29.7': + resolution: {integrity: sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-remap-async-to-generator@7.29.7': + resolution: {integrity: sha512-16AMiW26DbXWBbr3B8wNozKM0ydMLB892vaOaJW/fPJdnT8vJk5sdkQcU/isqUxyCE0cEoa8wZOcbgDuC4b6Og==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-replace-supers@7.29.7': + resolution: {integrity: sha512-atfGXWSeCiF4DnKZIfmJfQRkSw9b9gNNXR1kqKjbhG4pGYCOnkp8OcTB8E3NXjBu8NpheSnOeNKz8KT7UNFTmQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-skip-transparent-expression-wrappers@7.29.7': + resolution: {integrity: sha512-brcMGQaVzIeUb+6/bs1Av0f8YuNNjKY2JyvfRCsFuFsdKccEQ5Ges2y74D74NZ1Rz8lKJ9ksJkfqwQFJ/iNEyQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.29.7': + resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.29.7': + resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.29.7': + resolution: {integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-wrap-function@7.29.7': + resolution: {integrity: sha512-iES0Skag9ERIF68aXadpO6dbXa03mNWK3sEqJaMnLNs/eC3l0lkImdfoy6Y09/SfkpawdAB4RjQ7PVA7TcVGdw==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.29.7': + resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.29.8': + resolution: {integrity: sha512-E8lTAYNB1KW+FH+VGJuZM1ioAx2E6oVlvQFRrf5P8ZZmsiJXYAD9vTFV7yyEURNzgh1dFqMZuO6tUwcARbqFCA==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.29.7': + resolution: {integrity: sha512-j8SrR0zLZrRsC09DlszEx8FpMiwukKffYXMK0d5LmOglO7vGG6sz/BR/20yHqWH+Lnn31JTt2PE3hIWNgM2J6w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.29.7': + resolution: {integrity: sha512-r8j8escF+U2FUHo0KOhPUdMzUO+jp9fInva6+ACVAF3Y97Ev+5iNZwiqTghmzNeWwDkOPlYuTcfb1vDaoZKmAQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.29.7': + resolution: {integrity: sha512-GE1TFSiuFeGsCxmYXZl8HwoPrVlwe4rHPFE8weieGKZqnDORK+Ar3vgWMgW+AOxQ6/2TgLSKx9p6W7O4rC6qgQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@7.29.7': + resolution: {integrity: sha512-oBNVCvnO5tND+xSopWvV8WNGfpTfgP4Zr/YXXSj8zfmcPktp5Ku/aZlsIowgSD4fjmgHn6sGmB9APVsU5zOdhA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.29.7': + resolution: {integrity: sha512-QQt9qKHZ2sg/kivaLr7lnQr8HVrQDdBNSfCsTjiDxRuX/K5ORyKq+Bu8Xr0cDE3Dfkv0cw28Ve0EKyKMvulkOw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.29.7': + resolution: {integrity: sha512-pn6QacGLgvCcwc+syUhKE/qSjV2D1IHDB84RNxWYSt1mW3K/SCtjinZ2p0cETJxAWBjPy3K/1lHwG5BjjPxNlw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-dynamic-import@7.8.3': + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-assertions@7.29.7': + resolution: {integrity: sha512-/An1OCBN93thpBAGyfsK2pcf0jvju1SAtKkL2Ny++B5Sy6sqgzXDQH1cZxWbF96Wuk+bn41MDA9bLd4VVAw6rw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-attributes@7.29.7': + resolution: {integrity: sha512-zGYcYfq/WmZ4V+kBIXQon9dSSc8ircGZqw9ZaNhhGj9nZkeBu1jHLBDQqYYi5WA9uawvA2sIMbry2nCFhf5Djg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-jsx@7.29.7': + resolution: {integrity: sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-typescript@7.29.7': + resolution: {integrity: sha512-ngr+82Sh0xMz25TPCZi+nC2iTzjfCdWS2ONXTp/PtSCHCgaCNBpdMqgvJ2ccdLlClVZ7sisIgB914j/JFe+RZA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6': + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-arrow-functions@7.29.7': + resolution: {integrity: sha512-N7zArUXWzAMzm+/N0uPBeVB3Fam5lMxtUwMmDK5f/IBBS7a7p1qeUoxd/6CckXoxUdgsntq1Dh8xNW06maZbDQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-generator-functions@7.29.7': + resolution: {integrity: sha512-d98gXZkgswvkyohMBABkhm3GeXhYj8psWfwQ2C7gtfrKGTykQa/iOIi+JJhwMjPlZ6Vm2XN+DCf3Es1EoG4ZLA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-to-generator@7.29.7': + resolution: {integrity: sha512-pcUb2SS+RMo9TWVBwKGI5ShtoG7R+zBsFmCKDa6fe8c+hPr3XJlZgoE5j6i8W7gDjhyvy+85vmYexanvXh3d1w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoped-functions@7.29.7': + resolution: {integrity: sha512-cUSmjh72N+rN4PrkFlN1dJwNCwjVp5d38/CQrEsFggkD10UiFlBFgdH3tv5dNsLuHY+3S8db2xCHjhZcv5WgvA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoping@7.29.7': + resolution: {integrity: sha512-ONyr4+AZhKh8yKWInVxU9AXA9EbsyeLcL6V0dJy6M2/62vuvpGm29zzuymbTpdc451GEpDIdAyPLP3r+P61yKQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-properties@7.29.7': + resolution: {integrity: sha512-GtcpjFvanPfzNQi3eTitsCqtRRmmqzpy/A+yhTR1HaZo1Ly3EA8ZXxlPyHdR8/IuRMYc3E4wdGBewB2QKQjAaA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-static-block@7.29.7': + resolution: {integrity: sha512-kibJgmEdX2iMwsHY2tSZNDgj8PwIlCQz7FK9KuGKO8zsuoUwSEhoNnNVp/emKWrbY4HeO6kkXfdMqRKKKXBm2A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + + '@babel/plugin-transform-classes@7.29.7': + resolution: {integrity: sha512-qV0OGGBVacduzQHE649JyCneOFI/maT+YKsO+K4Yi3xv2wTPNjM/W2o2gdzMwEAZz7fXNTHAe0NcSg30bIN69g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-computed-properties@7.29.7': + resolution: {integrity: sha512-RK7/IyU5phpuCdBAuig5VkzG/EnbDaui5SQGdU9BFrHdV+mV4cUjLMQ9lJDjLNtWHsqtiefpGZUXQP2BiTYMsA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-destructuring@7.29.7': + resolution: {integrity: sha512-iPX8aD6H9zV5s7ZsqTdNocPN/MGQ5sSMnElKrktxjJRMnB2jN/1p2+R7GkfD6CAYoVFqy5A4XnSIUeGgJzIWpg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-dotall-regex@7.29.7': + resolution: {integrity: sha512-3qc18hsD2RdZiyJNDNc7HQpv6xbncwh8FYtxNFFzclSyh/trPD9KkVR9BDECUjDLvb7yJVF15GfYUuC+LMkkiQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-duplicate-keys@7.29.7': + resolution: {integrity: sha512-6IvRRriEMqnBwD6chtxdLpMYCHWEzN+oL5cyQtjykya19UgzbmKhxmhZgKC/LHxS2nYr9Q/qYPZ5Lr6jOL9+yQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.7': + resolution: {integrity: sha512-2wiIyo2BjtgU7HufSeDnL9L2O7zr8jmhFKuSr65VpRkUiRKRNpb0mdlk56+XPPKoIrfHqzbMuglDvZun0RISsA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-dynamic-import@7.29.7': + resolution: {integrity: sha512-giOlEm/EFjfjr+te9NsdjkUo2v4f8rS/SXPumRVHAtbNcyNlvtREkU1dZzaIDclNpnaVhlCqRdFKhJBjBikzLg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-explicit-resource-management@7.29.7': + resolution: {integrity: sha512-Rstj7coNz8sE+7Ju7ihpHLI564lsK5pUpNNlvptCIC/16E/S5hbl6n3kESPKdNRmqEWlpn5xpS5Q2dvXBsySLw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-exponentiation-operator@7.29.7': + resolution: {integrity: sha512-zFpMOTLZBdW5LfObqcSbL6kefg4R4eLdmvS0wbN9M6D5Mym/sKm9toOoWyVOa+xDjvCnuWcHls2YonXwHvH3CQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-export-namespace-from@7.29.7': + resolution: {integrity: sha512-24B2nOy2TeJSMheqwPD4DDQOV/elLSIlKxjZt4i05H5AgdPdWR3n18HnNrcJ+j76WJd9gbwb9jPjNYUy6RautA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-for-of@7.29.7': + resolution: {integrity: sha512-zeSIHh0+E1Um1WJRXCFlHQYu2ieJNdivLLjlBEp+dIBu3S51n+SZZmIXjxnItw6pz56Cn+KvK68BIBVsxq2JiQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-function-name@7.29.7': + resolution: {integrity: sha512-otRWaHXE6fbAGkePvaj/kvs3HsqXfPhlnzwSOlnFgbqCPMd975dW+4wZ00WFBt+/YlBGcJwNrARQTOJOb4ZrIg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-json-strings@7.29.7': + resolution: {integrity: sha512-RRnE2+eon1rJAq8MnoF1b5kTpY1vU88twHcvcKMrsqP/jxIRqDVs9iJB5fqPuqyeFAW0wJo4MlUIPpQCq/aRsg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-literals@7.29.7': + resolution: {integrity: sha512-DZ/oLP21ZuWx1vKqnoNv6/tvEK48AQOBRai40CX9dTjGluvT/YZCyY3rryDtyUqCEoyNroy5KKPwX2iQCiRvyw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-logical-assignment-operators@7.29.7': + resolution: {integrity: sha512-A0H91hh6W8MFRkp5TqJmMr39jzGD1A1E1Ysiv2O06Sfbhkapm+XyIzxWCEh5kqwOZ1/8QZ0dY3SeQ7XBqfJd5Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-member-expression-literals@7.29.7': + resolution: {integrity: sha512-hl1kwFZCCiDyfH25Xmco9jTrkPgnS9pmOzSG7W5I4SaGbLeqKv417hcU2RKmaxoPEgsoJh7ZPOrnPGq99bHoUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-amd@7.29.7': + resolution: {integrity: sha512-fxtQoH3m5ywUSIfaH0FGCzWu4McsYon5bD3K4XnskC7f+OyQMj7rsOMi4NvvmJ83WwBAg4UCe+ov4VZlqEvyew==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-commonjs@7.29.7': + resolution: {integrity: sha512-j0vCldybPC5b5dwCQOJ21uKtHzt7hxLygJTg9eF1ScfaikEDNfzn94XoW5Fi+seBR0nCyL23xaBFFkq7dTM8XQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-systemjs@7.29.8': + resolution: {integrity: sha512-6iSnEK0zlkLKU4heofK/AdmRD4e2SHVpJMtrwnTCzhnaM98ria4rTrOXBBi45BTTYnJtO8txnPsX4fChYXkmeA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-umd@7.29.7': + resolution: {integrity: sha512-B4UkaTK3QpgCwJnrxKfMPKdo92CN7OKXAlpAAnM3UPu0Q0lCCk57ylA9AJbRy2v8dDKOPAAWcoR6CMyeoHwRCA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-named-capturing-groups-regex@7.29.7': + resolution: {integrity: sha512-vuFoLwr4qnv2xbZ16SQd6uPcH5FNrLHhk/Jzo++0XJFcaDsr4gjJVg6j398oMHiC+83k/GiBzviwF5KBJkPUtQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-new-target@7.29.7': + resolution: {integrity: sha512-fEo41GmsOUhOBlw8ioo6zvjX5Xc2Lqkzlyfqbpsk3eB6TReV18uhxZ0esfEokVbY2+PVJAQHNKxER6lGrzNd3A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-nullish-coalescing-operator@7.29.7': + resolution: {integrity: sha512-idmp1dFaekP9GbcMvG24Kvw2BfhFZjHnNJCkV4WuIY4PskJzwI3f1N5OdgYke38T7rftO6ERulFRn2cFeZwRkg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-numeric-separator@7.29.7': + resolution: {integrity: sha512-zR7fv/z14OjgHl4AgRtkDBvBMhIzCxqV/qN/2BCRC7LjFwvuzjYe7gDWxC4Wl/SNsLM6SE1IWvRPYMgSJaUvNw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-rest-spread@7.29.7': + resolution: {integrity: sha512-Ld98jn4c0smUywL57m7SgsHq3OpThOa6LqZJif3G6jYOovPleoFhVrBJ1WegRApSFB2wu4+RelAj9AC9G08Z4A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-super@7.29.7': + resolution: {integrity: sha512-Ea/diGcw0twB5IlZPO5sgET6fJsLJqPABqTuFWIR+iMPGPZJkATEIWx0wa+aEQ5UY1CBQyP/gkAiLEqn1vBiQA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-catch-binding@7.29.7': + resolution: {integrity: sha512-sLsyndxK2VwX6yNUOakMb7Sh553ZTe/vVM1XJ+9Z5aW1ytsc8xOIwmyk05NNjN60vkc5/KqoTH6hB4V41LJhng==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-chaining@7.29.7': + resolution: {integrity: sha512-6GM1dhvK3gNODkXcEcMCOLEDCLSoZ/sBbro2Ax8HURyasQ4NshagQixkRFdh5niI6E4gmA/jYI/4aT7rRos3ZQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-parameters@7.29.7': + resolution: {integrity: sha512-ZDOBqV/qLYJI0YElr8DcENEyARsFQeESqWXH6gZlghYXuPPjvweuDhP4VyEi4BlUBlLRFZVjxoZDMjxhLW766g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-methods@7.29.7': + resolution: {integrity: sha512-/6Rz4DK1ETDEM/bWHsPHcaEe7ZaT1EqSXjtSP/L0DijOYuaUhiRiOKcwpZ8P7zR4xXEHc2ITdiCgBm9Tpyv9ug==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-property-in-object@7.29.7': + resolution: {integrity: sha512-+BNo06dnrzdNNqCm1X6YUaVv0DKk8Q+JYcoZfOkLhYWNCXzlwTSRq8zGWayT1csjcpNXV9CQTBRRbmTLZac5cA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-property-literals@7.29.7': + resolution: {integrity: sha512-bOMRLQuI0A5ZqHq3OWJ89/rXpJ/NJrbVhXiP4zwPGMs6kpcVsuTUNjwoE30K0Qm3mf48a/TnRYYD6vPNqcg6jA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-constant-elements@7.29.7': + resolution: {integrity: sha512-J0wGhKan+rIiE2OhfhRptySLrJ6SjQYM6b6N1FMlhyhCcw1Mig8vQjWchyB+bgHGDvaWo6Diu6CLRMra2uMtmg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-display-name@7.29.7': + resolution: {integrity: sha512-+1wdDMGNb4UPeY3Q4L5yLiYe6TXPXubs4NjrgRFw13hPRLJfEMw2Q5OXkee6/IfdqePIeW4Jjwe3aBh7SdKz4Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-development@7.29.7': + resolution: {integrity: sha512-Xfy3UVMF04+ypnFbkhvfqtmvwfe92qwQdbGZVonhE+6v35GzlofmOnA1szaZqzb9xYWr0nl1e5EMmzi0DNON1g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx@7.29.7': + resolution: {integrity: sha512-WsZulLVBUHXVj2cUcPVx6UE21TpalB6bHbSFErKT0Ib++ax24jjXe73FqlWvdylFOjiuPHYi6VCcgRad1ItN+A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-pure-annotations@7.29.7': + resolution: {integrity: sha512-H5E+HBgDpr6Q5t+Aj11tL7XkIui1jhbIoArVQnqjgXo5/3YxkN7ZEBcWF4RQlB0T4rrxJQbXS6kiFV6B7XTqUA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-regenerator@7.29.8': + resolution: {integrity: sha512-0UpIXPtdDtMXfnV2OJAVMLpj3H/92vmkA6lpSRakmycJvj3VUy6Xs1dM8tXRugupykr5WB+LpiVl0J8LMVg2mg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-regexp-modifiers@7.29.7': + resolution: {integrity: sha512-mB5Fs0VWrJ42ZCmc8114v60qetdaUVNkj9PmSZRmanCZM3S9hm0CFRLjRmYIsuXav14l2jvZ+4T8iiCGnhj3nQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-reserved-words@7.29.7': + resolution: {integrity: sha512-5+YhdpVgmfSmwZyLMftfaiffLRMHjzIRHFHHLdibcSyJm2pasMrKHrO3Ptrt2DRshjvpgjEJJ1zVW14WPq/6QA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-runtime@7.29.7': + resolution: {integrity: sha512-xmAscdE/AsqRW7vutbPNoUmu/nF5SrLKPs7aoJgEjo35lLKA/Bc0i2rMv/hr1+Y0o1bQCiVtith3u2vdgRL39Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-shorthand-properties@7.29.7': + resolution: {integrity: sha512-I+WYbGBAiCn7nA6xBrlgPH+MB7HWb4u8pv5S0Pv7OtwNvIFvCCb24YlttKEeUFVurfBCEaOTnuhlqsb7f0Z5Dg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-spread@7.29.8': + resolution: {integrity: sha512-4S9ksMGVWUshvgK0mKfvZky7leuG5/uoFVwMpAomJ8bMoDJiNHRVmc1EglwW/CmGVSqqWpEbXm9FmbRit22qoA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-sticky-regex@7.29.7': + resolution: {integrity: sha512-BCHzNYJGe9l7EpwwDBN/ztlL2NYFFq8hp9ddjtUEM9f2O7S7kKV/lL6Fwo7IF7NSkYhPK2vO+86nIGltA90MsA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-template-literals@7.29.7': + resolution: {integrity: sha512-NCSEJ4sLFU2gqAub45HYh4fus2yQ36rr6ei6vpU7NdoJqCpxvEG8E6eJpscGyXP3VHD2Ny+fSXr04k1hoUrFqA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typeof-symbol@7.29.7': + resolution: {integrity: sha512-223mNGoTkBiTEWFoK+Q6Go3tueMRclO8vxxxxquNCYuNI4jWOofFKJRRDu6SDrB8Sgo1UEGW9T4GAQ8ZyRso1A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typescript@7.29.7': + resolution: {integrity: sha512-jK52h8LaLc7JarhQV2ofeFMts4H7vnOXnqZNA6fYglBTZewRBE51KWt3BUltW1P+KoPsYkHoJeXePuz4zo2LMw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-escapes@7.29.7': + resolution: {integrity: sha512-jCfXxSjf94lf4E0hKE0AByxF6F3/pVFqRdUUNkDJhsY0m1ZKjnN6ZYyMeHNpzflxb/0q5b7t3p+BE+SLF1WOtA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-property-regex@7.29.7': + resolution: {integrity: sha512-OgZ+zoAJgZLUCunsTRQ5LAjOywDv5zzZ2/hQ5aMw1pGXyY2rtE8/chXYUmu3AlVHKpm10KEdG9aMwbI/K76ZGw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-regex@7.29.7': + resolution: {integrity: sha512-7D/x/23/d/3VqZ0QA+LGbZMlGwZjztBygSWWWsfTPoQ1oQ6Q1P6Mr3d0kk42XabyUVw+fha3LqdRsFqeKqvCyA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-sets-regex@7.29.7': + resolution: {integrity: sha512-BLOhLht9DOJwIxlmp91wHvkXv1lguuHS3/FwUO8HL1H0u8s4hR1gASVFyilu9iGtcTRYqjTZmlsFFeQletntEg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/preset-env@7.29.7': + resolution: {integrity: sha512-GYzX36n1nsciIb0uyH0GHwxwtNwPQIcpxSeiVLDtG/B7jB5xXgchnmL1f/jCX5o+pwnaDBtO60ONSJhEBJfxYA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-modules@0.1.6-no-external-plugins': + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + + '@babel/preset-react@7.29.7': + resolution: {integrity: sha512-C+PV1TFUPTmBQGoPBL8j2QmLpZ117YTCwxIZeJOM96GbYMFSc7/pOXU5lVykwnZxyTqQxRsvoRk6f2FktZgGHA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-typescript@7.29.7': + resolution: {integrity: sha512-/Foi8vKY2EVbed/1eZx0gJEEwHAIxogrySI7rULcRIvhZzbvoE/b5qG5Ghc0WKAFKOHA9SD1x7RsFlOYdutIiQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/runtime@7.29.7': + resolution: {integrity: sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==} + engines: {node: '>=6.9.0'} + + '@babel/template@7.29.7': + resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.29.8': + resolution: {integrity: sha512-I5z7H3bf/41ktsNVLtpN0wAa336HkqIHQ5BuPLEhTkt1jVSyZpeNKIzTgEWmlxjdg81R0IgUCcaE+Ok3NvrfZg==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.29.8': + resolution: {integrity: sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==} + engines: {node: '>=6.9.0'} + + '@bcoe/v8-coverage@1.0.2': + resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} + engines: {node: '>=18'} + + '@braidai/lang@1.1.2': + resolution: {integrity: sha512-qBcknbBufNHlui137Hft8xauQMTZDKdophmLFv05r2eNmdIv/MlPuP4TdUknHG68UdWLgVZwgxVe735HzJNIwA==} + + '@changesets/apply-release-plan@8.0.0': + resolution: {integrity: sha512-kUd2pbf1w5/AYmBMb0Tt+rkIPCjFJdT0SZMrkOjJT/WV/QbtmvkyB5jkV0oaNPheavprZk+SfUiozUti7TIL2w==} + engines: {node: ^22.11 || ^24 || >=26} + + '@changesets/assemble-release-plan@7.0.0': + resolution: {integrity: sha512-oEW8BxdA604kGGtDSCiHr5w9Tv4UWe9I2k61IBNZzCOE1kbYaJj4v+lFQNgcEZFkUc2pV/+hASErGDvpJOZCTg==} + engines: {node: ^22.11 || ^24 || >=26} + + '@changesets/changelog-git@1.0.0': + resolution: {integrity: sha512-3Dst2Ime2Op5nd4XmWJLPIgp11ZFqJqSkVug9izK6TDcIV4YlhPS4ECbEVR+eGI0bk0r1ItogD4j2Oli87bJrA==} + engines: {node: ^22.11 || ^24 || >=26} + + '@changesets/cli@3.0.0': + resolution: {integrity: sha512-V7Gm+GP5OT3mJinMI2YcJD/JyO/a4WChnaMCCzTRhWHgu1zhtsyY7zCjP6n5W6zsgSjJKs+yPmvtREvE0F2g8A==} + engines: {node: ^22.11 || ^24 || >=26, npm: '>=10.9.0', pnpm: '>=10.0.0', yarn: '>=4.5.2'} + hasBin: true + + '@changesets/config@4.0.0': + resolution: {integrity: sha512-mw95/YrkOuhZZxfnVAA4bSXOFUi+KlhzOBTM8C4x777NhUU6HWIl9Z+K+nME+E4PVsv5NQVQwTfiHihAS1A/ow==} + engines: {node: ^22.11 || ^24 || >=26} + + '@changesets/errors@1.0.0': + resolution: {integrity: sha512-ElN/mEzn6zmETgjwf5MclCMa9ef59sAR0lfO8VSYIsiRvbC2FbLB/92EoYw10Sl0kGixxHFiJZUSv7dA+YpR8g==} + engines: {node: ^22.11 || ^24 || >=26} + + '@changesets/format@0.1.1': + resolution: {integrity: sha512-OBN/xfe+lcNWCv8P4Ogop9EOTi5QRKd1c2JJfZRBT9AT3AybzDYDfHeX4Y7j20Q4e16BPu3XvcdOe9sPZmTEig==} + engines: {node: ^22.11 || ^24 || >=26} + + '@changesets/get-dependents-graph@3.0.0': + resolution: {integrity: sha512-ji/t5wFA1zREKXRUePE6Qi+Qu2UgxCeSSGQrphezwvQZrp49B7sJ+8+wvM0tA7zPeSxYKCojDy3WWgrl+s+awg==} + engines: {node: ^22.11 || ^24 || >=26} + + '@changesets/git@4.0.0': + resolution: {integrity: sha512-uIEswpPUgzBBqrC0qg13byNaPorzhf05LE2T+gRizEKCXvMsJC6NPJp5iNDSV/gYj4Viqh09UiOF5E7XWeH5lQ==} + engines: {node: ^22.11 || ^24 || >=26} + + '@changesets/parse@1.0.0': + resolution: {integrity: sha512-P0iaMb9p9CRYZiTgAllEIF9AUMQHIy1G72tKlcIqJp61icZSsKQNiOPdxAMZG8m/DvZwt/oz5xEbTpike//dWg==} + engines: {node: ^22.11 || ^24 || >=26} + + '@changesets/pre@3.0.0': + resolution: {integrity: sha512-Zm/6YliV/a2oeWTqHJf6KxLrQwgcK1i/BRDl2m0EKZvbnxV5fG9QRhwJJGshjsZTUTS6dkfURQ2K6aAvgNw/3Q==} + engines: {node: ^22.11 || ^24 || >=26} + + '@changesets/read@1.0.0': + resolution: {integrity: sha512-8TdE2PwG6yArPt5Ozej83Z6iHz1G8BDBKvIEKZ455MccR4K3GNbLR2XqjBxa+5yLFnEd3xAOPXYboBg1pt8stQ==} + engines: {node: ^22.11 || ^24 || >=26} + + '@changesets/should-skip-package@1.0.0': + resolution: {integrity: sha512-pwqoJmbONn1XgXmZXPEExgAaT+HdZLjALFTDgIm+PnS5KeO2nLtzA2/Q+4aMFY14kFMuXKG30MObhvDzWgzDgg==} + engines: {node: ^22.11 || ^24 || >=26} + + '@changesets/types@7.0.0': + resolution: {integrity: sha512-c5GoiQyt3pxiXjrWSNoP8/GRf4kG+VnKzovx1OQM8dYYALlSwgedmkPmJ+ZqGxqwg9D3Bkj85Uo4KLd5BN3A0w==} + engines: {node: ^22.11 || ^24 || >=26} + + '@changesets/write@1.0.0': + resolution: {integrity: sha512-xCK3/4C7Z7muQB/wguE6HcbjtY9iOtaK9orZKE+7xi573cMGD8rLZz7qlo6IvK7s+SIUIKajzj1l+F1QuP97tw==} + engines: {node: ^22.11 || ^24 || >=26} + + '@clack/core@1.4.3': + resolution: {integrity: sha512-/kr3UWNtdJfxZtPgDqUOmG2pvwlmcLGheex5yiZKdwbzZJxhV+HMNR9QNmyY5cGwTNV6LrR7Jtp+KjhUAP1qBQ==} + engines: {node: '>= 20.12.0'} + + '@clack/prompts@1.7.0': + resolution: {integrity: sha512-y7/yvZ2TPAnR9+jnc00klvNNLkJiXFFrQA/hlLCcxA9a2A4zQIOimyFQ9XfwYKiGD1fb5GY8vbKIIgO8d5Tb2A==} + engines: {node: '>= 20.12.0'} + + '@colors/colors@1.5.0': + resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} + engines: {node: '>=0.1.90'} + + '@csstools/cascade-layer-name-parser@2.0.5': + resolution: {integrity: sha512-p1ko5eHgV+MgXFVa4STPKpvPxr6ReS8oS2jzTukjR74i5zJNyWO1ZM1m8YKBXnzDKWfBN1ztLYlHxbVemDD88A==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-parser-algorithms': ^3.0.5 + '@csstools/css-tokenizer': ^3.0.4 + + '@csstools/color-helpers@5.1.0': + resolution: {integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==} + engines: {node: '>=18'} + + '@csstools/css-calc@2.1.4': + resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-parser-algorithms': ^3.0.5 + '@csstools/css-tokenizer': ^3.0.4 + + '@csstools/css-color-parser@3.1.0': + resolution: {integrity: sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-parser-algorithms': ^3.0.5 + '@csstools/css-tokenizer': ^3.0.4 + + '@csstools/css-parser-algorithms@3.0.5': + resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-tokenizer': ^3.0.4 + + '@csstools/css-tokenizer@3.0.4': + resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==} + engines: {node: '>=18'} + + '@csstools/media-query-list-parser@4.0.3': + resolution: {integrity: sha512-HAYH7d3TLRHDOUQK4mZKf9k9Ph/m8Akstg66ywKR4SFAigjs3yBiUeZtFxywiTm5moZMAp/5W/ZuFnNXXYLuuQ==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-parser-algorithms': ^3.0.5 + '@csstools/css-tokenizer': ^3.0.4 + + '@csstools/postcss-alpha-function@1.0.1': + resolution: {integrity: sha512-isfLLwksH3yHkFXfCI2Gcaqg7wGGHZZwunoJzEZk0yKYIokgre6hYVFibKL3SYAoR1kBXova8LB+JoO5vZzi9w==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-cascade-layers@5.0.2': + resolution: {integrity: sha512-nWBE08nhO8uWl6kSAeCx4im7QfVko3zLrtgWZY4/bP87zrSPpSyN/3W3TDqz1jJuH+kbKOHXg5rJnK+ZVYcFFg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-color-function-display-p3-linear@1.0.1': + resolution: {integrity: sha512-E5qusdzhlmO1TztYzDIi8XPdPoYOjoTY6HBYBCYSj+Gn4gQRBlvjgPQXzfzuPQqt8EhkC/SzPKObg4Mbn8/xMg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-color-function@4.0.12': + resolution: {integrity: sha512-yx3cljQKRaSBc2hfh8rMZFZzChaFgwmO2JfFgFr1vMcF3C/uyy5I4RFIBOIWGq1D+XbKCG789CGkG6zzkLpagA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-color-mix-function@3.0.12': + resolution: {integrity: sha512-4STERZfCP5Jcs13P1U5pTvI9SkgLgfMUMhdXW8IlJWkzOOOqhZIjcNhWtNJZes2nkBDsIKJ0CJtFtuaZ00moag==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-color-mix-variadic-function-arguments@1.0.2': + resolution: {integrity: sha512-rM67Gp9lRAkTo+X31DUqMEq+iK+EFqsidfecmhrteErxJZb6tUoJBVQca1Vn1GpDql1s1rD1pKcuYzMsg7Z1KQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-content-alt-text@2.0.8': + resolution: {integrity: sha512-9SfEW9QCxEpTlNMnpSqFaHyzsiRpZ5J5+KqCu1u5/eEJAWsMhzT40qf0FIbeeglEvrGRMdDzAxMIz3wqoGSb+Q==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-contrast-color-function@2.0.12': + resolution: {integrity: sha512-YbwWckjK3qwKjeYz/CijgcS7WDUCtKTd8ShLztm3/i5dhh4NaqzsbYnhm4bjrpFpnLZ31jVcbK8YL77z3GBPzA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-exponential-functions@2.0.9': + resolution: {integrity: sha512-abg2W/PI3HXwS/CZshSa79kNWNZHdJPMBXeZNyPQFbbj8sKO3jXxOt/wF7juJVjyDTc6JrvaUZYFcSBZBhaxjw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-font-format-keywords@4.0.0': + resolution: {integrity: sha512-usBzw9aCRDvchpok6C+4TXC57btc4bJtmKQWOHQxOVKen1ZfVqBUuCZ/wuqdX5GHsD0NRSr9XTP+5ID1ZZQBXw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-gamut-mapping@2.0.11': + resolution: {integrity: sha512-fCpCUgZNE2piVJKC76zFsgVW1apF6dpYsqGyH8SIeCcM4pTEsRTWTLCaJIMKFEundsCKwY1rwfhtrio04RJ4Dw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-gradients-interpolation-method@5.0.12': + resolution: {integrity: sha512-jugzjwkUY0wtNrZlFeyXzimUL3hN4xMvoPnIXxoZqxDvjZRiSh+itgHcVUWzJ2VwD/VAMEgCLvtaJHX+4Vj3Ow==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-hwb-function@4.0.12': + resolution: {integrity: sha512-mL/+88Z53KrE4JdePYFJAQWFrcADEqsLprExCM04GDNgHIztwFzj0Mbhd/yxMBngq0NIlz58VVxjt5abNs1VhA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-ic-unit@4.0.4': + resolution: {integrity: sha512-yQ4VmossuOAql65sCPppVO1yfb7hDscf4GseF0VCA/DTDaBc0Wtf8MTqVPfjGYlT5+2buokG0Gp7y0atYZpwjg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-initial@2.0.1': + resolution: {integrity: sha512-L1wLVMSAZ4wovznquK0xmC7QSctzO4D0Is590bxpGqhqjboLXYA16dWZpfwImkdOgACdQ9PqXsuRroW6qPlEsg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-is-pseudo-class@5.0.3': + resolution: {integrity: sha512-jS/TY4SpG4gszAtIg7Qnf3AS2pjcUM5SzxpApOrlndMeGhIbaTzWBzzP/IApXoNWEW7OhcjkRT48jnAUIFXhAQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-light-dark-function@2.0.11': + resolution: {integrity: sha512-fNJcKXJdPM3Lyrbmgw2OBbaioU7yuKZtiXClf4sGdQttitijYlZMD5K7HrC/eF83VRWRrYq6OZ0Lx92leV2LFA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-logical-float-and-clear@3.0.0': + resolution: {integrity: sha512-SEmaHMszwakI2rqKRJgE+8rpotFfne1ZS6bZqBoQIicFyV+xT1UF42eORPxJkVJVrH9C0ctUgwMSn3BLOIZldQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-logical-overflow@2.0.0': + resolution: {integrity: sha512-spzR1MInxPuXKEX2csMamshR4LRaSZ3UXVaRGjeQxl70ySxOhMpP2252RAFsg8QyyBXBzuVOOdx1+bVO5bPIzA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-logical-overscroll-behavior@2.0.0': + resolution: {integrity: sha512-e/webMjoGOSYfqLunyzByZj5KKe5oyVg/YSbie99VEaSDE2kimFm0q1f6t/6Jo+VVCQ/jbe2Xy+uX+C4xzWs4w==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-logical-resize@3.0.0': + resolution: {integrity: sha512-DFbHQOFW/+I+MY4Ycd/QN6Dg4Hcbb50elIJCfnwkRTCX05G11SwViI5BbBlg9iHRl4ytB7pmY5ieAFk3ws7yyg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-logical-viewport-units@3.0.4': + resolution: {integrity: sha512-q+eHV1haXA4w9xBwZLKjVKAWn3W2CMqmpNpZUk5kRprvSiBEGMgrNH3/sJZ8UA3JgyHaOt3jwT9uFa4wLX4EqQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-media-minmax@2.0.9': + resolution: {integrity: sha512-af9Qw3uS3JhYLnCbqtZ9crTvvkR+0Se+bBqSr7ykAnl9yKhk6895z9rf+2F4dClIDJWxgn0iZZ1PSdkhrbs2ig==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.5': + resolution: {integrity: sha512-zhAe31xaaXOY2Px8IYfoVTB3wglbJUVigGphFLj6exb7cjZRH9A6adyE22XfFK3P2PzwRk0VDeTJmaxpluyrDg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-nested-calc@4.0.0': + resolution: {integrity: sha512-jMYDdqrQQxE7k9+KjstC3NbsmC063n1FTPLCgCRS2/qHUbHM0mNy9pIn4QIiQGs9I/Bg98vMqw7mJXBxa0N88A==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-normalize-display-values@4.0.1': + resolution: {integrity: sha512-TQUGBuRvxdc7TgNSTevYqrL8oItxiwPDixk20qCB5me/W8uF7BPbhRrAvFuhEoywQp/woRsUZ6SJ+sU5idZAIA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-oklab-function@4.0.12': + resolution: {integrity: sha512-HhlSmnE1NKBhXsTnNGjxvhryKtO7tJd1w42DKOGFD6jSHtYOrsJTQDKPMwvOfrzUAk8t7GcpIfRyM7ssqHpFjg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-position-area-property@1.0.0': + resolution: {integrity: sha512-fUP6KR8qV2NuUZV3Cw8itx0Ep90aRjAZxAEzC3vrl6yjFv+pFsQbR18UuQctEKmA72K9O27CoYiKEgXxkqjg8Q==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-progressive-custom-properties@4.2.1': + resolution: {integrity: sha512-uPiiXf7IEKtUQXsxu6uWtOlRMXd2QWWy5fhxHDnPdXKCQckPP3E34ZgDoZ62r2iT+UOgWsSbM4NvHE5m3mAEdw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-property-rule-prelude-list@1.0.0': + resolution: {integrity: sha512-IxuQjUXq19fobgmSSvUDO7fVwijDJaZMvWQugxfEUxmjBeDCVaDuMpsZ31MsTm5xbnhA+ElDi0+rQ7sQQGisFA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-random-function@2.0.1': + resolution: {integrity: sha512-q+FQaNiRBhnoSNo+GzqGOIBKoHQ43lYz0ICrV+UudfWnEF6ksS6DsBIJSISKQT2Bvu3g4k6r7t0zYrk5pDlo8w==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-relative-color-syntax@3.0.12': + resolution: {integrity: sha512-0RLIeONxu/mtxRtf3o41Lq2ghLimw0w9ByLWnnEVuy89exmEEq8bynveBxNW3nyHqLAFEeNtVEmC1QK9MZ8Huw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-scope-pseudo-class@4.0.1': + resolution: {integrity: sha512-IMi9FwtH6LMNuLea1bjVMQAsUhFxJnyLSgOp/cpv5hrzWmrUYU5fm0EguNDIIOHUqzXode8F/1qkC/tEo/qN8Q==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-sign-functions@1.1.4': + resolution: {integrity: sha512-P97h1XqRPcfcJndFdG95Gv/6ZzxUBBISem0IDqPZ7WMvc/wlO+yU0c5D/OCpZ5TJoTt63Ok3knGk64N+o6L2Pg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-stepped-value-functions@4.0.9': + resolution: {integrity: sha512-h9btycWrsex4dNLeQfyU3y3w40LMQooJWFMm/SK9lrKguHDcFl4VMkncKKoXi2z5rM9YGWbUQABI8BT2UydIcA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-syntax-descriptor-syntax-production@1.0.1': + resolution: {integrity: sha512-GneqQWefjM//f4hJ/Kbox0C6f2T7+pi4/fqTqOFGTL3EjnvOReTqO1qUQ30CaUjkwjYq9qZ41hzarrAxCc4gow==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-system-ui-font-family@1.0.0': + resolution: {integrity: sha512-s3xdBvfWYfoPSBsikDXbuorcMG1nN1M6GdU0qBsGfcmNR0A/qhloQZpTxjA3Xsyrk1VJvwb2pOfiOT3at/DuIQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-text-decoration-shorthand@4.0.3': + resolution: {integrity: sha512-KSkGgZfx0kQjRIYnpsD7X2Om9BUXX/Kii77VBifQW9Ih929hK0KNjVngHDH0bFB9GmfWcR9vJYJJRvw/NQjkrA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-trigonometric-functions@4.0.9': + resolution: {integrity: sha512-Hnh5zJUdpNrJqK9v1/E3BbrQhaDTj5YiX7P61TOvUhoDHnUmsNNxcDAgkQ32RrcWx9GVUvfUNPcUkn8R3vIX6A==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/postcss-unset-value@4.0.0': + resolution: {integrity: sha512-cBz3tOCI5Fw6NIFEwU3RiwK6mn3nKegjpJuzCndoGq3BZPkUjnsq7uQmIeMNeMbMk7YD2MfKcgCpZwX5jyXqCA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@csstools/selector-resolve-nested@3.1.0': + resolution: {integrity: sha512-mf1LEW0tJLKfWyvn5KdDrhpxHyuxpbNwTIwOYLIvsTffeyOf85j5oIzfG0yosxDgx/sswlqBnESYUcQH0vgZ0g==} + engines: {node: '>=18'} + peerDependencies: + postcss-selector-parser: ^7.0.0 + + '@csstools/selector-specificity@5.0.0': + resolution: {integrity: sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==} + engines: {node: '>=18'} + peerDependencies: + postcss-selector-parser: ^7.0.0 + + '@csstools/utilities@2.0.0': + resolution: {integrity: sha512-5VdOr0Z71u+Yp3ozOx8T11N703wIFGVRgOWbOZMKgglPJsWA54MRIoMNVMa7shUToIhx5J8vX4sOZgD2XiihiQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + '@discoveryjs/json-ext@0.5.7': + resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} + engines: {node: '>=10.0.0'} + + '@docsearch/core@4.7.0': + resolution: {integrity: sha512-p/9xVKmPDj3FPvMfPf5naVO3Ej8SCbcUugGvx1+8GgkuBNbqxqN2Irx3WLBv8VY0jH7XpRwKWdlmjXLZsmTLsg==} + peerDependencies: + '@types/react': '>= 16.8.0 < 20.0.0' + react: '>= 16.8.0 < 20.0.0' + react-dom: '>= 16.8.0 < 20.0.0' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + react-dom: + optional: true + + '@docsearch/css@4.7.0': + resolution: {integrity: sha512-Sk5xkdRFeE7PeWjG9l4AfTwdvMfr9wHiwNNCpHXT4v4SNyNMKdHGvEILc31BgaVFGDDNbv5u/a73tofRiwbEZw==} + + '@docsearch/react@4.7.0': + resolution: {integrity: sha512-x6oedjJ8O8/pIDBsMo5Orca3/6cQCz616/CwthVe68l43mqnj2lrJ9kFQITBqy8hMsS3nWeBWFoVO5dJ1DCFKA==} + peerDependencies: + '@types/react': '>= 16.8.0 < 20.0.0' + react: '>= 16.8.0 < 20.0.0' + react-dom: '>= 16.8.0 < 20.0.0' + search-insights: '>= 1 < 3' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + react-dom: + optional: true + search-insights: + optional: true + + '@docusaurus/babel@3.10.2': + resolution: {integrity: sha512-aJ1hpGyvfkte3dDAfNbWM4biW4yWZBVz7TIGLZP+v+tWOBgxX3e0N5ZIXHIvmfNNXTI77pcHUx3KmtOk05Ze3Q==} + engines: {node: '>=20.0'} + + '@docusaurus/bundler@3.10.2': + resolution: {integrity: sha512-i0ZNcy0f0WhaOlYVgzLsWhIoEXO9kS3HRoKPtgE6vQtZUq7arKZaYdNBudr3mqCmd+TyOkwtwfHgs1ENj07r5g==} + engines: {node: '>=20.0'} + peerDependencies: + '@docusaurus/faster': '*' + peerDependenciesMeta: + '@docusaurus/faster': + optional: true + + '@docusaurus/core@3.10.2': + resolution: {integrity: sha512-EYByj6nk+aD9KeVxV6Hmo2/nAAT79P21Y82ycTBOBtrmqilloIbIEhgL2/8Xpt2Jz/pgNqHAwyusOGwmbKeJmA==} + engines: {node: '>=20.0'} + hasBin: true + peerDependencies: + '@docusaurus/faster': '*' + '@mdx-js/react': ^3.0.0 + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@docusaurus/faster': + optional: true + + '@docusaurus/cssnano-preset@3.10.2': + resolution: {integrity: sha512-4gCnHRbJLTloiwfvFAa92tgb2gI4KYhvjfQVYnEaiMO/EgvWfCo1LwytHXen+1oZAN0VAlS0JAPxp3MsvKDa3A==} + engines: {node: '>=20.0'} + + '@docusaurus/logger@3.10.2': + resolution: {integrity: sha512-gSEwqtPfCAnC3ZSJY6xL7tcIfgg0vFD39jbv93eakuweyvO2864xR0K+kmKwBhkTCtWRNjuGGnb5rdmkD/ndqw==} + engines: {node: '>=20.0'} + + '@docusaurus/mdx-loader@3.10.2': + resolution: {integrity: sha512-9Fd4V/SFjfrVQ0JH5EN0+iPWyFunvTeQE3gfyFeetqPaXMP0OylIjOw16dCuXG4NZJrYdBqwzjh18/h3gRi47w==} + engines: {node: '>=20.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/module-type-aliases@3.10.2': + resolution: {integrity: sha512-h/I5e4jaAhDHW4vaLENi1i2hnOEnXY1t9R+nnRTbgUl7ymVRzN/HF7dDfj8rKYGj8gfIge+Ef+iYRAMtbGvsrQ==} + peerDependencies: + react: '*' + react-dom: '*' + + '@docusaurus/plugin-client-redirects@3.10.2': + resolution: {integrity: sha512-z5I5ttCXw+8y2gHVZvqAMmUw4Rb0ZzKA5eCPk87SfM/jCKOTvE24yDpPAwwipvug96ij7mOwEHXWw8G4LlWdGA==} + engines: {node: '>=20.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/plugin-content-blog@3.10.2': + resolution: {integrity: sha512-0cbEnNKf0InmLkhj/+nVRmqEnWEoOE8Mh+2x1qOXI0qYpCnphq4RXknVJ8BvybKRXqYVvbmdMfiJSup+k4tm5w==} + engines: {node: '>=20.0'} + peerDependencies: + '@docusaurus/plugin-content-docs': '*' + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/plugin-content-docs@3.10.2': + resolution: {integrity: sha512-Sqwl4FPoZBDrlY8I2VU2H8O0M91CHp9T8ToMSkTZmjvHCif+1laqfXi6sTk8IfyVS/trN5yNjcWd1bFsGB6W5Q==} + engines: {node: '>=20.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/plugin-content-pages@3.10.2': + resolution: {integrity: sha512-h5R12sZ/vV9EPiVjvIl9YFCOwkpwXes7dQMYt3EvP6Pphu4amHxxTqWxf08Fl5DR8h+oZMbWpFTNw5vKEYfvzQ==} + engines: {node: '>=20.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/plugin-css-cascade-layers@3.10.2': + resolution: {integrity: sha512-UkdvQby5OQUKWrw3lLnSTJXQ6VETaUVTuPQX9AABtmFm5h+ifEBx1OQ+LN726Q4byuwBf2ElHkf4qU4hTxdvRg==} + engines: {node: '>=20.0'} + + '@docusaurus/plugin-debug@3.10.2': + resolution: {integrity: sha512-8vbZNOSCpnsT57EY6CgN7sgRVmx3KTYwO8Uvo2pbxOyb8tbqAwtT9SslqaQ41HbA1v1hpn5RP7u5s2KvRwAFpQ==} + engines: {node: '>=20.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/plugin-google-analytics@3.10.2': + resolution: {integrity: sha512-kMHMBK9j4VAtgd5owwrRLRIi0EjkrpXlX7ePj1+y68XfVZV9I1T4S+koPDm+Hfw2TtnyHvh0uNrDvjz+DjQGVA==} + engines: {node: '>=20.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/plugin-google-gtag@3.10.2': + resolution: {integrity: sha512-Vt90nNFhtAChRe9+it1hcHFgFvETdSnOkL5Bma+p6E/yU2tAYrvvyk+gv+LJGM2ZUkyKuKXLRsZ2Lb0bO7+Vog==} + engines: {node: '>=20.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/plugin-google-tag-manager@3.10.2': + resolution: {integrity: sha512-MLCffCldysi/R0nzJQP7ZWd0xAoGNnSTiVOo6TTR6mKVGFhE+/XArGe67ZcaZv1uytgQXoXs92VJrgVDrz80rQ==} + engines: {node: '>=20.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/plugin-sitemap@3.10.2': + resolution: {integrity: sha512-PODkwg5XetLML3hU/3xpCKJUZ9cqExLaBnD/Fzzwj2VHogLeqnDisLIujae87zuze7T4mCm2A6KEqZkyiz07EQ==} + engines: {node: '>=20.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/plugin-svgr@3.10.2': + resolution: {integrity: sha512-JgfT3jWM0TJ8Uw0cEcqxHpybngQY1vlBYpuuNO+gEh5iPh5Ar+vxq/u9CFrYsWeXy48BN7Db76Pzp2edNXUQ8A==} + engines: {node: '>=20.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/preset-classic@3.10.2': + resolution: {integrity: sha512-a4B3VczmDl99zK0EufDQYomdJ186WDingjmDXxhN2PNPS9Ty/Y2M5CLFX1KQMRKqRTLiRDKfutzG5IY1FC/ceg==} + engines: {node: '>=20.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/react-loadable@6.0.0': + resolution: {integrity: sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==} + peerDependencies: + react: '*' + + '@docusaurus/theme-classic@3.10.2': + resolution: {integrity: sha512-JqTSLQmqmA9uKWZsD5iwBGJ4JyKB4/yTw6PsSXVPRJG/6GAm/u+add9Iip+hvwP12/AnPNztrdxsI14NJW4KeA==} + engines: {node: '>=20.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/theme-common@3.10.2': + resolution: {integrity: sha512-R9b/vMpK1yye6hNZTA6x/ivRv+at6GhxnXcxkpzCGzO1R1RwiquqiFg2wMFh6aqlJTpWRFKpFD2TzCDQcyOU0A==} + engines: {node: '>=20.0'} + peerDependencies: + '@docusaurus/plugin-content-docs': '*' + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/theme-search-algolia@3.10.2': + resolution: {integrity: sha512-1msxllyhi/5m77JukXtp5UFnUAriwZIC1oJ7MTnpQpCwLTbclJi5BK5n28CTZuSXpQN2ewbbnqRgAhMM6c6ihg==} + engines: {node: '>=20.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/theme-translations@3.10.2': + resolution: {integrity: sha512-iv20wrxnyXkY89LM3TzRlzGlt5fIGO5UnaR6UL1ZVfB9RRFjxQFQ6awDrwAc6Km8Y5gD8pInuwYPF+6/TiCxXA==} + engines: {node: '>=20.0'} + + '@docusaurus/tsconfig@3.10.2': + resolution: {integrity: sha512-5GiB7h/nFsMFPO9mCqcRNE1yA5TSXXNCshNIgHPL6fCPOjcTDixs6qjQBu8ddkgPcicwCvOA7n3jeK2rGdJk6g==} + + '@docusaurus/types@3.10.2': + resolution: {integrity: sha512-B6rvfwIFSapUqUJjMriZswX13K8l5Z7AcmVE6uTEJpYddQieSTR12DsGaFtcZAIDsQd4p+0WTl0Vc6jmZK0Trw==} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + + '@docusaurus/utils-common@3.10.2': + resolution: {integrity: sha512-x3Dz6jv6iQKBNjBmVTu8p57abMp/VNTUgKBMgRVXJc5444orBTsArv0+cdfrXTiz/VMmHfDRVkPbL7GH2B7T7w==} + engines: {node: '>=20.0'} + + '@docusaurus/utils-validation@3.10.2': + resolution: {integrity: sha512-sn8unbDfUL585NtR3cwHefPicOyaHvPaX7VD0aOg/siIxUBoKyKKaGEqzJZDS64mM43TnxurkYDtmB1wsJlZsw==} + engines: {node: '>=20.0'} + + '@docusaurus/utils@3.10.2': + resolution: {integrity: sha512-xx0W3eav2uW1NRIpuHJWNwLTC15xPNjU4Uxi9NSnd3swYC96BE3vFiT93SD8s24kmAAWNwgZwfZ2fghGZ01Lcw==} + engines: {node: '>=20.0'} + + '@easyops-cn/autocomplete.js@0.38.1': + resolution: {integrity: sha512-drg76jS6syilOUmVNkyo1c7ZEBPcPuK+aJA7AksM5ZIIbV57DMHCywiCr+uHyv8BE5jUTU98j/H7gVrkHrWW3Q==} + + '@easyops-cn/docusaurus-search-local@0.55.3': + resolution: {integrity: sha512-PlMKmxuonvZ1C+/zJS1hJaF1xaxD1TsUvOMzpP6DdQMtZqmTaYjcLGM12ePzl0m1rp3AgfTBeDbFNHQhwnH/dA==} + engines: {node: '>=12'} + peerDependencies: + '@docusaurus/theme-common': ^2 || ^3 + open-ask-ai: ^0.7.3 + react: ^16.14.0 || ^17 || ^18 || ^19 + react-dom: ^16.14.0 || 17 || ^18 || ^19 + peerDependenciesMeta: + open-ask-ai: + optional: true + + '@emnapi/core@1.11.3': + resolution: {integrity: sha512-zLpS5asjEb7lq8jYLq37N6XKaE41DIexlY1rF/z4/tIl3wo13Sqm28fRyfIsKZD+NZ8mM5RoKkpW/rBcuoSZSg==} + + '@emnapi/runtime@1.11.3': + resolution: {integrity: sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA==} + + '@emnapi/wasi-threads@1.2.3': + resolution: {integrity: sha512-ELEBe8PsLvvJ6QMr0zLt8ffvOHW/dc1m3CEzNMg7aJUv3bMaoDtw2TXyDAwkYBuroxxuHEwhRTLJSe5sya547g==} + + '@gerrit0/mini-shiki@3.23.0': + resolution: {integrity: sha512-bEMORlG0cqdjVyCEuU0cDQbORWX+kYCeo0kV1lbxF5bt4r7SID2l9bqsxJEM0zndaxpOUT7riCyIVEuqq/Ynxg==} + + '@hapi/hoek@9.3.0': + resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} + + '@hapi/topo@5.1.0': + resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} + + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/source-map@0.3.11': + resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==} + + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + + '@jsonjoy.com/base64@1.1.2': + resolution: {integrity: sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/base64@17.67.0': + resolution: {integrity: sha512-5SEsJGsm15aP8TQGkDfJvz9axgPwAEm98S5DxOuYe8e1EbfajcDmgeXXzccEjh+mLnjqEKrkBdjHWS5vFNwDdw==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/buffers@1.2.1': + resolution: {integrity: sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/buffers@17.67.0': + resolution: {integrity: sha512-tfExRpYxBvi32vPs9ZHaTjSP4fHAfzSmcahOfNxtvGHcyJel+aibkPlGeBB+7AoC6hL7lXIE++8okecBxx7lcw==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/codegen@1.0.0': + resolution: {integrity: sha512-E8Oy+08cmCf0EK/NMxpaJZmOxPqM+6iSe2S4nlSBrPZOORoDJILxtbSUEDKQyTamm/BVAhIGllOBNU79/dwf0g==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/codegen@17.67.0': + resolution: {integrity: sha512-idnkUplROpdBOV0HMcwhsCUS5TRUi9poagdGs70A6S4ux9+/aPuKbh8+UYRTLYQHtXvAdNfQWXDqZEx5k4Dj2Q==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/fs-core@4.68.1': + resolution: {integrity: sha512-V5oZ4Gt9WJKyQef0n9cAd0N9qjSkIBm3E4MYsgNIWBk5aINCDPKxMPo1i29rBxqiT4Ixf1epklqV9VJMKIxwlw==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/fs-fsa@4.68.1': + resolution: {integrity: sha512-HCG72UioncuO7Gw09XNVG+S85e3cq2hrUC/mexBrsWsa3mI7eePkkqWie3uVYbtsb64OR9YGQs5SqaufDRYBcg==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/fs-node-builtins@4.68.1': + resolution: {integrity: sha512-HK1BTksysokNZxNspqDH0yPaqN9YgR/AYIlYiIaU2Ys4BOk5CdybI7r6BgiZuiiPiV8n4sK/kZdice7Znpy2Kw==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/fs-node-to-fsa@4.68.1': + resolution: {integrity: sha512-lpKmU4X9e/oh8GIuAI7EXaS5QiLNM3KD15CkdhfS6PYmrGvoJqKQcyEfnLgnnaGslh/PFUMYSIZBCf2ejJGw8g==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/fs-node-utils@4.68.1': + resolution: {integrity: sha512-/GxfW1DWm9SCdkfbvqevLO/P5duobQfmKkHXxdMIDbcZMQeAgooAstIfZhkXpATzq9QbCQsnoWFM/dGHdZfndw==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/fs-node@4.68.1': + resolution: {integrity: sha512-R5D9mWtqdURzcOWj1vdXr3APCwX0xchtFT+kmW7fXLNDifWdDrnh26jSID8pdnUfFBxTyfHtFtTL/NWKzIH7kQ==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/fs-print@4.68.1': + resolution: {integrity: sha512-oGeZOGPYKK9v1CgeVeEDsLomH1lCnslSpqUN5GmPzrmAVGQlsmsdcXNA2O4lV8Y4xkuSuynx2ITBkUHJVaTbow==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/fs-snapshot@4.68.1': + resolution: {integrity: sha512-XZfP0FDZN32bbc4t2bZN2qRrYHg5AktJnzk22HRoKGK4BprrbNRH2k5ceSNS/kupKYcofCs+O841+xaAbjnxwQ==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/json-pack@1.21.0': + resolution: {integrity: sha512-+AKG+R2cfZMShzrF2uQw34v3zbeDYUqnQ+jg7ORic3BGtfw9p/+N6RJbq/kkV8JmYZaINknaEQ2m0/f693ZPpg==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/json-pack@17.67.0': + resolution: {integrity: sha512-t0ejURcGaZsn1ClbJ/3kFqSOjlryd92eQY465IYrezsXmPcfHPE/av4twRSxf6WE+TkZgLY+71vCZbiIiFKA/w==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/json-pointer@1.0.2': + resolution: {integrity: sha512-Fsn6wM2zlDzY1U+v4Nc8bo3bVqgfNTGcn6dMgs6FjrEnt4ZCe60o6ByKRjOGlI2gow0aE/Q41QOigdTqkyK5fg==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/json-pointer@17.67.0': + resolution: {integrity: sha512-+iqOFInH+QZGmSuaybBUNdh7yvNrXvqR+h3wjXm0N/3JK1EyyFAeGJvqnmQL61d1ARLlk/wJdFKSL+LHJ1eaUA==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/util@1.9.0': + resolution: {integrity: sha512-pLuQo+VPRnN8hfPqUTLTHk126wuYdXVxE6aDmjSeV4NCAgyxWbiOIeNJVtID3h1Vzpoi9m4jXezf73I6LgabgQ==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/util@17.67.0': + resolution: {integrity: sha512-6+8xBaz1rLSohlGh68D1pdw3AwDi9xydm8QNlAFkvnavCJYSze+pxoW2VKP8p308jtlMRLs5NTHfPlZLd4w7ew==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@leichtgewicht/ip-codec@2.0.5': + resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} + + '@loaderkit/resolve@1.0.6': + resolution: {integrity: sha512-G8FdIoF5CypfwmD9rl8BXod5HDn8JqB0CCNBXDTaRZ+yRYhARrrSToX1zg1zy9jX3zLqigsELwhT4gNtkdQAUg==} + + '@manypkg/find-root@3.1.0': + resolution: {integrity: sha512-BcSqCyKhBVZ5YkSzOiheMCV41kqAFptW6xGqYSTjkVTl9XQpr+pqHhwgGCOHQtjDCv7Is6EFyA14Sm5GVbVABA==} + engines: {node: '>=20.0.0'} + + '@manypkg/get-packages@3.1.0': + resolution: {integrity: sha512-0TbBVyvPrP7xGYBI/cP8UP+yl/z+HtbTttAD7FMAJgn/kXOTwh5/60TsqP9ZYY710forNfyV0N8P/IE/ujGZJg==} + engines: {node: '>=20.0.0'} + + '@manypkg/tools@2.1.2': + resolution: {integrity: sha512-6QEf6yqFbETdwGITKq57aYoPfX/3K8XFNwsAlx0C1M7o8cb79sv1M3w+tWuWvIcSbNqrLF7OD7YpZMVVz335hQ==} + engines: {node: '>=20.0.0'} + + '@mdx-js/mdx@3.1.1': + resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==} + + '@mdx-js/react@3.1.1': + resolution: {integrity: sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw==} + peerDependencies: + '@types/react': '>=16' + react: '>=16' + + '@napi-rs/wasm-runtime@0.2.12': + resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==} + + '@noble/hashes@1.4.0': + resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} + engines: {node: '>= 16'} + + '@node-rs/jieba-android-arm-eabi@1.10.4': + resolution: {integrity: sha512-MhyvW5N3Fwcp385d0rxbCWH42kqDBatQTyP8XbnYbju2+0BO/eTeCCLYj7Agws4pwxn2LtdldXRSKavT7WdzNA==} + engines: {node: '>= 10'} + cpu: [arm] + os: [android] + + '@node-rs/jieba-android-arm64@1.10.4': + resolution: {integrity: sha512-XyDwq5+rQ+Tk55A+FGi6PtJbzf974oqnpyCcCPzwU3QVXJCa2Rr4Lci+fx8oOpU4plT3GuD+chXMYLsXipMgJA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@node-rs/jieba-darwin-arm64@1.10.4': + resolution: {integrity: sha512-G++RYEJ2jo0rxF9626KUy90wp06TRUjAsvY/BrIzEOX/ingQYV/HjwQzNPRR1P1o32a6/U8RGo7zEBhfdybL6w==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@node-rs/jieba-darwin-x64@1.10.4': + resolution: {integrity: sha512-MmDNeOb2TXIZCPyWCi2upQnZpPjAxw5ZGEj6R8kNsPXVFALHIKMa6ZZ15LCOkSTsKXVC17j2t4h+hSuyYb6qfQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@node-rs/jieba-freebsd-x64@1.10.4': + resolution: {integrity: sha512-/x7aVQ8nqUWhpXU92RZqd333cq639i/olNpd9Z5hdlyyV5/B65LLy+Je2B2bfs62PVVm5QXRpeBcZqaHelp/bg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + + '@node-rs/jieba-linux-arm-gnueabihf@1.10.4': + resolution: {integrity: sha512-crd2M35oJBRLkoESs0O6QO3BBbhpv+tqXuKsqhIG94B1d02RVxtRIvSDwO33QurxqSdvN9IeSnVpHbDGkuXm3g==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@node-rs/jieba-linux-arm64-gnu@1.10.4': + resolution: {integrity: sha512-omIzNX1psUzPcsdnUhGU6oHeOaTCuCjUgOA/v/DGkvWC1jLcnfXe4vdYbtXMh4XOCuIgS1UCcvZEc8vQLXFbXQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@node-rs/jieba-linux-arm64-musl@1.10.4': + resolution: {integrity: sha512-Y/tiJ1+HeS5nnmLbZOE+66LbsPOHZ/PUckAYVeLlQfpygLEpLYdlh0aPpS5uiaWMjAXYZYdFkpZHhxDmSLpwpw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@node-rs/jieba-linux-x64-gnu@1.10.4': + resolution: {integrity: sha512-WZO8ykRJpWGE9MHuZpy1lu3nJluPoeB+fIJJn5CWZ9YTVhNDWoCF4i/7nxz1ntulINYGQ8VVuCU9LD86Mek97g==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@node-rs/jieba-linux-x64-musl@1.10.4': + resolution: {integrity: sha512-uBBD4S1rGKcgCyAk6VCKatEVQb6EDD5I40v/DxODi5CuZVCANi9m5oee/MQbAoaX7RydA2f0OSCE9/tcwXEwUg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@node-rs/jieba-wasm32-wasi@1.10.4': + resolution: {integrity: sha512-Y2umiKHjuIJy0uulNDz9SDYHdfq5Hmy7jY5nORO99B4pySKkcrMjpeVrmWXJLIsEKLJwcCXHxz8tjwU5/uhz0A==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@node-rs/jieba-win32-arm64-msvc@1.10.4': + resolution: {integrity: sha512-nwMtViFm4hjqhz1it/juQnxpXgqlGltCuWJ02bw70YUDMDlbyTy3grCJPpQQpueeETcALUnTxda8pZuVrLRcBA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@node-rs/jieba-win32-ia32-msvc@1.10.4': + resolution: {integrity: sha512-DCAvLx7Z+W4z5oKS+7vUowAJr0uw9JBw8x1Y23Xs/xMA4Em+OOSiaF5/tCJqZUCJ8uC4QeImmgDFiBqGNwxlyA==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + + '@node-rs/jieba-win32-x64-msvc@1.10.4': + resolution: {integrity: sha512-+sqemSfS1jjb+Tt7InNbNzrRh1Ua3vProVvC4BZRPg010/leCbGFFiQHpzcPRfpxAXZrzG5Y0YBTsPzN/I4yHQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@node-rs/jieba@1.10.4': + resolution: {integrity: sha512-GvDgi8MnBiyWd6tksojej8anIx18244NmIOc1ovEw8WKNUejcccLfyu8vj66LWSuoZuKILVtNsOy4jvg3aoxIw==} + engines: {node: '>= 10'} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@oxc-project/types@0.143.0': + resolution: {integrity: sha512-u6JZdLBTLotrNC9Vd6vPssINdzcCzleKAH6EJKImQb7GtYvX5keN2dxkoK44stCc4tffE6QQRtZTXVSzsLUlWA==} + + '@peculiar/asn1-cms@2.8.0': + resolution: {integrity: sha512-NgekZOrSJFSBFLFoLfwePguAWAx7z1+f2TEsWFUMyiqqfntZ4+S/S5hzqME3q4pCA0iOsFKdwiQ35dwY24eVqA==} + + '@peculiar/asn1-csr@2.8.0': + resolution: {integrity: sha512-akbF8+uvleHs8sejNPQxwmVFuInAg6FMNHOwMILXfP518YfFJwdR3jr6oNUPOaEJfuEhn/vkNOCIT6ASUd4mbg==} + + '@peculiar/asn1-ecc@2.8.0': + resolution: {integrity: sha512-ohwlk+u9Rv2NOAY1c6MfHj45ATVF8R1DUN/WCgABiRtLi2ZftlZWZX7KvpAbU8v9xPcmoILfELeEABj/rn18AQ==} + + '@peculiar/asn1-pfx@2.8.0': + resolution: {integrity: sha512-5yof1ytoB++RQtaFbqSUJ8pxDJtZT6vbVqZ8XoJ61ph7UjNVvfFwAilnCodqkNsAodpy13gDhoxZXw00pghnyg==} + + '@peculiar/asn1-pkcs8@2.8.0': + resolution: {integrity: sha512-qAKXtLpBEw9LqhKpjw3ajZSXlBur+ipW+y2ivVBQAG6F6qRx94yO+1ZR4mvw+YaCfKSaOzLeYEzsPaBp4SJELA==} + + '@peculiar/asn1-pkcs9@2.8.0': + resolution: {integrity: sha512-b5nDWCnkV60+cQ141D6sVVwK9nz64R5n3zSVnklGd+ECdkW2Ol3U1a6yYFlalpSOaD557yuJB64A+q42jG7lUQ==} + + '@peculiar/asn1-rsa@2.8.0': + resolution: {integrity: sha512-zHEUlCqB2mk7x2lxDwHHJy7hWZOPdGHVlsmITWKB5/PbQo61atbu9PJ/0r9dQNMwFzbKPXZ8uK8/91eUhRznSg==} + + '@peculiar/asn1-schema@2.8.0': + resolution: {integrity: sha512-7YT0U/ze0tF2QOBbE15gKZwy5tvgGyLRiRHLzhlbOpf7BT032oBSd0haZqXn5W6l26WLlu3dyxzjM+2638/z2Q==} + + '@peculiar/asn1-x509-attr@2.8.0': + resolution: {integrity: sha512-tHjkfS/qhMnmrlB2J9NhflQlQ7In3khO3CfmVrriOlpTeErY9ZIKOso1hQ5JQiyrJ7ShvqVPk7E5fQmbclkSKA==} + + '@peculiar/asn1-x509@2.8.0': + resolution: {integrity: sha512-N0CMuhWUzsWEVq6F1q9X6+VKUnWzSW+cSVg+aPaGGwDdbFoFWTYgin5MHwXgpWd6y9COMBxnfy/Qc+Xc7F0Zwg==} + + '@peculiar/utils@2.0.3': + resolution: {integrity: sha512-+oL3HPFRIZ1St2K50lWCXiioIgSoxzz7R1J3uF6neO2yl1sgmpgY6XXJH4BdpoDkMWznQTeYF6oWNDZLCdQ4eQ==} + + '@peculiar/x509@1.14.3': + resolution: {integrity: sha512-C2Xj8FZ0uHWeCXXqX5B4/gVFQmtSkiuOolzAgutjTfseNOHT3pUjljDZsTSxXFGgio54bCzVFqmEOUrIVk8RDA==} + engines: {node: '>=20.0.0'} + + '@pnpm/config.env-replace@1.1.0': + resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} + engines: {node: '>=12.22.0'} + + '@pnpm/deps.graph-sequencer@1100.0.1': + resolution: {integrity: sha512-pOr5+q1fLYKwFN3LAJuGZEnfXDcQ73zqgDHMtGy+K+uIoUqyY+6MeDCWFwfu+4EFuq76I5EPFofoNAI+Bmmq4A==} + engines: {node: '>=22.13'} + + '@pnpm/network.ca-file@1.0.2': + resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} + engines: {node: '>=12.22.0'} + + '@pnpm/npm-conf@3.0.3': + resolution: {integrity: sha512-//0sR/cow/s4ICQaYoAobOl4aU8cjU6x/V24V7XkKotb9+O+3zySIYp146vpaobYHnxa4pZX8NkV54Z5AwbDKA==} + engines: {node: '>=12'} + + '@polka/url@1.0.0-next.29': + resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} + + '@publint/pack@0.1.6': + resolution: {integrity: sha512-3uVNyGcVplhPZSLVyeIpL7+cIRn1YCSNHLG/rUIlBQMVH8YuN9++YF+5+UDIIO9RW98dujiUoTltO7RDB5bFJA==} + engines: {node: '>=18'} + + '@quansync/fs@1.0.0': + resolution: {integrity: sha512-4TJ3DFtlf1L5LDMaM6CanJ/0lckGNtJcMjQ1NAV6zDmA0tEHKZtxNKin8EgPaVX1YzljbxckyT2tJrpQKAtngQ==} + + '@rolldown/binding-android-arm64@1.2.3': + resolution: {integrity: sha512-zrJtHDcaZJ1Fp7xf4hNl+7seH9Cn/N5TwLYkhgXREtBwAd/jaqW3uqeHxpDugJLVICWg4eW44kOQEGJ1r6jCGw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + + '@rolldown/binding-darwin-arm64@1.2.3': + resolution: {integrity: sha512-ieIiibVCp0tX7TLu2cafoNPv8wJyYi01ekXpbf8q2j7F4rGAhhXb/eQh7ge9DRBY78GwmRQtvjZDux7EDbA8kA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + + '@rolldown/binding-darwin-x64@1.2.3': + resolution: {integrity: sha512-Zh9tCon19eDXJoihx0rqKhMUlMYqzwj3aPsSuHmI4RWZh62dWUL+DJN4C5YQya5TcQBJU/Fe8+rY0jhXTQITqA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + + '@rolldown/binding-freebsd-x64@1.2.3': + resolution: {integrity: sha512-nGbJWewA1wrXXZiQhjAT5rhibGfns5ZNkDVqxsO6zJ3f3YvpoDNNmGMSbbhLuXKjNScaBJVOAboztAWVespQMg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@rolldown/binding-linux-arm-gnueabihf@1.2.3': + resolution: {integrity: sha512-QNniJr5Kml0kDEB98jiDOJjXNroxIIi0IXIbdYzY26Xt1pVbeP62+KnoIZLwirOymX/0jDk/2gI/bNUv7A7OIw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@rolldown/binding-linux-arm64-gnu@1.2.3': + resolution: {integrity: sha512-TkqEAcmmvH3I/q4114NB4RVt6241Dao48pF45uLcFGrwAaIn0iITgTAKP/dLjbN0R4buJjGb91+UHSoFmpgIWw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@rolldown/binding-linux-arm64-musl@1.2.3': + resolution: {integrity: sha512-NHqjnxpsndf4MPymxteFAWHHfkTL8HjWh1KB7z23ofZ6QO2euONuxDXjat69dKZRALnGypg8k8SsK8vZJoXv1Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@rolldown/binding-linux-ppc64-gnu@1.2.3': + resolution: {integrity: sha512-6tbrbwfz5GB9DQ4Jwo6hy9v+vR31xZlvzZ6n5Xut6Hhx5PvrA9q/HsK8KMaYQp063iqZGXwNvZtYNLD7EM/x0w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@rolldown/binding-linux-s390x-gnu@1.2.3': + resolution: {integrity: sha512-oyuXxXmoZHjXC917IAPFAAv4wWAa0cM9afk8nx1+9/jNNOX1uPf8yDA6p7G0RypOfw/X0PQt5IfoquY1um+zSg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@rolldown/binding-linux-x64-gnu@1.2.3': + resolution: {integrity: sha512-TytMwF2KVGqP2tgd0I1OY0PAv78dZRAYcF5ssDzjM34SUXCED3uXvSd5+lHoC0bTD6eEdFz7LdQNCO1y0oVk9w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@rolldown/binding-linux-x64-musl@1.2.3': + resolution: {integrity: sha512-/E9m3qstrJFVPoULV25mVQblSNExY2+kBsYe4sy0Tn0yOOgJ8wZbZt3KnRbF/XeU2Gl1STKUQnDNTqhIE5MD4A==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + + '@rolldown/binding-openharmony-arm64@1.2.3': + resolution: {integrity: sha512-Kr0OcsoQI816i6HOl3vFHpd1K0eZyh76zgfj4c1nTyaTsd5r2Mj1lwM4R90y/qaCfmTn9eHy0SKwi98eitRxug==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@rolldown/binding-win32-arm64-msvc@1.2.3': + resolution: {integrity: sha512-hOtMwTqnME+/gJcH/PCZ0wn0zPUjiWOgkHpxbSJpfGKMezHltx1S7/k1SitzVa7Ww2cqrDDaFbZEhcJZO8o+Jw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@rolldown/binding-win32-x64-msvc@1.2.3': + resolution: {integrity: sha512-ekcqMMkI2PlhYnfzQnB/cEdYUVVJViWvoUyLrbzgDoi3Snfc1mVBwdnc306ufA5ejy8JSPjT2RlW1nQSjW7efg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + + '@rolldown/pluginutils@1.0.1': + resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} + + '@shikijs/engine-oniguruma@3.23.0': + resolution: {integrity: sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g==} + + '@shikijs/langs@3.23.0': + resolution: {integrity: sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg==} + + '@shikijs/themes@3.23.0': + resolution: {integrity: sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA==} + + '@shikijs/types@3.23.0': + resolution: {integrity: sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ==} + + '@shikijs/vscode-textmate@10.0.2': + resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} + + '@sideway/address@4.1.5': + resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} + + '@sideway/formula@3.0.1': + resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==} + + '@sideway/pinpoint@2.0.0': + resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} + + '@sinclair/typebox@0.27.12': + resolution: {integrity: sha512-hhyNJ+nbR6ZR7pToHvllEFun9TL0sbL+tk/ON75lo+Xas054uez98qRbsuNt7MBCyZKK4+8Yli/OAGZhmfBZ/g==} + + '@sindresorhus/is@4.6.0': + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} + + '@sindresorhus/is@5.6.0': + resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} + engines: {node: '>=14.16'} + + '@slack/types@3.0.0': + resolution: {integrity: sha512-KNOqpnNAlsFt5Jk9XBclslQ0lobRIg/0tnhpmvZJAglHJx9E8oceN8hC3gaBzkR6UzQ9Wzq4rLsJ98wUcxWPfw==} + engines: {node: '>= 20', npm: '>=9.6.4'} + + '@slorber/react-helmet-async@1.3.0': + resolution: {integrity: sha512-e9/OK8VhwUSc67diWI8Rb3I0YgI9/SBQtnhe9aEuK6MhZm7ntZZimXgwXnd8W96YTmSOb9M4d8LwhRZyhWr/1A==} + peerDependencies: + react: ^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + '@slorber/remark-comment@1.0.0': + resolution: {integrity: sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==} + + '@standard-schema/spec@1.1.0': + resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} + + '@svgr/babel-plugin-add-jsx-attribute@8.0.0': + resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-remove-jsx-attribute@8.0.0': + resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0': + resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0': + resolution: {integrity: sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-svg-dynamic-title@8.0.0': + resolution: {integrity: sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-svg-em-dimensions@8.0.0': + resolution: {integrity: sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-transform-react-native-svg@8.1.0': + resolution: {integrity: sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-transform-svg-component@8.0.0': + resolution: {integrity: sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==} + engines: {node: '>=12'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-preset@8.1.0': + resolution: {integrity: sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/core@8.1.0': + resolution: {integrity: sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==} + engines: {node: '>=14'} + + '@svgr/hast-util-to-babel-ast@8.0.0': + resolution: {integrity: sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==} + engines: {node: '>=14'} + + '@svgr/plugin-jsx@8.1.0': + resolution: {integrity: sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==} + engines: {node: '>=14'} + peerDependencies: + '@svgr/core': '*' + + '@svgr/plugin-svgo@8.1.0': + resolution: {integrity: sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==} + engines: {node: '>=14'} + peerDependencies: + '@svgr/core': '*' + + '@svgr/webpack@8.1.0': + resolution: {integrity: sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==} + engines: {node: '>=14'} + + '@szmarczak/http-timer@5.0.1': + resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} + engines: {node: '>=14.16'} + + '@tybys/wasm-util@0.10.3': + resolution: {integrity: sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==} + + '@types/body-parser@1.19.6': + resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==} + + '@types/bonjour@3.5.13': + resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} + + '@types/chai@5.2.3': + resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} + + '@types/connect-history-api-fallback@1.5.4': + resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} + + '@types/connect@3.4.38': + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + + '@types/debug@4.1.13': + resolution: {integrity: sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==} + + '@types/deep-eql@4.0.2': + resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} + + '@types/estree-jsx@1.0.5': + resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} + + '@types/estree@1.0.9': + resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} + + '@types/express-serve-static-core@4.19.9': + resolution: {integrity: sha512-QP2ESEe/ImWY0HDwNAnK9PvEffUyhLTnWkk7KXzHfyeWAnlrDe1fN77bXl6ia8KT3wPlmA7t9/VPRpnf4Ex9sg==} + + '@types/express@4.17.25': + resolution: {integrity: sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==} + + '@types/hast@3.0.5': + resolution: {integrity: sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g==} + + '@types/history@4.7.11': + resolution: {integrity: sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==} + + '@types/html-minifier-terser@6.1.0': + resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} + + '@types/http-cache-semantics@4.2.0': + resolution: {integrity: sha512-L3LgimLHXtGkWikKnsPg0/VFx9OGZaC+eN1u4r+OB1XRqH3meBIAVC2zr1WdMH+RHmnRkqliQAOHNJ/E0j/e0Q==} + + '@types/http-errors@2.0.5': + resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==} + + '@types/http-proxy@1.17.17': + resolution: {integrity: sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw==} + + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + + '@types/mdx@2.0.14': + resolution: {integrity: sha512-T48PeuJtvLosNTPVhfnIp3i/n3a4g4Bad7YCq5k64D4u7NwDrAotikQ+5+sjtUvBmxCMlbo3dVL+C2dP0rWHzg==} + + '@types/mime@1.3.5': + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + + '@types/ms@2.1.0': + resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} + + '@types/node@17.0.45': + resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} + + '@types/node@26.2.0': + resolution: {integrity: sha512-5IviulTZeRNp2vAJ514cc/HUlY5nZ9fCbq9DMyC52BrhFZACo3nI0R7qBxhQmo/d27NFe96ur/b7Wwxklda+kg==} + + '@types/prismjs@1.26.6': + resolution: {integrity: sha512-vqlvI7qlMvcCBbVe0AKAb4f97//Hy0EBTaiW8AalRnG/xAN5zOiWWyrNqNXeq8+KAuvRewjCVY1+IPxk4RdNYw==} + + '@types/prop-types@15.7.15': + resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==} + + '@types/qs@6.15.1': + resolution: {integrity: sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw==} + + '@types/range-parser@1.2.7': + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + + '@types/react-router-config@5.0.11': + resolution: {integrity: sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==} + + '@types/react-router-dom@5.3.3': + resolution: {integrity: sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==} + + '@types/react-router@5.1.20': + resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==} + + '@types/react@18.3.28': + resolution: {integrity: sha512-z9VXpC7MWrhfWipitjNdgCauoMLRdIILQsAEV+ZesIzBq/oUlxk0m3ApZuMFCXdnS4U7KrI+l3WRUEGQ8K1QKw==} + + '@types/react@19.2.18': + resolution: {integrity: sha512-AnzbBERsrLKtk2XSfTbYRLjQPdy116Sty4q+T+Bp3IC4l6jNBvreVPAHmpq9qhXQM7CXZPjLVmGMw9sy+hxQ3w==} + + '@types/retry@0.12.2': + resolution: {integrity: sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==} + + '@types/sax@1.2.7': + resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} + + '@types/send@0.17.6': + resolution: {integrity: sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==} + + '@types/send@1.2.1': + resolution: {integrity: sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==} + + '@types/serve-index@1.9.4': + resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==} + + '@types/serve-static@1.15.10': + resolution: {integrity: sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==} + + '@types/sockjs@0.3.36': + resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} + + '@types/unist@2.0.11': + resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} + + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + + '@types/ws@8.18.1': + resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@17.0.35': + resolution: {integrity: sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==} + + '@ungap/structured-clone@1.3.3': + resolution: {integrity: sha512-60YRaenCQcVjYEKOcG824+DRGGIQ3VKErcBoAEDJZz5bKIs2ZG+X/H9Nk+Q6EVkwJk5QNApxbrc5QtBSwtrXAg==} + + '@vitest/coverage-v8@4.1.10': + resolution: {integrity: sha512-IM49HmthevbgAO4anp1hwtoT9wYe59w0LR00gr+eagHE+ZJ5lK4sLPeO0ubgoJcwLk6dehU3R24N+FbEEKDc8g==} + peerDependencies: + '@vitest/browser': 4.1.10 + vitest: 4.1.10 + peerDependenciesMeta: + '@vitest/browser': + optional: true + + '@vitest/expect@4.1.10': + resolution: {integrity: sha512-YsCn+qAk1GWjQOWFEsEcL2gNQ0zmVmQu3T03qP6UyjhtmdtwtbuI+DASn/7iQB3HGTXkdBwGddzxPlmiql5vlA==} + + '@vitest/mocker@4.1.10': + resolution: {integrity: sha512-v0xaezt+DKEmKfaxg133ldzADrwLGd7Ze1MfQQTYfvs8OqZIwbxyxaYURivwV7sWy5fqn3rH5uOrSp07bp44Ow==} + peerDependencies: + msw: ^2.4.9 + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + + '@vitest/pretty-format@4.1.10': + resolution: {integrity: sha512-W1HsjSH4MXQ9YfmmhLAoIYf1HRfekQCGngeIgcei6MP5QQGWUe0gkopdZQaVCFO+JDJMrAJGwa5pRpNpvy4P8Q==} + + '@vitest/runner@4.1.10': + resolution: {integrity: sha512-IKI6kpIH+LmpROplyLwBBaCfMgOZOMsygVa6BARD6ahA04VRuJSa6OaVG7kRvSEMD870Vd91rSSw0eegtWyLGg==} + + '@vitest/snapshot@4.1.10': + resolution: {integrity: sha512-xRkfOT1qpTAi/Ti4Y1LtfRc3kEuqxGw59eN2jN9pRWMtS/XDevekhcFSqvQqjUNGksfjMJu3Y+oJ+4Ypn2OaJw==} + + '@vitest/spy@4.1.10': + resolution: {integrity: sha512-PLf/Ugvoq5wO/b4rwYCR1h2PSIdXz7wnkQFMiUpLdtM7l6pqVFcQIBEHyT1+l+cj7mNwAfZHzqXqDyjvOuwbDw==} + + '@vitest/utils@4.1.10': + resolution: {integrity: sha512-fy9am/HWxbaGt/Sawrp90vt6Y6jQwf1RX77cz3uwoJwJVMli/e1IEwRPnMNJ7vKfPTwo0diXifkpPvwH9v7nGA==} + + '@webassemblyjs/ast@1.14.1': + resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} + + '@webassemblyjs/floating-point-hex-parser@1.13.2': + resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==} + + '@webassemblyjs/helper-api-error@1.13.2': + resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==} + + '@webassemblyjs/helper-buffer@1.14.1': + resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==} + + '@webassemblyjs/helper-numbers@1.13.2': + resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==} + + '@webassemblyjs/helper-wasm-bytecode@1.13.2': + resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==} + + '@webassemblyjs/helper-wasm-section@1.14.1': + resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==} + + '@webassemblyjs/ieee754@1.13.2': + resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==} + + '@webassemblyjs/leb128@1.13.2': + resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==} + + '@webassemblyjs/utf8@1.13.2': + resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==} + + '@webassemblyjs/wasm-edit@1.14.1': + resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==} + + '@webassemblyjs/wasm-gen@1.14.1': + resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==} + + '@webassemblyjs/wasm-opt@1.14.1': + resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==} + + '@webassemblyjs/wasm-parser@1.14.1': + resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==} + + '@webassemblyjs/wast-printer@1.14.1': + resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} + + '@xtuc/ieee754@1.2.0': + resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + + '@xtuc/long@4.2.2': + resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + + '@yuku-codegen/binding-android-arm64@0.8.4': + resolution: {integrity: sha512-rsYkGl2kOkDRsh1mxriYnk1qBS78vjlBJ3+T2XwtwKwqOliy2n+2Ae0EDxJ/uX1DZLm3KkBZarGO5isEnmHchA==} + cpu: [arm64] + os: [android] + + '@yuku-codegen/binding-darwin-arm64@0.8.4': + resolution: {integrity: sha512-tNLKzPF3FYmEcHSYvWp/LEpjHHAtDR13hwo6/gdCkYMi9x59CWn2obczKzWNe7kDor4/1AMZuJDEVRpFkTSefw==} + cpu: [arm64] + os: [darwin] + + '@yuku-codegen/binding-darwin-x64@0.8.4': + resolution: {integrity: sha512-tK7LWzXNb5JbZpnoCNHB0nEhPFss/LwwehM6m/f0oYDan+iZgFZXzdoy80JdE7dVxjTZDIhUNPx8X8xbIdaoxA==} + cpu: [x64] + os: [darwin] + + '@yuku-codegen/binding-freebsd-x64@0.8.4': + resolution: {integrity: sha512-5MUV4d7g2p5Hd8GiXW6ynTRgYjm4Dw4eM2gaWRZ4crkGetzNx+HlPxcEfGtVNPqH5Qaa4Z2REtzdsdgvaE6/Ng==} + cpu: [x64] + os: [freebsd] + + '@yuku-codegen/binding-linux-arm-gnu@0.8.4': + resolution: {integrity: sha512-g6LnHrR0Rfqq5cXs7olwR2+LlVDc876pw7Hh7YXbukVSiBxQkaxqsEO/trO25z2g99zWzgXwoYvQZ1TnwA2wEw==} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@yuku-codegen/binding-linux-arm-musl@0.8.4': + resolution: {integrity: sha512-7XAPHrROPEFuJWXEGZeLZQN4xR8ENQ65+HSCtCHjSzCwGgnX53GUjM9ExVcHopV0a5g4vu57v2wwtyWIM5iNOQ==} + cpu: [arm] + os: [linux] + libc: [musl] + + '@yuku-codegen/binding-linux-arm64-gnu@0.8.4': + resolution: {integrity: sha512-fnBm7NLuuwFXy7F1vRIuyOc+RW9ADUjuCKVGY87Dj8jtr9XgESNrwb+B9VLSFY7nZ0rCdK/Sm1fBqJpI7eLdKQ==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@yuku-codegen/binding-linux-arm64-musl@0.8.4': + resolution: {integrity: sha512-6vTw4ZHO9nm4SUkw36uG+UE6/qifZ0E8HIef7Mx/U/c2Zxu3JLBfXtU7U/NN2GMkDmcJkgwjXfpQoYw4Ch5Y1w==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@yuku-codegen/binding-linux-x64-gnu@0.8.4': + resolution: {integrity: sha512-+vuC3V3Lw+DB4oJgHV9pVDfQZlsZJnxmbdods7HzxgEALU3P5+czwdAcw3wfh7Ebabt0Ny8eLUb1k9RV5OB/+w==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@yuku-codegen/binding-linux-x64-musl@0.8.4': + resolution: {integrity: sha512-QH60PE4eZecmgNGa1/T1cKPhrfxt6ANtu4lrQ1FZ50F9b0GS9WjGmIjrfdSUeQa+f2Iqk3oEFSJdgVHBg1KPNg==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@yuku-codegen/binding-win32-arm64@0.8.4': + resolution: {integrity: sha512-6r68c0nKZPIBRXZIBiD7zjlEukBR+xRxpTOVj4n1Fsjcdh4YbbJfjFfmIzdbo9jXR1xL+dPueDVdsRGOUH5MoQ==} + cpu: [arm64] + os: [win32] + + '@yuku-codegen/binding-win32-x64@0.8.4': + resolution: {integrity: sha512-i+BW77LPjNqe7Apq50J3OeEaVfga3G+eT2bKjb6bj4yO99fil/jnKb4ZDH4JLvby/Q7hRa6VicL2EZ7iS+ifzA==} + cpu: [x64] + os: [win32] + + '@yuku-parser/binding-android-arm64@0.8.4': + resolution: {integrity: sha512-+HIMmv08Zrh9ugIAEMnKBMMePOl7CDxrjc8Vui1+GG2TJHM1yI1+3wo1pnXB6Nj2IiHugDkQw8ycUI6SA2EUkQ==} + cpu: [arm64] + os: [android] + + '@yuku-parser/binding-darwin-arm64@0.8.4': + resolution: {integrity: sha512-Elf/B/2m3OsyvxoQnBk8Dtu+9csHkzBNs5Yv9GbHjT3x0kVKNWjFusyZgm41VwxcPDqdpRi8tWxNX7OqXkmf/A==} + cpu: [arm64] + os: [darwin] + + '@yuku-parser/binding-darwin-x64@0.8.4': + resolution: {integrity: sha512-CjZuMoXnL5XUkVpDqh4WDPwpAw8CwmtHHnTerGkS45So/sNuwkXdyIAEqqIZfaLopi5W/V9NApAT2md9XizjsQ==} + cpu: [x64] + os: [darwin] + + '@yuku-parser/binding-freebsd-x64@0.8.4': + resolution: {integrity: sha512-ibLKORdz71iI4Vs+fyFgvwQ51P5XcxJIyQLa8cSEWqwptRdo+BTcZHIQEcZnFDPUuvmJ19RRH9CoiJdfhr7pZw==} + cpu: [x64] + os: [freebsd] + + '@yuku-parser/binding-linux-arm-gnu@0.8.4': + resolution: {integrity: sha512-Fo3r5fYhGDcFnl+KN+L9PgtiQPS4AIE1n1mG1o5jZ11p7g5yZ/1EjLFmSHAUsoXreun8KjTsFjEL7P1Sb93PZQ==} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@yuku-parser/binding-linux-arm-musl@0.8.4': + resolution: {integrity: sha512-BEB31vUEgXPWf7WkoMPSzzJhpC/wWCBXyysRCCPsw47BJ/OtbQsvJbxX9fFDuSRLy3kbyIV/WbdUTgbQ9COxiw==} + cpu: [arm] + os: [linux] + libc: [musl] + + '@yuku-parser/binding-linux-arm64-gnu@0.8.4': + resolution: {integrity: sha512-xGLCRcHn9xVz7JVNyyKtiNJSf503qtUmih9XVSsghgzOmiKUMnHObs69OMMwXN3788tg1jsl11fNjjQlB8idMA==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@yuku-parser/binding-linux-arm64-musl@0.8.4': + resolution: {integrity: sha512-3kNRi8NJT2q6FQRVCUFHIQ99+kXdi8cVJEEUi6+xtFqpMgNrZNnbgAj28ILsDC7zmclaU+v47eUCeJoKLSCbww==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@yuku-parser/binding-linux-x64-gnu@0.8.4': + resolution: {integrity: sha512-isi62oMy94Z3OXwGs2l2rkqRiRyqLmfHeTRHpA/uWZbsNhnm7IdVvkF7e7wHNKAtd5jwGzOqYSroxKv2fOm7Cw==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@yuku-parser/binding-linux-x64-musl@0.8.4': + resolution: {integrity: sha512-9RsEw2xYHqU/pjSRBTOupWN3sF8uz9stjJdARfz6o0llvF+yfrj5QHmTiocGGBeAI80fvKmDtr2RIQClUzAPcA==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@yuku-parser/binding-win32-arm64@0.8.4': + resolution: {integrity: sha512-VEZHo9rEGOBKR20sA3vCO00aQvwWND5aLu7YxeX+YupMZJh9hd1f17AbClJN37Q2iL1PCHht+wDTOKX6tZYqXg==} + cpu: [arm64] + os: [win32] + + '@yuku-parser/binding-win32-x64@0.8.4': + resolution: {integrity: sha512-PeH3VzN1feGjPtDpVEAqf000fPT+nxtw/696LKp/5Z9RJi/MaXpB636QC+5QtrAPSoEnIkyEe+c+mq2QLZPWBA==} + cpu: [x64] + os: [win32] + + '@yuku-toolchain/types@0.8.4': + resolution: {integrity: sha512-p7JE8flrj7ijZ/qLjHi4UwKqMarMD6zumbKXhrjp2I2iLJOuTYiQyci2U36VlXcUlNyzsY7E/mLnKCHotbzJVw==} + + accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn-walk@8.3.5: + resolution: {integrity: sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==} + engines: {node: '>=0.4.0'} + + acorn@8.18.0: + resolution: {integrity: sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==} + engines: {node: '>=0.4.0'} + hasBin: true + + address@2.0.3: + resolution: {integrity: sha512-XNAb/a6TCqou+TufU8/u11HCu9x1gYvOoxLwtlXgIqmkrYQADVv6ljyW2zwiPhHz9R1gItAWpuDrdJMmrOBFEA==} + engines: {node: '>= 16.0.0'} + + aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + + ajv-formats@2.1.1: + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv-keywords@3.5.2: + resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} + peerDependencies: + ajv: ^6.9.1 + + ajv-keywords@5.1.0: + resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} + peerDependencies: + ajv: ^8.8.2 + + ajv@6.15.0: + resolution: {integrity: sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==} + + ajv@8.20.0: + resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==} + + algoliasearch-helper@3.29.3: + resolution: {integrity: sha512-gVOMbbPVrCO3Xs+B+BLAIGFqIQow6qHMTYCEeBqLQB9m4ZmKUqMwkEumlal2iyyezHEd4Y0FvFTLbCRutCutIQ==} + peerDependencies: + algoliasearch: '>= 3.1 < 6' + + algoliasearch@5.56.0: + resolution: {integrity: sha512-PrqppUmhT4ENdas2pH9caE7efUcxy6EcSFhWzosiVuQBzu2tQ5yLTI6jwomT/1cuBnivzGfxiJCqDNN9FRRh+Q==} + engines: {node: '>= 14.0.0'} + + ansi-align@3.0.1: + resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + + ansi-escapes@7.3.0: + resolution: {integrity: sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==} + engines: {node: '>=18'} + + ansi-html-community@0.0.8: + resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} + engines: {'0': node >= 0.8.0} + hasBin: true + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.2.2: + resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} + engines: {node: '>=12'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@6.2.3: + resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} + engines: {node: '>=12'} + + ansis@3.17.0: + resolution: {integrity: sha512-0qWUglt9JEqLFr3w1I1pbrChn1grhaiAR2ocX1PP/flRmxgtwTzPFFFnfIlD6aMOLQZgSuCRlidD70lvx8yhzg==} + engines: {node: '>=14'} + + ansis@4.3.1: + resolution: {integrity: sha512-BJ8/l4R5LRE7hW9WdSuGYrLSHi2ynxeFpDFbH0K/CgNeY/tyhk+vO6TYxXC5r5CpUhNVX310xzPsN/H9lCdfOA==} + engines: {node: '>=14'} + + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + array-flatten@1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + asn1js@3.0.10: + resolution: {integrity: sha512-S2s3aOytiKdFRdulw2qPE51MzjzVOisppcVv7jVFR+Kw0kxwvFrDcYA0h7Ndqbmj0HkMIXYWaoj7fli8kgx1eg==} + engines: {node: '>=12.0.0'} + + assertion-error@2.0.1: + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} + + ast-v8-to-istanbul@1.0.5: + resolution: {integrity: sha512-UPAgKJFSEGMWSDr3LX4tqnAb4f7KGT8O40Tyx8wbYmmZ/yn58lNCm8h3svs3eXgiGd5AXxz8NDOvXWvicq+rJA==} + + astring@1.9.0: + resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} + hasBin: true + + autoprefixer@10.5.4: + resolution: {integrity: sha512-MaU0U/za7N3r6brxD4YB/l4NSrFzLPlANv6wEuQVaIPlD3L4W9rFcQPbL/EilY9BHhHvhfcz3gInDLrEtWT4EA==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + + babel-loader@9.2.1: + resolution: {integrity: sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==} + engines: {node: '>= 14.15.0'} + peerDependencies: + '@babel/core': ^7.12.0 + webpack: '>=5' + + babel-plugin-dynamic-import-node@2.3.3: + resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==} + + babel-plugin-polyfill-corejs2@0.4.17: + resolution: {integrity: sha512-aTyf30K/rqAsNwN76zYrdtx8obu0E4KoUME29B1xj+B3WxgvWkp943vYQ+z8Mv3lw9xHXMHpvSPOBxzAkIa94w==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-corejs3@0.13.0: + resolution: {integrity: sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-corejs3@0.14.2: + resolution: {integrity: sha512-coWpDLJ410R781Npmn/SIBZEsAetR4xVi0SxLMXPaMO4lSf1MwnkGYMtkFxew0Dn8B3/CpbpYxN0JCgg8mn67g==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-regenerator@0.6.8: + resolution: {integrity: sha512-M762rNHfSF1EV3SLtnCJXFoQbbIIz0OyRwnCmV0KPC7qosSfCO0QLTSuJX3ayAebubhE6oYBAYPrBA5ljowaZg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + bail@2.0.2: + resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + balanced-match@4.0.4: + resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} + engines: {node: 18 || 20 || >=22} + + baseline-browser-mapping@2.11.13: + resolution: {integrity: sha512-k9HNuUVMlqVjQ9UHzfPjIqiDbWw7WqT1AoT7GL8VwvF3r0ZfArtgiSPAlmupyNquNgOJHTuH4CKYf8ttMTWBTQ==} + engines: {node: '>=6.0.0'} + hasBin: true + + batch@0.6.1: + resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} + + big.js@5.2.2: + resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + body-parser@1.20.6: + resolution: {integrity: sha512-p5tAzS57i5MV9fZFDj9LeIiTZEufbSe2eDozP+ElheSUq1m74CRq1jI4mYNDdVs9vQztXFLuk/Gd6BWTdwRJ5g==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + bonjour-service@1.4.4: + resolution: {integrity: sha512-jCZcVv7eoc4QesRscwEZtSROBen+6LpKAmBIsQYQrsAeVHLyMXWX/t6eIV5KiRZYNUBl8eVqImEEMQ8L5+c/Kw==} + + boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + + boxen@6.2.1: + resolution: {integrity: sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + boxen@7.1.1: + resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==} + engines: {node: '>=14.16'} + + brace-expansion@1.1.18: + resolution: {integrity: sha512-Edep/X9fGqVNmzKBVsDYIOtD+z1tuezV70LBjdCst9Tqu76lsnvRiZ6oTic1n+/BIwX6QDGAO94PN4N2SADvtw==} + + brace-expansion@5.0.9: + resolution: {integrity: sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==} + engines: {node: 20 || >=22} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browserslist@4.28.8: + resolution: {integrity: sha512-V2NpofLblG64mfOtSgDhOJESZEGogzDMBv/q+W6oc4LXWP/q75eOXoOaaOu1EOadB9U4Bwx/e0yzbvwKH8zalA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + bundle-name@4.1.0: + resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} + engines: {node: '>=18'} + + bytes@3.0.0: + resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} + engines: {node: '>= 0.8'} + + bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + + bytestreamjs@2.0.1: + resolution: {integrity: sha512-U1Z/ob71V/bXfVABvNr/Kumf5VyeQRBEm6Txb0PQ6S7V5GpBM3w4Cbqz/xPDicR5tN0uvDifng8C+5qECeGwyQ==} + engines: {node: '>=6.0.0'} + + cac@7.0.0: + resolution: {integrity: sha512-tixWYgm5ZoOD+3g6UTea91eow5z6AAHaho3g0V9CNSNb45gM8SmflpAc+GRd1InC4AqN/07Unrgp56Y94N9hJQ==} + engines: {node: '>=20.19.0'} + + cacheable-lookup@7.0.0: + resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} + engines: {node: '>=14.16'} + + cacheable-request@10.2.14: + resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==} + engines: {node: '>=14.16'} + + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + + call-bind@1.0.9: + resolution: {integrity: sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==} + engines: {node: '>= 0.4'} + + call-bound@1.0.4: + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} + engines: {node: '>= 0.4'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camel-case@4.1.2: + resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + camelcase@7.0.1: + resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} + engines: {node: '>=14.16'} + + caniuse-api@3.0.0: + resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} + + caniuse-lite@1.0.30001809: + resolution: {integrity: sha512-xxWVywk6a6Arlk+hymeycyn/VgqEfLDxupvhH/xiY5SJ/18kmi9o6MiO320DCUzypORHLtvh0I4i04tUhCNHNQ==} + + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + + chai@6.2.2: + resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} + engines: {node: '>=18'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + chalk@5.6.2: + resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + + character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + + character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + + character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + + character-reference-invalid@2.0.1: + resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} + + cheerio-select@2.1.0: + resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} + + cheerio@1.0.0-rc.12: + resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} + engines: {node: '>= 6'} + + cheerio@1.2.0: + resolution: {integrity: sha512-WDrybc/gKFpTYQutKIK6UvfcuxijIZfMfXaYm8NMsPQxSYvf+13fXUJ4rztGGbJcBQ/GF55gvrZ0Bc0bj/mqvg==} + engines: {node: '>=20.18.1'} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + chrome-trace-event@1.0.4: + resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} + engines: {node: '>=6.0'} + + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + cjs-module-lexer@1.4.3: + resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==} + + clean-css@5.3.3: + resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} + engines: {node: '>= 10.0'} + + clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + + cli-boxes@3.0.0: + resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} + engines: {node: '>=10'} + + cli-highlight@2.1.11: + resolution: {integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==} + engines: {node: '>=8.0.0', npm: '>=5.0.0'} + hasBin: true + + cli-table3@0.6.5: + resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} + engines: {node: 10.* || >= 12.*} + + cliui@7.0.4: + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + + clone-deep@4.0.1: + resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} + engines: {node: '>=6'} + + clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + engines: {node: '>=6'} + + collapse-white-space@2.1.0: + resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + colord@2.9.3: + resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} + + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + + combine-promises@1.2.0: + resolution: {integrity: sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==} + engines: {node: '>=10'} + + comlink@4.4.2: + resolution: {integrity: sha512-OxGdvBmJuNKSCMO4NTl1L47VRp6xn2wG4F/2hYzB6tiCb709otOxtEYCSvK80PtjODfXXZu8ds+Nw5kVCjqd2g==} + + comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + + commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + commander@5.1.0: + resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} + engines: {node: '>= 6'} + + commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + + commander@8.3.0: + resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} + engines: {node: '>= 12'} + + common-path-prefix@3.0.0: + resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} + + compressible@2.0.18: + resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} + engines: {node: '>= 0.6'} + + compression@1.8.1: + resolution: {integrity: sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==} + engines: {node: '>= 0.8.0'} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + config-chain@1.1.13: + resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} + + configstore@6.0.0: + resolution: {integrity: sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==} + engines: {node: '>=12'} + + connect-history-api-fallback@2.0.0: + resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} + engines: {node: '>=0.8'} + + consola@3.4.2: + resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} + engines: {node: ^14.18.0 || >=16.10.0} + + content-disposition@0.5.2: + resolution: {integrity: sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==} + engines: {node: '>= 0.6'} + + content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + + content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + cookie-signature@1.0.7: + resolution: {integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==} + + cookie@0.7.2: + resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} + engines: {node: '>= 0.6'} + + copy-text-to-clipboard@3.2.2: + resolution: {integrity: sha512-T6SqyLd1iLuqPA90J5N4cTalrtovCySh58iiZDGJ6FGznbclKh4UI+FGacQSgFzwKG77W7XT5gwbVEbd9cIH1A==} + engines: {node: '>=12'} + + copy-webpack-plugin@11.0.0: + resolution: {integrity: sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==} + engines: {node: '>= 14.15.0'} + peerDependencies: + webpack: ^5.1.0 + + core-js-compat@3.50.0: + resolution: {integrity: sha512-XGpFGbMLHwSt74YLTKho7Ib242qi6O8MSX+sRokV4oz7iKXvQWGYZthjIhjRGMxjzVkAubBO512dKGYcefmX3Q==} + engines: {node: '>=6.4.0'} + + core-js@3.50.0: + resolution: {integrity: sha512-BRWgOLKkFeCgRudR6zrs8p9XJZcE14grzKMMssoYrk6krtuEZ7MTKPIY5RzOnqsEKIR9kst7wNzphttraT+Yqw==} + + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + cosmiconfig@8.3.6: + resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + crypto-random-string@4.0.0: + resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==} + engines: {node: '>=12'} + + css-blank-pseudo@7.0.1: + resolution: {integrity: sha512-jf+twWGDf6LDoXDUode+nc7ZlrqfaNphrBIBrcmeP3D8yw1uPaix1gCC8LUQUGQ6CycuK2opkbFFWFuq/a94ag==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + css-declaration-sorter@7.4.0: + resolution: {integrity: sha512-LTuzjPoyA2vMGKKcaOqKSp7Ub2eGrNfKiZH4LpezxpNrsICGCSFvsQOI29psISxNZtaXibkC2CXzrQ5enMeGGw==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + postcss: ^8.0.9 + + css-has-pseudo@7.0.3: + resolution: {integrity: sha512-oG+vKuGyqe/xvEMoxAQrhi7uY16deJR3i7wwhBerVrGQKSqUC5GiOVxTpM9F9B9hw0J+eKeOWLH7E9gZ1Dr5rA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + css-loader@6.11.0: + resolution: {integrity: sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==} + engines: {node: '>= 12.13.0'} + peerDependencies: + '@rspack/core': 0.x || 1.x + webpack: ^5.0.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true + + css-minimizer-webpack-plugin@5.0.1: + resolution: {integrity: sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==} + engines: {node: '>= 14.15.0'} + peerDependencies: + '@parcel/css': '*' + '@swc/css': '*' + clean-css: '*' + csso: '*' + esbuild: '*' + lightningcss: '*' + webpack: ^5.0.0 + peerDependenciesMeta: + '@parcel/css': + optional: true + '@swc/css': + optional: true + clean-css: + optional: true + csso: + optional: true + esbuild: + optional: true + lightningcss: + optional: true + + css-prefers-color-scheme@10.0.0: + resolution: {integrity: sha512-VCtXZAWivRglTZditUfB4StnsWr6YVZ2PRtuxQLKTNRdtAf8tpzaVPE9zXIF3VaSc7O70iK/j1+NXxyQCqdPjQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + css-select@4.3.0: + resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + + css-select@5.2.2: + resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==} + + css-tree@2.2.1: + resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + + css-tree@2.3.1: + resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + + css-what@6.2.2: + resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} + engines: {node: '>= 6'} + + cssdb@8.9.0: + resolution: {integrity: sha512-J8jOU/hLjaXcO1LldOLraJSQpfLXRKof0I7mtbRyOy2AAXgqst0x9rlgi2qXeD6d0ou3ZLqcPAMqYVbpCbrxEw==} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + cssnano-preset-advanced@6.1.2: + resolution: {integrity: sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + cssnano-preset-default@6.1.2: + resolution: {integrity: sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + cssnano-utils@4.0.2: + resolution: {integrity: sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + cssnano@6.1.2: + resolution: {integrity: sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + csso@5.0.5: + resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + + csstype@3.2.3: + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} + + debounce@1.2.1: + resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} + + debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decode-named-character-reference@1.3.0: + resolution: {integrity: sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==} + + decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + + deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + default-browser-id@5.0.1: + resolution: {integrity: sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==} + engines: {node: '>=18'} + + default-browser@5.5.0: + resolution: {integrity: sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==} + engines: {node: '>=18'} + + defer-to-connect@2.0.1: + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + + define-lazy-prop@3.0.0: + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + defu@6.1.7: + resolution: {integrity: sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==} + + depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + detect-libc@2.1.2: + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} + engines: {node: '>=8'} + + detect-node@2.1.0: + resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} + + detect-port@2.1.0: + resolution: {integrity: sha512-epZuWb/6Q62L+nDHJc/hQAqf8pylsqgk3BpZXVBx1CDnr3nkrVNn73Uu1rXcFzkNcc+hkP3whuOg7JZYaQB65Q==} + engines: {node: '>= 16.0.0'} + hasBin: true + + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + + dns-packet@5.6.1: + resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} + engines: {node: '>=6'} + + docusaurus-plugin-typedoc@1.4.2: + resolution: {integrity: sha512-1qerRejLSYxEWdyVPLDMMeKFPLA/37yZAsdwJy9ThHFQR78+v3b5spSbk67VHGLr2mAn4FVHu0aGJ6p7iWotSg==} + peerDependencies: + typedoc-plugin-markdown: '>=4.8.0' + + dom-converter@0.2.0: + resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==} + + dom-serializer@1.4.1: + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + + dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + + domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + + domhandler@4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} + + domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + + domutils@2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + + domutils@3.2.2: + resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} + + dot-case@3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + + dot-prop@6.0.1: + resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} + engines: {node: '>=10'} + + dts-resolver@3.0.0: + resolution: {integrity: sha512-1T1f+z+4tl9XD+m+0HBgWoL/nm0bOIffyWaUuUSBlFg/86IWvfx+wjNaO/ybU0AJzG9/Mi5hBUgGV6zCmWEN7Q==} + engines: {node: ^22.18.0 || >=24.0.0} + peerDependencies: + oxc-resolver: '>=11.0.0' + peerDependenciesMeta: + oxc-resolver: + optional: true + + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + + duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + + electron-to-chromium@1.5.404: + resolution: {integrity: sha512-3WJtd7/lVq2Jnuz6wed1l9+1ZD2u2Tet1/1NBc4Iedkmgbu+I7YuAqdAQ8T+VZtnwysMsAf3IqSq9D1gyZjA2g==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + emojilib@2.4.0: + resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==} + + emojis-list@3.0.0: + resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} + engines: {node: '>= 4'} + + emoticon@4.1.0: + resolution: {integrity: sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ==} + + empathic@2.0.1: + resolution: {integrity: sha512-YGRs8knHhKHVShLkFET/rWAU8kmHbOV5LwN938RHI0pljAJ1Gf6SzXsSmRaEzcXTtOOmVqJ5+WtQPL5uigY50Q==} + engines: {node: '>=14'} + + encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} + + encoding-sniffer@0.2.1: + resolution: {integrity: sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==} + + enhanced-resolve@5.24.5: + resolution: {integrity: sha512-L1l8TNvomm6UVW5B253AGxQagSQr+vGwhMlrrfRS2qmhx46AMpMVJKQYLvWYbysTMY8VoicOvzHzoHMbyzB+4A==} + engines: {node: '>=10.13.0'} + + entities@2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + entities@6.0.1: + resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} + engines: {node: '>=0.12'} + + entities@7.0.1: + resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==} + engines: {node: '>=0.12'} + + environment@1.1.0: + resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} + engines: {node: '>=18'} + + error-ex@1.3.4: + resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-module-lexer@2.3.1: + resolution: {integrity: sha512-shc1dbU90Yl/xq1QrC7QRtfcwURZuVRfPhZbDoldJ1cn1gzDvBaBWlv0eFolj5+0znnPJz5TXLxsN77X/12KTA==} + + es-object-atoms@1.1.2: + resolution: {integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==} + engines: {node: '>= 0.4'} + + esast-util-from-estree@2.0.0: + resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==} + + esast-util-from-js@2.0.1: + resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==} + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-goat@4.0.0: + resolution: {integrity: sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==} + engines: {node: '>=12'} + + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + + eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + estree-util-attach-comments@3.0.0: + resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==} + + estree-util-build-jsx@3.0.1: + resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==} + + estree-util-is-identifier-name@3.0.0: + resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==} + + estree-util-scope@1.0.0: + resolution: {integrity: sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==} + + estree-util-to-js@2.0.0: + resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==} + + estree-util-value-to-estree@3.5.0: + resolution: {integrity: sha512-aMV56R27Gv3QmfmF1MY12GWkGzzeAezAX+UplqHVASfjc9wNzI/X6hC0S9oxq61WT4aQesLGslWP9tKk6ghRZQ==} + + estree-util-visit@2.0.0: + resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} + + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + eta@2.2.0: + resolution: {integrity: sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==} + engines: {node: '>=6.0.0'} + + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + eval@0.1.8: + resolution: {integrity: sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==} + engines: {node: '>= 0.8'} + + eventemitter3@4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + + events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + expect-type@1.4.0: + resolution: {integrity: sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA==} + engines: {node: '>=12.0.0'} + + express@4.22.2: + resolution: {integrity: sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==} + engines: {node: '>= 0.10.0'} + + extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + + extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-string-truncated-width@3.0.3: + resolution: {integrity: sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==} + + fast-string-width@3.0.2: + resolution: {integrity: sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==} + + fast-uri@3.1.5: + resolution: {integrity: sha512-gHwA1O9LDIcKunMKhObS/HimwtehO1nPUECKAu5TpKgaO19fcWEl4bliWe1jWxVFvIXztJjjQ4L8XQ1EU9f7Jw==} + + fast-wrap-ansi@0.2.2: + resolution: {integrity: sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q==} + + fastq@1.20.1: + resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} + + fault@2.0.1: + resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} + + faye-websocket@0.11.4: + resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} + engines: {node: '>=0.8.0'} + + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + + feed@4.2.2: + resolution: {integrity: sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==} + engines: {node: '>=0.4.0'} + + fflate@0.8.3: + resolution: {integrity: sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA==} + + file-loader@6.2.0: + resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==} + engines: {node: '>= 10.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + finalhandler@1.3.2: + resolution: {integrity: sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==} + engines: {node: '>= 0.8'} + + find-cache-dir@4.0.0: + resolution: {integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==} + engines: {node: '>=14.16'} + + find-up@6.3.0: + resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + flat@5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true + + follow-redirects@1.16.0: + resolution: {integrity: sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + form-data-encoder@2.1.4: + resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} + engines: {node: '>= 14.17'} + + format@0.2.2: + resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} + engines: {node: '>=0.4.x'} + + forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + + fraction.js@5.3.4: + resolution: {integrity: sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==} + + fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + + fs-extra@10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} + + fs-extra@11.4.0: + resolution: {integrity: sha512-EQsFzMUJkCKGr1ePqlYADkIUmHW1s3ZXr5Yqy6wbGrfUCphpl2maM/kyOIRA2HpP3AaFQTZXD4ldjek+nccddA==} + engines: {node: '>=14.14'} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + + get-own-enumerable-property-symbols@3.0.2: + resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + get-tsconfig@5.0.0-beta.5: + resolution: {integrity: sha512-/6gFNr0N04nob252sTQxyFLi3eKFRqIg1I87YcqAMT1i6SQrSF6KujUEQrtrjMV0H/eejTCltLdDSTEMzHbnsQ==} + engines: {node: '>=20.20.0'} + + github-slugger@1.5.0: + resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob-to-regex.js@1.2.0: + resolution: {integrity: sha512-QMwlOQKU/IzqMUOAZWubUOT8Qft+Y0KQWnX9nK3ch0CJg0tTp4TvGZsTfudYKv2NzoQSyPcnA6TYeIQ3jGichQ==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + global-dirs@3.0.1: + resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} + engines: {node: '>=10'} + + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + + globby@13.2.2: + resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + + got@12.6.1: + resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} + engines: {node: '>=14.16'} + + graceful-fs@4.2.10: + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + gzip-size@6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} + + handle-thing@2.0.1: + resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + + has-yarn@3.0.0: + resolution: {integrity: sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + hasown@2.0.4: + resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==} + engines: {node: '>= 0.4'} + + hast-util-from-parse5@8.0.3: + resolution: {integrity: sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==} + + hast-util-parse-selector@4.0.0: + resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} + + hast-util-raw@9.1.0: + resolution: {integrity: sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==} + + hast-util-to-estree@3.1.3: + resolution: {integrity: sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==} + + hast-util-to-jsx-runtime@2.3.6: + resolution: {integrity: sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==} + + hast-util-to-parse5@8.0.1: + resolution: {integrity: sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==} + + hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + + hastscript@9.0.1: + resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==} + + he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + + highlight.js@10.7.3: + resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} + + history@4.10.1: + resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==} + + hoist-non-react-statics@3.3.2: + resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} + + hookable@6.1.1: + resolution: {integrity: sha512-U9LYDy1CwhMCnprUfeAZWZGByVbhd54hwepegYTK7Pi5NvqEj63ifz5z+xukznehT7i6NIZRu89Ay1AZmRsLEQ==} + + hpack.js@2.1.6: + resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} + + html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + + html-minifier-terser@6.1.0: + resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==} + engines: {node: '>=12'} + hasBin: true + + html-minifier-terser@7.2.0: + resolution: {integrity: sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==} + engines: {node: ^14.13.1 || >=16.0.0} + hasBin: true + + html-tags@3.3.1: + resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} + engines: {node: '>=8'} + + html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + + html-webpack-plugin@5.6.8: + resolution: {integrity: sha512-MZmKQcTnhEh1SPSyMiEytIeDZDUoBZVorNHivQGXMASHf/BSGGOrKa2xQ5bGx3TCe1n109ecCt+cpww7wwWhKA==} + engines: {node: '>=10.13.0'} + peerDependencies: + '@rspack/core': 0.x || 1.x || 2.x + webpack: ^5.20.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true + + htmlparser2@10.1.0: + resolution: {integrity: sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ==} + + htmlparser2@6.1.0: + resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} + + htmlparser2@8.0.2: + resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + + http-cache-semantics@4.2.0: + resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} + + http-deceiver@1.2.7: + resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} + + http-errors@1.8.1: + resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==} + engines: {node: '>= 0.6'} + + http-errors@2.0.1: + resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} + engines: {node: '>= 0.8'} + + http-parser-js@0.5.10: + resolution: {integrity: sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==} + + http-proxy-middleware@2.0.10: + resolution: {integrity: sha512-RKzRWNPxUZqbuk3BC5mGVJbBnWgr+diEnjJexIOytFbBzDy88Fbh/YvBr3DsNrl1jYAfjWfpATEv0NO35FDuPQ==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@types/express': ^4.17.13 + peerDependenciesMeta: + '@types/express': + optional: true + + http-proxy@1.18.1: + resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} + engines: {node: '>=8.0.0'} + + http2-wrapper@2.2.1: + resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} + engines: {node: '>=10.19.0'} + + human-id@4.2.0: + resolution: {integrity: sha512-K3GbkIWqyvvlpfhBPlbEvD97TtqBpAYA4kt+cn2lD2x2HuohzZCibcA2nOlnJT6exqvJLggoB5nv2dNf192nEA==} + hasBin: true + + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + + hyperdyperid@1.2.0: + resolution: {integrity: sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==} + engines: {node: '>=10.18'} + + iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + + icss-utils@5.1.0: + resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + image-size@2.0.2: + resolution: {integrity: sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==} + engines: {node: '>=16.x'} + hasBin: true + + immediate@3.3.0: + resolution: {integrity: sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==} + + import-fresh@3.3.1: + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} + engines: {node: '>=6'} + + import-lazy@4.0.0: + resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} + engines: {node: '>=8'} + + import-meta-resolve@4.2.0: + resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==} + + import-without-cache@0.4.0: + resolution: {integrity: sha512-NkJQA7oZ4YHQhd2+H3BoRFKF3d/XNsiKpHZCQEMH9pDX27hQQLsTyOocyRgaIVtf8gHX3Nt3LPkR4e5EdtPAGQ==} + engines: {node: ^22.18.0 || >=24.0.0} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + infima@0.2.0-alpha.45: + resolution: {integrity: sha512-uyH0zfr1erU1OohLk0fT4Rrb94AOhguWNOcD9uGrSpRvNB+6gZXUoJX5J0NtvzBO10YZ9PgvA4NFgt+fYg8ojw==} + engines: {node: '>=12'} + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + + ini@2.0.0: + resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} + engines: {node: '>=10'} + + inline-style-parser@0.2.7: + resolution: {integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==} + + invariant@2.2.4: + resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + + ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + + ipaddr.js@2.5.0: + resolution: {integrity: sha512-aq+t5NAc+cS6rZQQVWC2x98CPqGtKKTMDd4Gaodv0wShnItdKg/51djkGJ1hqH+Oy0ivDftCbSLCQob8zso01w==} + engines: {node: '>= 10'} + + is-alphabetical@2.0.1: + resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} + + is-alphanumerical@2.0.1: + resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-ci@3.0.1: + resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} + hasBin: true + + is-core-module@2.16.2: + resolution: {integrity: sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==} + engines: {node: '>= 0.4'} + + is-decimal@2.0.1: + resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} + + is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + + is-docker@3.0.0: + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + + is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-hexadecimal@2.0.1: + resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} + + is-inside-container@1.0.0: + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} + hasBin: true + + is-installed-globally@0.4.0: + resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} + engines: {node: '>=10'} + + is-network-error@1.3.2: + resolution: {integrity: sha512-PhBY86zaxNZUuWP6h13Vu5oFe0XY6/UlKzQnYFELzGVHygP3MxmvTfYSG7GN3aIab/iWudSMgjSnG9Dq+nHrgA==} + engines: {node: '>=16'} + + is-npm@6.1.0: + resolution: {integrity: sha512-O2z4/kNgyjhQwVR1Wpkbfc19JIhggF97NZNCpWTnjH7kVcZMUrnut9XSN7txI7VdyIYk5ZatOq3zvSuWpU8hoA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-obj@1.0.1: + resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} + engines: {node: '>=0.10.0'} + + is-obj@2.0.0: + resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} + engines: {node: '>=8'} + + is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + is-plain-obj@3.0.0: + resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} + engines: {node: '>=10'} + + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + + is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + + is-regexp@1.0.0: + resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} + engines: {node: '>=0.10.0'} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + is-typedarray@1.0.0: + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + + is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + + is-wsl@3.1.1: + resolution: {integrity: sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==} + engines: {node: '>=16'} + + is-yarn-global@0.4.1: + resolution: {integrity: sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==} + engines: {node: '>=12'} + + isarray@0.0.1: + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + + istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + + istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + + istanbul-reports@3.2.0: + resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==} + engines: {node: '>=8'} + + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-worker@27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + + jest-worker@29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jiti@1.21.7: + resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} + hasBin: true + + jju@1.4.0: + resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} + + joi@17.13.4: + resolution: {integrity: sha512-1RuuER6kmt8K8I3nIWvPZKi5RQCb568ZPyY4Pwjlua+yo+63ZTmIwxLZH0heBmiKN4uxjvCiarDrjaeH84xicQ==} + + js-tokens@10.0.0: + resolution: {integrity: sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q==} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@4.3.1: + resolution: {integrity: sha512-CY6crGq313MX8GkwvB7tzgp99vjQxY1++5y10/BKN/GUfHqWaOGQMNZkBvqSzsZKWk/ijwHlWzzkLulsGHhjWQ==} + hasBin: true + + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonc-parser@3.3.1: + resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} + + jsonfile@6.2.1: + resolution: {integrity: sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + + klaw-sync@6.0.0: + resolution: {integrity: sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==} + + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + latest-version@7.0.0: + resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==} + engines: {node: '>=14.16'} + + launch-editor@2.14.1: + resolution: {integrity: sha512-QWBrQsMpH7gPr965dsKD/3cKWiNoTjpATQf++Xq63N6sKRGMwlVXz41O1IZTMfZQgBctD/K5Zt06+/I6pP6+HA==} + + leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + + lightningcss-android-arm64@1.33.0: + resolution: {integrity: sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [android] + + lightningcss-darwin-arm64@1.33.0: + resolution: {integrity: sha512-Sciaz8eenNTKn9b3t7+xr0ipTp9YxKQY4npwQ3mrRuL0BAVHBLyZxofhaKBAVtzmtRZ/zTyo0/to4B1uWG/Djg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + + lightningcss-darwin-x64@1.33.0: + resolution: {integrity: sha512-Z5UPAxzrjlWNNyGy6i65cJzzvgJ5D3T6wMvs+gWpY9d7qRhANrxqAp6LhxIgZhWEw18RfJTGcRxjuLIBr+m8XQ==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-freebsd-x64@1.33.0: + resolution: {integrity: sha512-QQM/Ti/hQajJwCY+RiWuCZ9sdtI/XQk7nDK5vC8kkdwixezOlDgvDx7+RT+QjK6FcFT4MpsuoBnHIo/O3StRRg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + + lightningcss-linux-arm-gnueabihf@1.33.0: + resolution: {integrity: sha512-N7FVBe6iS24MlM6R/4RBTxGhQheZGs7tiQ9U32UtF75NzP5Q7xWPRqLBCKxlRQRk3rY1jCIPLzx7WzOhuUIRLQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + + lightningcss-linux-arm64-gnu@1.33.0: + resolution: {integrity: sha512-j2v/itmy4HlNxlc6voKXYgBqNi0Ng2LShg4z7GufpEgs05P+2suBVyi9I6YHq5uoVFx9ETin3eCEhLVyXGQnKg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + lightningcss-linux-arm64-musl@1.33.0: + resolution: {integrity: sha512-yiO5ROMuYQgXbC60yjZU5CYSFZGKXL0HFATXt9mHJn1+zW55oCtMI9NfcVhYLMFDL7gV7oBPon/EmMMGg2OvtQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [musl] + + lightningcss-linux-x64-gnu@1.33.0: + resolution: {integrity: sha512-ar+Ju7LmcN0Jo4FpL4hpFybwNG9/3A/Br5KW2n2jyODg3MEZXaDYADdemoNS+BDNfMgKvylJLj4S5tyRActuAg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [glibc] + + lightningcss-linux-x64-musl@1.33.0: + resolution: {integrity: sha512-RYiYbkokw0trfKqqzfF55lginwEPrD3OJDfTuJzFs1MK6iFnDenaz1fqLLtX4ITG3OktJQXOeTaw1awrBAlZPw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [musl] + + lightningcss-win32-arm64-msvc@1.33.0: + resolution: {integrity: sha512-1K+MPfLSFVpphzpdbfkhlWk6wBrTObBzS2T6db10PNOZgR9GoVsAWzwNyuhUYYbTp23j+4RrncfujZ4uAzXvwA==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + + lightningcss-win32-x64-msvc@1.33.0: + resolution: {integrity: sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + + lightningcss@1.33.0: + resolution: {integrity: sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==} + engines: {node: '>= 12.0.0'} + + lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} + engines: {node: '>=14'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + linkify-it@5.0.2: + resolution: {integrity: sha512-ONTm2jCMAVZjgQa/Fy1kScXsuOoF5NPTsoFBdE1KVIZ2vAh/r9+Bqo+0jINCBYnavTPQZz38QzFTme79ENoN3Q==} + + loader-utils@2.0.4: + resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} + engines: {node: '>=8.9.0'} + + locate-path@7.2.0: + resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + + lodash.memoize@4.1.2: + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + + lodash.uniq@4.5.0: + resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} + + lodash@4.18.1: + resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==} + + longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + + lower-case@2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + + lowercase-keys@3.0.0: + resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + lru-cache@11.5.2: + resolution: {integrity: sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g==} + engines: {node: 20 || >=22} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + lunr-languages@1.21.0: + resolution: {integrity: sha512-Hj0VwJP1FGwZzVMMZdDtWY2GB2VVKtvVElYtVajzCZCDr2RTucyLpPibrOPGgTlcq2ENQy2gYLtPnzyFu9jZCg==} + + lunr@2.3.9: + resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} + + magic-string@0.30.21: + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + + magicast@0.5.4: + resolution: {integrity: sha512-llBEhWm1SacoRwgHUoQJYtwp4PBLF4faQi5TCpIGyGs9n4y5+juI0tDgyKIfpqxckRHaHzouUEph3THklWh03w==} + + make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + + mark.js@8.11.1: + resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} + + markdown-extensions@2.0.0: + resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} + engines: {node: '>=16'} + + markdown-it@14.3.0: + resolution: {integrity: sha512-RCEsPjR+sr0x+AuYp601tKTkgFG4YEPLCzHST3cQ/fhlJkqAkz1L2/Qbp1j9qw5SBwQHFBoW8+hoN5xssOF0Tw==} + hasBin: true + + markdown-table@3.0.4: + resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} + + marked-terminal@7.3.0: + resolution: {integrity: sha512-t4rBvPsHc57uE/2nJOLmMbZCQ4tgAccAED3ngXQqW6g+TxA488JzJ+FK3lQkzBQOI1mRV/r/Kq+1ZlJ4D0owQw==} + engines: {node: '>=16.0.0'} + peerDependencies: + marked: '>=1 <16' + + marked@9.1.6: + resolution: {integrity: sha512-jcByLnIFkd5gSXZmjNvS1TlmRhCXZjIzHYlaGkPlLIekG55JDR2Z4va9tZwCiP+/RDERiNhMOFu01xd6O5ct1Q==} + engines: {node: '>= 16'} + hasBin: true + + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + mdast-util-directive@3.1.0: + resolution: {integrity: sha512-I3fNFt+DHmpWCYAT7quoM6lHf9wuqtI+oCOfvILnoicNIqjh5E3dEJWiXuYME2gNe8vl1iMQwyUHa7bgFmak6Q==} + + mdast-util-find-and-replace@3.0.2: + resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} + + mdast-util-from-markdown@2.0.3: + resolution: {integrity: sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==} + + mdast-util-frontmatter@2.0.1: + resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==} + + mdast-util-gfm-autolink-literal@2.0.1: + resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} + + mdast-util-gfm-footnote@2.1.0: + resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==} + + mdast-util-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} + + mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} + + mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} + + mdast-util-gfm@3.1.0: + resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==} + + mdast-util-mdx-expression@2.0.1: + resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==} + + mdast-util-mdx-jsx@3.2.0: + resolution: {integrity: sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==} + + mdast-util-mdx@3.0.0: + resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==} + + mdast-util-mdxjs-esm@2.0.1: + resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==} + + mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} + + mdast-util-to-hast@13.2.1: + resolution: {integrity: sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==} + + mdast-util-to-markdown@2.1.2: + resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} + + mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + + mdn-data@2.0.28: + resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} + + mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + + mdurl@2.1.0: + resolution: {integrity: sha512-1+HBaOx0zi/dQWht8rNv9MYf9qqpqL/kxI0hXImU6Y547zM6Sni8BQibt7ifgMcYtQg41ao3Ivd6cnSM86inpg==} + + media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + + memfs@4.68.1: + resolution: {integrity: sha512-OD+IDRUvIxu3QHL+nFm9gdyugInD27FDJ+sl4B5QgomPHXMlbw+GP918P8VNKu2FkNlVeqBkpzkwROpamVifRw==} + + merge-descriptors@1.0.3: + resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + + micromark-core-commonmark@2.0.3: + resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} + + micromark-extension-directive@3.0.2: + resolution: {integrity: sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==} + + micromark-extension-frontmatter@2.0.0: + resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==} + + micromark-extension-gfm-autolink-literal@2.1.0: + resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} + + micromark-extension-gfm-footnote@2.1.0: + resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} + + micromark-extension-gfm-strikethrough@2.1.0: + resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} + + micromark-extension-gfm-table@2.1.1: + resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==} + + micromark-extension-gfm-tagfilter@2.0.0: + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} + + micromark-extension-gfm-task-list-item@2.1.0: + resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} + + micromark-extension-gfm@3.0.0: + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} + + micromark-extension-mdx-expression@3.0.1: + resolution: {integrity: sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==} + + micromark-extension-mdx-jsx@3.0.2: + resolution: {integrity: sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==} + + micromark-extension-mdx-md@2.0.0: + resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==} + + micromark-extension-mdxjs-esm@3.0.0: + resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==} + + micromark-extension-mdxjs@3.0.0: + resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==} + + micromark-factory-destination@2.0.1: + resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} + + micromark-factory-label@2.0.1: + resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==} + + micromark-factory-mdx-expression@2.0.3: + resolution: {integrity: sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==} + + micromark-factory-space@1.1.0: + resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==} + + micromark-factory-space@2.0.1: + resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==} + + micromark-factory-title@2.0.1: + resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==} + + micromark-factory-whitespace@2.0.1: + resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==} + + micromark-util-character@1.2.0: + resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==} + + micromark-util-character@2.1.1: + resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} + + micromark-util-chunked@2.0.1: + resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==} + + micromark-util-classify-character@2.0.1: + resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==} + + micromark-util-combine-extensions@2.0.1: + resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==} + + micromark-util-decode-numeric-character-reference@2.0.2: + resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==} + + micromark-util-decode-string@2.0.1: + resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==} + + micromark-util-encode@2.0.1: + resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} + + micromark-util-events-to-acorn@2.0.3: + resolution: {integrity: sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==} + + micromark-util-html-tag-name@2.0.1: + resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==} + + micromark-util-normalize-identifier@2.0.1: + resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==} + + micromark-util-resolve-all@2.0.1: + resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==} + + micromark-util-sanitize-uri@2.0.1: + resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} + + micromark-util-subtokenize@2.1.0: + resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==} + + micromark-util-symbol@1.1.0: + resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==} + + micromark-util-symbol@2.0.1: + resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} + + micromark-util-types@1.1.0: + resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==} + + micromark-util-types@2.0.2: + resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==} + + micromark@4.0.2: + resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mime-db@1.33.0: + resolution: {integrity: sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==} + engines: {node: '>= 0.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-db@1.54.0: + resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} + engines: {node: '>= 0.6'} + + mime-types@2.1.18: + resolution: {integrity: sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mime-types@3.0.2: + resolution: {integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==} + engines: {node: '>=18'} + + mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + + mimic-response@4.0.0: + resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + mini-css-extract-plugin@2.10.2: + resolution: {integrity: sha512-AOSS0IdEB95ayVkxn5oGzNQwqAi2J0Jb/kKm43t7H73s8+f5873g0yuj0PNvK4dO75mu5DHg4nlgp4k6Kga8eg==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + + minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + + minimatch@10.2.6: + resolution: {integrity: sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==} + engines: {node: 18 || 20 || >=22} + + minimatch@3.1.5: + resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minimizer-webpack-plugin@5.6.1: + resolution: {integrity: sha512-DoeAZz8Q1C1znwsUzej1fdoi4jCf7/+Em27ouLqfK/+3m8G+D7yDhUwrc3CNhjSzGUN1kn7Iv4sWmjflQHenpw==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@minify-html/node': '*' + '@swc/core': '*' + '@swc/css': '*' + '@swc/html': '*' + clean-css: '*' + cssnano: '*' + csso: '*' + esbuild: '*' + html-minifier-terser: '*' + lightningcss: '*' + postcss: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@minify-html/node': + optional: true + '@swc/core': + optional: true + '@swc/css': + optional: true + '@swc/html': + optional: true + clean-css: + optional: true + cssnano: + optional: true + csso: + optional: true + esbuild: + optional: true + html-minifier-terser: + optional: true + lightningcss: + optional: true + postcss: + optional: true + uglify-js: + optional: true + + mri@1.2.0: + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} + + mrmime@2.0.1: + resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} + engines: {node: '>=10'} + + ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + multicast-dns@7.2.5: + resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} + hasBin: true + + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + + nanoid@3.3.18: + resolution: {integrity: sha512-DTg4MJbGMWkfi6VZFdNt2/caMbQy4Ou+Op/hJQvGEWcnVfoA1QA+xzRKAzw9jD6+GVOOeYr/mIcuDSdug6F6+w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + + negotiator@0.6.4: + resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==} + engines: {node: '>= 0.6'} + + neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + + no-case@3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + + node-emoji@2.2.0: + resolution: {integrity: sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==} + engines: {node: '>=18'} + + node-releases@2.0.53: + resolution: {integrity: sha512-D9UOmYG3UH1V+ENW56t5QXBwJw1YEY18ruVeus89Rw+SyIgjPkCO84bRzO3uNIYosJbNwiabWVn48o3uJLjxFQ==} + engines: {node: '>=18'} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + normalize-url@8.1.1: + resolution: {integrity: sha512-JYc0DPlpGWB40kH5g07gGTrYuMqV653k3uBKY6uITPWds3M0ov3GaWGp9lbE3Bzngx8+XkfzgvASb9vk9JDFXQ==} + engines: {node: '>=14.16'} + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + nprogress@0.2.0: + resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} + + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + + null-loader@4.0.1: + resolution: {integrity: sha512-pxqVbi4U6N26lq+LmgIbB5XATP0VdZKOG25DhHi8btMmJJefGArFyDg1yc4U3hWCJbMqSrw0qyrz1UQX+qYXqg==} + engines: {node: '>= 10.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-inspect@1.13.4: + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + engines: {node: '>= 0.4'} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object.assign@4.1.7: + resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} + engines: {node: '>= 0.4'} + + obuf@1.1.2: + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + + obug@2.1.4: + resolution: {integrity: sha512-4a+OsYv9UktOJKE+l1A4OufDgdRF9PifWj+tJnHURo/P+WOxpG4GzUFL9qCalmWauao6ogiG+QvnCovwPoyAWA==} + engines: {node: '>=12.20.0'} + + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + + on-headers@1.1.0: + resolution: {integrity: sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==} + engines: {node: '>= 0.8'} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + open@10.2.0: + resolution: {integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==} + engines: {node: '>=18'} + + open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + + opener@1.5.2: + resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} + hasBin: true + + p-cancelable@3.0.0: + resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} + engines: {node: '>=12.20'} + + p-finally@1.0.0: + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} + engines: {node: '>=4'} + + p-limit@4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-locate@6.0.0: + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + + p-queue@6.6.2: + resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==} + engines: {node: '>=8'} + + p-retry@6.2.1: + resolution: {integrity: sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==} + engines: {node: '>=16.17'} + + p-timeout@3.2.0: + resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} + engines: {node: '>=8'} + + package-json@8.1.1: + resolution: {integrity: sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==} + engines: {node: '>=14.16'} + + package-manager-detector@1.8.0: + resolution: {integrity: sha512-yQA4H19AmPEoMUeavPMDIe1higySl/gH/yaQrkT/s07Qp+7pp2hYz30N3z2l5BkjVkF9Ow6o0wjJamm2y7Sn0A==} + + param-case@3.0.4: + resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parse-entities@4.0.2: + resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + parse-numeric-range@1.3.0: + resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==} + + parse5-htmlparser2-tree-adapter@6.0.1: + resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} + + parse5-htmlparser2-tree-adapter@7.1.0: + resolution: {integrity: sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==} + + parse5-parser-stream@7.1.2: + resolution: {integrity: sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==} + + parse5@5.1.1: + resolution: {integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==} + + parse5@6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + + parse5@7.3.0: + resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} + + parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + + pascal-case@3.1.2: + resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + + path-exists@5.0.0: + resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + path-is-inside@1.0.2: + resolution: {integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-to-regexp@0.1.13: + resolution: {integrity: sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==} + + path-to-regexp@1.9.0: + resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==} + + path-to-regexp@3.3.0: + resolution: {integrity: sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.2: + resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==} + engines: {node: '>=8.6'} + + picomatch@4.0.5: + resolution: {integrity: sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==} + engines: {node: '>=12'} + + pkg-dir@7.0.0: + resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} + engines: {node: '>=14.16'} + + pkijs@3.4.0: + resolution: {integrity: sha512-emEcLuomt2j03vxD54giVB4SxTjnsqkU692xZOZXHDVoYyypEm+b3jpiTcc+Cf+myooc+/Ly0z01jqeNHVgJGw==} + engines: {node: '>=16.0.0'} + + postcss-attribute-case-insensitive@7.0.1: + resolution: {integrity: sha512-Uai+SupNSqzlschRyNx3kbCTWgY/2hcwtHEI/ej2LJWc9JJ77qKgGptd8DHwY1mXtZ7Aoh4z4yxfwMBue9eNgw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-calc@9.0.1: + resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.2 + + postcss-clamp@4.1.0: + resolution: {integrity: sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==} + engines: {node: '>=7.6.0'} + peerDependencies: + postcss: ^8.4.6 + + postcss-color-functional-notation@7.0.12: + resolution: {integrity: sha512-TLCW9fN5kvO/u38/uesdpbx3e8AkTYhMvDZYa9JpmImWuTE99bDQ7GU7hdOADIZsiI9/zuxfAJxny/khknp1Zw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-color-hex-alpha@10.0.0: + resolution: {integrity: sha512-1kervM2cnlgPs2a8Vt/Qbe5cQ++N7rkYo/2rz2BkqJZIHQwaVuJgQH38REHrAi4uM0b1fqxMkWYmese94iMp3w==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-color-rebeccapurple@10.0.0: + resolution: {integrity: sha512-JFta737jSP+hdAIEhk1Vs0q0YF5P8fFcj+09pweS8ktuGuZ8pPlykHsk6mPxZ8awDl4TrcxUqJo9l1IhVr/OjQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-colormin@6.1.0: + resolution: {integrity: sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-convert-values@6.1.0: + resolution: {integrity: sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-custom-media@11.0.6: + resolution: {integrity: sha512-C4lD4b7mUIw+RZhtY7qUbf4eADmb7Ey8BFA2px9jUbwg7pjTZDl4KY4bvlUV+/vXQvzQRfiGEVJyAbtOsCMInw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-custom-properties@14.0.6: + resolution: {integrity: sha512-fTYSp3xuk4BUeVhxCSJdIPhDLpJfNakZKoiTDx7yRGCdlZrSJR7mWKVOBS4sBF+5poPQFMj2YdXx1VHItBGihQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-custom-selectors@8.0.5: + resolution: {integrity: sha512-9PGmckHQswiB2usSO6XMSswO2yFWVoCAuih1yl9FVcwkscLjRKjwsjM3t+NIWpSU2Jx3eOiK2+t4vVTQaoCHHg==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-dir-pseudo-class@9.0.1: + resolution: {integrity: sha512-tRBEK0MHYvcMUrAuYMEOa0zg9APqirBcgzi6P21OhxtJyJADo/SWBwY1CAwEohQ/6HDaa9jCjLRG7K3PVQYHEA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-discard-comments@6.0.2: + resolution: {integrity: sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-discard-duplicates@6.0.3: + resolution: {integrity: sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-discard-empty@6.0.3: + resolution: {integrity: sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-discard-overridden@6.0.2: + resolution: {integrity: sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-discard-unused@6.0.5: + resolution: {integrity: sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-double-position-gradients@6.0.4: + resolution: {integrity: sha512-m6IKmxo7FxSP5nF2l63QbCC3r+bWpFUWmZXZf096WxG0m7Vl1Q1+ruFOhpdDRmKrRS+S3Jtk+TVk/7z0+BVK6g==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-focus-visible@10.0.1: + resolution: {integrity: sha512-U58wyjS/I1GZgjRok33aE8juW9qQgQUNwTSdxQGuShHzwuYdcklnvK/+qOWX1Q9kr7ysbraQ6ht6r+udansalA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-focus-within@9.0.1: + resolution: {integrity: sha512-fzNUyS1yOYa7mOjpci/bR+u+ESvdar6hk8XNK/TRR0fiGTp2QT5N+ducP0n3rfH/m9I7H/EQU6lsa2BrgxkEjw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-font-variant@5.0.0: + resolution: {integrity: sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==} + peerDependencies: + postcss: ^8.1.0 + + postcss-gap-properties@6.0.0: + resolution: {integrity: sha512-Om0WPjEwiM9Ru+VhfEDPZJAKWUd0mV1HmNXqp2C29z80aQ2uP9UVhLc7e3aYMIor/S5cVhoPgYQ7RtfeZpYTRw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-image-set-function@7.0.0: + resolution: {integrity: sha512-QL7W7QNlZuzOwBTeXEmbVckNt1FSmhQtbMRvGGqqU4Nf4xk6KUEQhAoWuMzwbSv5jxiRiSZ5Tv7eiDB9U87znA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-lab-function@7.0.12: + resolution: {integrity: sha512-tUcyRk1ZTPec3OuKFsqtRzW2Go5lehW29XA21lZ65XmzQkz43VY2tyWEC202F7W3mILOjw0voOiuxRGTsN+J9w==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-loader@7.3.4: + resolution: {integrity: sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==} + engines: {node: '>= 14.15.0'} + peerDependencies: + postcss: ^7.0.0 || ^8.0.1 + webpack: ^5.0.0 + + postcss-logical@8.1.0: + resolution: {integrity: sha512-pL1hXFQ2fEXNKiNiAgtfA005T9FBxky5zkX6s4GZM2D8RkVgRqz3f4g1JUoq925zXv495qk8UNldDwh8uGEDoA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-merge-idents@6.0.3: + resolution: {integrity: sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-merge-longhand@6.0.5: + resolution: {integrity: sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-merge-rules@6.1.1: + resolution: {integrity: sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-minify-font-values@6.1.0: + resolution: {integrity: sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-minify-gradients@6.0.3: + resolution: {integrity: sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-minify-params@6.1.0: + resolution: {integrity: sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-minify-selectors@6.0.4: + resolution: {integrity: sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-modules-extract-imports@3.1.0: + resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-local-by-default@4.2.0: + resolution: {integrity: sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-scope@3.2.1: + resolution: {integrity: sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-values@4.0.0: + resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-nesting@13.0.2: + resolution: {integrity: sha512-1YCI290TX+VP0U/K/aFxzHzQWHWURL+CtHMSbex1lCdpXD1SoR2sYuxDu5aNI9lPoXpKTCggFZiDJbwylU0LEQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-normalize-charset@6.0.2: + resolution: {integrity: sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-display-values@6.0.2: + resolution: {integrity: sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-positions@6.0.2: + resolution: {integrity: sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-repeat-style@6.0.2: + resolution: {integrity: sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-string@6.0.2: + resolution: {integrity: sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-timing-functions@6.0.2: + resolution: {integrity: sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-unicode@6.1.0: + resolution: {integrity: sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-url@6.0.2: + resolution: {integrity: sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-whitespace@6.0.2: + resolution: {integrity: sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-opacity-percentage@3.0.0: + resolution: {integrity: sha512-K6HGVzyxUxd/VgZdX04DCtdwWJ4NGLG212US4/LA1TLAbHgmAsTWVR86o+gGIbFtnTkfOpb9sCRBx8K7HO66qQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-ordered-values@6.0.2: + resolution: {integrity: sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-overflow-shorthand@6.0.0: + resolution: {integrity: sha512-BdDl/AbVkDjoTofzDQnwDdm/Ym6oS9KgmO7Gr+LHYjNWJ6ExORe4+3pcLQsLA9gIROMkiGVjjwZNoL/mpXHd5Q==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-page-break@3.0.4: + resolution: {integrity: sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==} + peerDependencies: + postcss: ^8 + + postcss-place@10.0.0: + resolution: {integrity: sha512-5EBrMzat2pPAxQNWYavwAfoKfYcTADJ8AXGVPcUZ2UkNloUTWzJQExgrzrDkh3EKzmAx1evfTAzF9I8NGcc+qw==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-preset-env@10.6.1: + resolution: {integrity: sha512-yrk74d9EvY+W7+lO9Aj1QmjWY9q5NsKjK2V9drkOPZB/X6KZ0B3igKsHUYakb7oYVhnioWypQX3xGuePf89f3g==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-pseudo-class-any-link@10.0.1: + resolution: {integrity: sha512-3el9rXlBOqTFaMFkWDOkHUTQekFIYnaQY55Rsp8As8QQkpiSgIYEcF/6Ond93oHiDsGb4kad8zjt+NPlOC1H0Q==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-reduce-idents@6.0.3: + resolution: {integrity: sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-reduce-initial@6.1.0: + resolution: {integrity: sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-reduce-transforms@6.0.2: + resolution: {integrity: sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-replace-overflow-wrap@4.0.0: + resolution: {integrity: sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==} + peerDependencies: + postcss: ^8.0.3 + + postcss-selector-not@8.0.1: + resolution: {integrity: sha512-kmVy/5PYVb2UOhy0+LqUYAhKj7DUGDpSWa5LZqlkWJaaAV+dxxsOG3+St0yNLu6vsKD7Dmqx+nWQt0iil89+WA==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-selector-parser@6.1.4: + resolution: {integrity: sha512-bIoJLOmjCO1S9XdY/DcnR5hJxvrDir1PbGChrzXG3vw0/FOliy/fA3dmdhQ441kah4gKv+TwckGzex6wNS5cnQ==} + engines: {node: '>=4'} + + postcss-selector-parser@7.1.5: + resolution: {integrity: sha512-KvvtD7SrlBP7dlgkBghEE3r84CABm5SmV2aNcG4oCA+qDnJ/tvKonFVvwWAyyWUEwxuNawdfEAZKP9zM3oZ2Uw==} + engines: {node: '>=4'} + + postcss-sort-media-queries@5.2.0: + resolution: {integrity: sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.4.23 + + postcss-svgo@6.0.3: + resolution: {integrity: sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==} + engines: {node: ^14 || ^16 || >= 18} + peerDependencies: + postcss: ^8.4.31 + + postcss-unique-selectors@6.0.4: + resolution: {integrity: sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + + postcss-zindex@6.0.2: + resolution: {integrity: sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss@8.5.26: + resolution: {integrity: sha512-u82N74LFzG8ca+dD8puPnplTXoGH4fTPpVGuIbt36G3qvNlkvfD0lEAZSxaly3KX8TS/L1A1gsCEmvKmBcVbkQ==} + engines: {node: ^10 || ^12 || >=14} + + pretty-error@4.0.0: + resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} + + pretty-time@1.1.0: + resolution: {integrity: sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==} + engines: {node: '>=4'} + + prism-react-renderer@2.4.1: + resolution: {integrity: sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig==} + peerDependencies: + react: '>=16.0.0' + + prismjs@1.30.0: + resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==} + engines: {node: '>=6'} + + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + + prop-types@15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + + property-information@7.2.0: + resolution: {integrity: sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==} + + proto-list@1.2.4: + resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} + + proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + + publint@0.3.23: + resolution: {integrity: sha512-5MQipUPcB7MWw84zLUkHrg/H/UBtk3LL+A0GngTTBSsiNJLQurMUaSIRG3edlOrRz4UFe0AOKK9TZdIWviV+jQ==} + engines: {node: '>=18'} + hasBin: true + + punycode.js@2.3.1: + resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} + engines: {node: '>=6'} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + pupa@3.3.0: + resolution: {integrity: sha512-LjgDO2zPtoXP2wJpDjZrGdojii1uqO0cnwKoIoUzkfS98HDmbeiGmYiXo3lXeFlq2xvne1QFQhwYXSUCLKtEuA==} + engines: {node: '>=12.20'} + + pvtsutils@1.3.6: + resolution: {integrity: sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==} + + pvutils@1.2.0: + resolution: {integrity: sha512-BbubeCEyTuQjVMakvJQ/Sxbc93F2pwmbsxONT/ZRrwU7Ua38d8unYTwXpTVLAKJ4BDuH9IGztCjQcd/N/39Dvg==} + engines: {node: '>=16.0.0'} + + qs@6.15.3: + resolution: {integrity: sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A==} + engines: {node: '>=0.6'} + + quansync@1.0.0: + resolution: {integrity: sha512-5xZacEEufv3HSTPQuchrvV6soaiACMFnq1H8wkVioctoH3TRha9Sz66lOxRwPK/qZj7HPiSveih9yAyh98gvqA==} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + quick-lru@5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} + + randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + + range-parser@1.2.0: + resolution: {integrity: sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==} + engines: {node: '>= 0.6'} + + range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + + range-parser@1.3.0: + resolution: {integrity: sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==} + engines: {node: '>= 0.6'} + + raw-body@2.5.3: + resolution: {integrity: sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==} + engines: {node: '>= 0.8'} + + raw-loader@4.0.2: + resolution: {integrity: sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==} + engines: {node: '>= 10.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + + rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + + react-dom@18.3.1: + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + peerDependencies: + react: ^18.3.1 + + react-fast-compare@3.2.2: + resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==} + + react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + + react-json-view-lite@2.5.0: + resolution: {integrity: sha512-tk7o7QG9oYyELWHL8xiMQ8x4WzjCzbWNyig3uexmkLb54r8jO0yH3WCWx8UZS0c49eSA4QUmG5caiRJ8fAn58g==} + engines: {node: '>=18'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + + react-loadable-ssr-addon-v5-slorber@1.0.3: + resolution: {integrity: sha512-GXfh9VLwB5ERaCsU6RULh7tkemeX15aNh6wuMEBtfdyMa7fFG8TXrhXlx1SoEK2Ty/l6XIkzzYIQmyaWW3JgdQ==} + engines: {node: '>=10.13.0'} + peerDependencies: + react-loadable: '*' + webpack: '>=4.41.1 || 5.x' + + react-router-config@5.1.1: + resolution: {integrity: sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==} + peerDependencies: + react: '>=15' + react-router: '>=5' + + react-router-dom@5.3.4: + resolution: {integrity: sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==} + peerDependencies: + react: '>=15' + + react-router@5.3.4: + resolution: {integrity: sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==} + peerDependencies: + react: '>=15' + + react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + engines: {node: '>=0.10.0'} + + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + recma-build-jsx@1.0.0: + resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==} + + recma-jsx@1.0.1: + resolution: {integrity: sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + recma-parse@1.0.0: + resolution: {integrity: sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==} + + recma-stringify@1.0.0: + resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==} + + reflect-metadata@0.2.2: + resolution: {integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==} + + regenerate-unicode-properties@10.2.2: + resolution: {integrity: sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==} + engines: {node: '>=4'} + + regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + + regexpu-core@6.4.0: + resolution: {integrity: sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==} + engines: {node: '>=4'} + + registry-auth-token@5.1.1: + resolution: {integrity: sha512-P7B4+jq8DeD2nMsAcdfaqHbssgHtZ7Z5+++a5ask90fvmJ8p5je4mOa+wzu+DB4vQ5tdJV/xywY+UnVFeQLV5Q==} + engines: {node: '>=14'} + + registry-url@6.0.1: + resolution: {integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==} + engines: {node: '>=12'} + + regjsgen@0.8.0: + resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} + + regjsparser@0.13.2: + resolution: {integrity: sha512-NgRBy2Nx/bE+9F27nVHnqcN5HjyLmecqsqx2PJHu3/IEtADD4WuxuXIVExD5PoSDFVrl78dOonfcOe5O+5nbzQ==} + hasBin: true + + rehype-raw@7.0.0: + resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} + + rehype-recma@1.0.0: + resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==} + + relateurl@0.2.7: + resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} + engines: {node: '>= 0.10'} + + remark-directive@3.0.1: + resolution: {integrity: sha512-gwglrEQEZcZYgVyG1tQuA+h58EZfq5CSULw7J90AFuCTyib1thgHPoqQ+h9iFvU6R+vnZ5oNFQR5QKgGpk741A==} + + remark-emoji@4.0.1: + resolution: {integrity: sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + remark-frontmatter@5.0.0: + resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==} + + remark-gfm@4.0.1: + resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==} + + remark-mdx@3.1.1: + resolution: {integrity: sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==} + + remark-parse@11.0.0: + resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} + + remark-rehype@11.1.2: + resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==} + + remark-stringify@11.0.0: + resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} + + renderkid@3.0.0: + resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + + require-like@0.1.2: + resolution: {integrity: sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==} + + requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + + resolve-alpn@1.2.1: + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-pathname@3.0.0: + resolution: {integrity: sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==} + + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + + resolve@1.22.12: + resolution: {integrity: sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==} + engines: {node: '>= 0.4'} + hasBin: true + + responselike@3.0.0: + resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} + engines: {node: '>=14.16'} + + retry@0.13.1: + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} + + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rolldown-plugin-dts@0.27.14: + resolution: {integrity: sha512-ZvuDDwoIpRK9RPxDXratCpklFO9QZZWndf/sd0VBFb4LEj0jj07UcHK9OCh7V4XiFz2Z89ziyBC2K6tJiDjrbw==} + engines: {node: ^22.18.0 || >=24.11.0} + peerDependencies: + '@typescript/native-preview': '*' + '@volar/typescript': ~2.4.0 + rolldown: ^1.0.0 + typescript: ^5.0.0 || ^6.0.0 || ~7.0.0 + vue-tsc: ~3.2.0 || ~3.3.0 + peerDependenciesMeta: + '@typescript/native-preview': + optional: true + '@volar/typescript': + optional: true + typescript: + optional: true + vue-tsc: + optional: true + + rolldown@1.2.3: + resolution: {integrity: sha512-rn9wpmxplLf7NLNyCk9FyWh3FM43DbY8jOzCdEPzH7uflhTftRbCEpqi6Ly2osgoU8OwObtmavMbWLaWy4LX7A==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + + rtlcss@4.3.0: + resolution: {integrity: sha512-FI+pHEn7Wc4NqKXMXFM+VAYKEj/mRIcW4h24YVwVtyjI+EqGrLc2Hx/Ny0lrZ21cBWU2goLy36eqMcNj3AQJig==} + engines: {node: '>=12.0.0'} + hasBin: true + + run-applescript@7.1.0: + resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==} + engines: {node: '>=18'} + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + sade@1.8.1: + resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} + engines: {node: '>=6'} + + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + sax@1.6.1: + resolution: {integrity: sha512-42tBVwLWnaQvW5zc4HbZrTuWccECCZfBi92FDuwtqxasH+JbPB3/FOKb1m222K42R4WxuxzzMsTswfzgtSu64Q==} + engines: {node: '>=11.0.0'} + + scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + + schema-dts@1.1.5: + resolution: {integrity: sha512-RJr9EaCmsLzBX2NDiO5Z3ux2BVosNZN5jo0gWgsyKvxKIUL5R3swNvoorulAeL9kLB0iTSX7V6aokhla2m7xbg==} + + schema-utils@3.3.0: + resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} + engines: {node: '>= 10.13.0'} + + schema-utils@4.3.3: + resolution: {integrity: sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==} + engines: {node: '>= 10.13.0'} + + search-insights@2.17.3: + resolution: {integrity: sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==} + + section-matter@1.0.0: + resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} + engines: {node: '>=4'} + + select-hose@2.0.0: + resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} + + selfsigned@5.5.0: + resolution: {integrity: sha512-ftnu3TW4+3eBfLRFnDEkzGxSF/10BJBkaLJuBHZX0kiPS7bRdlpZGu6YGt4KngMkdTwJE6MbjavFpqHvqVt+Ew==} + engines: {node: '>=18'} + + semver-diff@4.0.0: + resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==} + engines: {node: '>=12'} + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.8.5: + resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} + engines: {node: '>=10'} + hasBin: true + + send@0.19.2: + resolution: {integrity: sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==} + engines: {node: '>= 0.8.0'} + + serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + + serve-handler@6.1.7: + resolution: {integrity: sha512-CinAq1xWb0vR3twAv9evEU8cNWkXCb9kd5ePAHUKJBkOsUpR1wt/CvGdeca7vqumL1U5cSaeVQ6zZMxiJ3yWsg==} + + serve-index@1.9.2: + resolution: {integrity: sha512-KDj11HScOaLmrPxl70KYNW1PksP4Nb/CLL2yvC+Qd2kHMPEEpfc4Re2e4FOay+bC/+XQl/7zAcWON3JVo5v3KQ==} + engines: {node: '>= 0.8.0'} + + serve-static@1.16.3: + resolution: {integrity: sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==} + engines: {node: '>= 0.8.0'} + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + + shallow-clone@3.0.1: + resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} + engines: {node: '>=8'} + + shallowequal@1.1.0: + resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shell-quote@1.10.0: + resolution: {integrity: sha512-w1aiOKwKuRgtwAReIIj89puqg+I7GvX4IbLrvmhXbzQsj1+Zwi4VO3+fa6ZF91TWSjIxoEkKnMeHcLEODK5ZXA==} + engines: {node: '>= 0.4'} + + side-channel-list@1.0.1: + resolution: {integrity: sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==} + engines: {node: '>= 0.4'} + + side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} + + side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} + + side-channel@1.1.1: + resolution: {integrity: sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==} + engines: {node: '>= 0.4'} + + siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + sirv@2.0.4: + resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} + engines: {node: '>= 10'} + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + sitemap@7.1.3: + resolution: {integrity: sha512-tAjEd+wt/YwnEbfNB2ht51ybBJxbEWwe5ki/Z//Wh0rpBFTCUSj46GnxUKEWzhfuJTsee8x3lybHxFgUMig2hw==} + engines: {node: '>=12.0.0', npm: '>=5.6.0'} + hasBin: true + + skin-tone@2.0.0: + resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==} + engines: {node: '>=8'} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + slash@4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} + + snake-case@3.0.4: + resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} + + sockjs@0.3.24: + resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} + + sort-css-media-queries@2.2.0: + resolution: {integrity: sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA==} + engines: {node: '>= 6.3.0'} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + source-map@0.7.6: + resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} + engines: {node: '>= 12'} + + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + + spdy-transport@3.0.0: + resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} + + spdy@4.0.2: + resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} + engines: {node: '>=6.0.0'} + + srcset@4.0.0: + resolution: {integrity: sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==} + engines: {node: '>=12'} + + stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + + statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + + statuses@2.0.2: + resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} + engines: {node: '>= 0.8'} + + std-env@3.10.0: + resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==} + + std-env@4.2.0: + resolution: {integrity: sha512-oCUKSupKTHX53EyjDtuZQ64pjLJ6yYCtpmEw0goYxtjG9KpbRe8KAsl2tBUGU9DyMcJ0RwJ8GqJAFzMXcXW1Rw==} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + stringify-entities@4.0.4: + resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + + stringify-object@3.3.0: + resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} + engines: {node: '>=4'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.2.0: + resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==} + engines: {node: '>=12'} + + strip-bom-string@1.0.0: + resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} + engines: {node: '>=0.10.0'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + style-to-js@1.1.21: + resolution: {integrity: sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==} + + style-to-object@1.0.14: + resolution: {integrity: sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==} + + stylehacks@6.1.1: + resolution: {integrity: sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + supports-hyperlinks@3.2.0: + resolution: {integrity: sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==} + engines: {node: '>=14.18'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + svg-parser@2.0.4: + resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==} + + svgo@3.3.4: + resolution: {integrity: sha512-GsNRis4e8jxn2Y9ENz/8lbJ93CstG8svtMnuRaHbiF2LTJ5tK0/q3t/URPq9Zc7zVWBJnNnJMIp6bevK7bSmNg==} + engines: {node: '>=14.0.0'} + hasBin: true + + tapable@2.3.3: + resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==} + engines: {node: '>=6'} + + terser-webpack-plugin@5.6.1: + resolution: {integrity: sha512-201R5j+sJpK8nFWwKVyNfZot8FaJbLZDq5evriVzbV1wDtSXDjRUDRfJzHpAaxFDMEhsZL1QkeqM61wgsS3KaQ==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@minify-html/node': '*' + '@swc/core': '*' + '@swc/css': '*' + '@swc/html': '*' + clean-css: '*' + cssnano: '*' + csso: '*' + esbuild: '*' + html-minifier-terser: '*' + lightningcss: '*' + postcss: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@minify-html/node': + optional: true + '@swc/core': + optional: true + '@swc/css': + optional: true + '@swc/html': + optional: true + clean-css: + optional: true + cssnano: + optional: true + csso: + optional: true + esbuild: + optional: true + html-minifier-terser: + optional: true + lightningcss: + optional: true + postcss: + optional: true + uglify-js: + optional: true + + terser@5.49.2: + resolution: {integrity: sha512-rGbJiKeQ4WDe3EXlDAIaQcwftVfv2Q8o1awFNfvXolJYKkb1AuZY1RTOmqx4LJXZENbWZA7eIsYGHuEzHsi1nQ==} + engines: {node: '>=10'} + hasBin: true + + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + + thingies@2.6.1: + resolution: {integrity: sha512-cV/CMGTK3M4MlnJ/0At6ismOw/A0EEniDNScajjz/Br3c1sqE72YD01rGpPTKwd27wAxI5Pr+6+0w8yofzFRYw==} + engines: {node: '>=10.18'} + peerDependencies: + tslib: ^2 + + thunky@1.1.0: + resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} + + tiny-invariant@1.3.3: + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + + tiny-warning@1.0.3: + resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} + + tinybench@2.9.0: + resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} + + tinyexec@1.3.0: + resolution: {integrity: sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ==} + engines: {node: '>=18'} + + tinyglobby@0.2.17: + resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} + engines: {node: '>=12.0.0'} + + tinypool@1.1.1: + resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==} + engines: {node: ^18.0.0 || >=20.0.0} + + tinyrainbow@3.1.1: + resolution: {integrity: sha512-yau8yJdTt989Mm0Bd/236QnzEiPf2xLLTqUZRUJOo/3CB078LSwzei343DgtJVmfJKJE3TMINY1u42SQsP6mXw==} + engines: {node: '>=14.0.0'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + + totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + + tree-dump@1.1.0: + resolution: {integrity: sha512-rMuvhU4MCDbcbnleZTFezWsaZXRFemSqAM+7jPnzUl1fo9w3YEKOxAeui0fz3OI4EU4hf23iyA7uQRVko+UaBA==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + + trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + + trough@2.2.0: + resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} + + tsdown@0.22.14: + resolution: {integrity: sha512-ule7Y+fsAN2iZbLDoo7C4KYljFJNJJ+fLshyn+9gozeTspVersWHxwdGB+Dm2hzA38s6muFnUTl0jK3vJm9ifQ==} + engines: {node: ^22.18.0 || >=24.11.0} + hasBin: true + peerDependencies: + '@arethetypeswrong/core': ^0.18.1 + '@tsdown/css': 0.22.14 + '@tsdown/exe': 0.22.14 + '@vitejs/devtools': '*' + publint: ^0.3.8 + tsx: '*' + typescript: ^5.0.0 || ^6.0.0 || ^7.0.0 + unplugin-unused: ^0.5.0 + unrun: '*' + peerDependenciesMeta: + '@arethetypeswrong/core': + optional: true + '@tsdown/css': + optional: true + '@tsdown/exe': + optional: true + '@vitejs/devtools': + optional: true + publint: + optional: true + tsx: + optional: true + typescript: + optional: true + unplugin-unused: + optional: true + unrun: + optional: true + + tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + tsyringe@4.10.0: + resolution: {integrity: sha512-axr3IdNuVIxnaK5XGEUFTu3YmAQ6lllgrvqfEoR16g/HGnYY/6We4oWENtAnzK6/LpJ2ur9PAb80RBt7/U4ugw==} + engines: {node: '>= 6.0.0'} + + type-fest@1.4.0: + resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} + engines: {node: '>=10'} + + type-fest@2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} + + type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + + typedarray-to-buffer@3.1.5: + resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + + typedoc-docusaurus-theme@1.4.2: + resolution: {integrity: sha512-i9YYDcScLD0WUiX8I+LXHX3ZVvRDlJsmRo9l/uWrFT37cHlMz4Ay0GOnWzHUBnnwAo1uzYOw9RjUXznbWozBEA==} + peerDependencies: + typedoc-plugin-markdown: '>=4.8.0' + + typedoc-plugin-markdown@4.12.0: + resolution: {integrity: sha512-eJDEMAfxCmede22c/Jw7d0FA13ggAQv+KkwQYKYCdqI02cin6Rc9QRwbG/7XvvHWinuFejySnZVUWDtvGk3Vbg==} + engines: {node: '>= 18'} + peerDependencies: + typedoc: 0.28.x + + typedoc@0.28.20: + resolution: {integrity: sha512-uSKqkh8Cr48vllnEy+jdaAgOeR6Y+QCBW7usgUsKj7gJEfR7stw9U/fE49LBnj2tPRKPY0c0EBJSWe9Appmplg==} + engines: {node: '>= 18', pnpm: '>= 10'} + hasBin: true + peerDependencies: + typescript: 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x || 5.9.x || 6.0.x + + typescript@5.6.1-rc: + resolution: {integrity: sha512-E3b2+1zEFu84jB0YQi9BORDjz9+jGbwwy1Zi3G0LUNw7a7cePUrHMRNy8aPh53nXpkFGVHSxIZo5vKTfYaFiBQ==} + engines: {node: '>=14.17'} + hasBin: true + + typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} + engines: {node: '>=14.17'} + hasBin: true + + uc.micro@2.1.0: + resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} + + unconfig-core@7.5.0: + resolution: {integrity: sha512-Su3FauozOGP44ZmKdHy2oE6LPjk51M/TRRjHv2HNCWiDvfvCoxC2lno6jevMA91MYAdCdwP05QnWdWpSbncX/w==} + + undici-types@8.3.0: + resolution: {integrity: sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==} + + undici@7.29.0: + resolution: {integrity: sha512-IDxfleLmmbSskfWSUATiN1nfn2rDuvnMOqb5CWR92iIfojA0Ud+ulOAAEQ57LPr9rWmsreUyf5lwyao+7GNNVw==} + engines: {node: '>=20.18.1'} + + unicode-canonical-property-names-ecmascript@2.0.1: + resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} + engines: {node: '>=4'} + + unicode-emoji-modifier-base@1.0.0: + resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} + engines: {node: '>=4'} + + unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + + unicode-match-property-value-ecmascript@2.2.1: + resolution: {integrity: sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==} + engines: {node: '>=4'} + + unicode-property-aliases-ecmascript@2.2.0: + resolution: {integrity: sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==} + engines: {node: '>=4'} + + unified@11.0.5: + resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} + + unique-string@3.0.0: + resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==} + engines: {node: '>=12'} + + unist-util-is@6.0.1: + resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==} + + unist-util-position-from-estree@2.0.0: + resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} + + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-parents@6.0.2: + resolution: {integrity: sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==} + + unist-util-visit@5.1.0: + resolution: {integrity: sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==} + + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + + update-browserslist-db@1.3.1: + resolution: {integrity: sha512-ZZ61DsRsOnakl74HAmp3oSN4aXUmEWXf+i/yv0h7tIBfICc3VdrFErQKUUKPgu3AMsTUMbcongALEN4l6GSUrQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + update-notifier@6.0.2: + resolution: {integrity: sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==} + engines: {node: '>=14.16'} + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + url-loader@4.1.1: + resolution: {integrity: sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==} + engines: {node: '>= 10.13.0'} + peerDependencies: + file-loader: '*' + webpack: ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + file-loader: + optional: true + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + utila@0.4.0: + resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==} + + utility-types@3.11.0: + resolution: {integrity: sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==} + engines: {node: '>= 4'} + + utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + + uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028). + hasBin: true + + validate-npm-package-name@5.0.1: + resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + value-equal@1.0.1: + resolution: {integrity: sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==} + + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + + verkit@0.3.2: + resolution: {integrity: sha512-zj/ob3UsvJGN0whEAKFp53REA5X66hvffVqoCtVQAakJKnKlH+/PcOfMoFwIG/o4rElqLv/ycAFlx8ZlXUorCg==} + engines: {node: '>=18.12.0'} + + vfile-location@5.0.3: + resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} + + vfile-message@4.0.3: + resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==} + + vfile@6.0.3: + resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + + vite@8.2.1: + resolution: {integrity: sha512-EU/eS7BH3XROHh2YnBefjM6DBKA6ZeMZEYQbj7NLWg5wHYlhB8B/Mayd5XsgWq+NFYccDOTemRpdETWR6Ka/lw==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + '@types/node': ^20.19.0 || >=22.12.0 + '@vitejs/devtools': ^0.4.0 + esbuild: ^0.27.0 || ^0.28.0 + jiti: '>=1.21.0' + less: ^4.0.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: '>=0.54.8' + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + '@vitejs/devtools': + optional: true + esbuild: + optional: true + jiti: + optional: true + less: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + + vitest@4.1.10: + resolution: {integrity: sha512-R9jUTe5S4Qb0HCd4TNqpC7oGcrMssMRGXLW80ubjWsW9VH5GF8y1Y0SFLY9AbqSk6nt0PnOx4H4WNJYZ13GUPw==} + engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@opentelemetry/api': ^1.9.0 + '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 + '@vitest/browser-playwright': 4.1.10 + '@vitest/browser-preview': 4.1.10 + '@vitest/browser-webdriverio': 4.1.10 + '@vitest/coverage-istanbul': 4.1.10 + '@vitest/coverage-v8': 4.1.10 + '@vitest/ui': 4.1.10 + happy-dom: '*' + jsdom: '*' + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@opentelemetry/api': + optional: true + '@types/node': + optional: true + '@vitest/browser-playwright': + optional: true + '@vitest/browser-preview': + optional: true + '@vitest/browser-webdriverio': + optional: true + '@vitest/coverage-istanbul': + optional: true + '@vitest/coverage-v8': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + + watchpack@2.5.2: + resolution: {integrity: sha512-6i/00NBjP4yGPs+caKSyRfpTF/8Torsu0MOW3mMzIbhgISFder8i7xbqgHlLMwJrdiN8ndBV3UA1/AfzPSr+jg==} + engines: {node: '>=10.13.0'} + + wbuf@1.7.3: + resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} + + web-namespaces@2.0.1: + resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} + + webpack-bundle-analyzer@4.10.2: + resolution: {integrity: sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==} + engines: {node: '>= 10.13.0'} + hasBin: true + + webpack-dev-middleware@7.4.5: + resolution: {integrity: sha512-uxQ6YqGdE4hgDKNf7hUiPXOdtkXvBJXrfEGYSx7P7LC8hnUYGK70X6xQXUvXeNyBDDcsiQXpG2m3G9vxowaEuA==} + engines: {node: '>= 18.12.0'} + peerDependencies: + webpack: ^5.0.0 + peerDependenciesMeta: + webpack: + optional: true + + webpack-dev-server@5.2.6: + resolution: {integrity: sha512-HNLRmamRvVavZQ+avceZifmv8hmdUjg43t6MI4SqJDwFdW7RPQwH5vzGhDRZSX59SgfbeHhLnq3g+uooWo7pVw==} + engines: {node: '>= 18.12.0'} + hasBin: true + peerDependencies: + webpack: ^5.0.0 + webpack-cli: '*' + peerDependenciesMeta: + webpack: + optional: true + webpack-cli: + optional: true + + webpack-merge@5.10.0: + resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==} + engines: {node: '>=10.0.0'} + + webpack-merge@6.0.1: + resolution: {integrity: sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==} + engines: {node: '>=18.0.0'} + + webpack-sources@3.5.1: + resolution: {integrity: sha512-jyuiGJdtvY434z5bUZrjz67v76/ePNvFZTp9Mdz29IlH4+GPsgyGjiv0fKI+M7BdkU6ADjulUcKAd3tUK3WlEw==} + engines: {node: '>=10.13.0'} + + webpack@5.109.2: + resolution: {integrity: sha512-U9/cvLzxObKNEZ9+TtdqrHM5/9z3lgl2c+c4BzbqGxFQvQvBAq87yql5A8pQ+rrMbS496MZJeF5enVBndIy2hw==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + + webpackbar@7.0.0: + resolution: {integrity: sha512-aS9soqSO2iCHgqHoCrj4LbfGQUboDCYJPSFOAchEK+9psIjNrfSWW4Y0YEz67MKURNvMmfo0ycOg9d/+OOf9/Q==} + engines: {node: '>=14.21.3'} + peerDependencies: + '@rspack/core': '*' + webpack: 3 || 4 || 5 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true + + websocket-driver@0.7.5: + resolution: {integrity: sha512-ZL2+3c7kMBdIRCMz6l8jQMHyGVxj+UL+xVk74Ombiciboca8rHa15L86B19E5oh1pL9Ii/uj54gtsIrZGMo6zA==} + engines: {node: '>=0.8.0'} + + websocket-extensions@0.1.4: + resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} + engines: {node: '>=0.8.0'} + + whatwg-encoding@3.1.1: + resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} + engines: {node: '>=18'} + deprecated: Use @exodus/bytes instead for a more spec-conformant and faster implementation + + whatwg-mimetype@4.0.0: + resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} + engines: {node: '>=18'} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + why-is-node-running@2.3.0: + resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} + engines: {node: '>=8'} + hasBin: true + + widest-line@4.0.1: + resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} + engines: {node: '>=12'} + + wildcard@2.0.1: + resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + write-file-atomic@3.0.3: + resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} + + ws@7.5.13: + resolution: {integrity: sha512-rsKI6xDBFVf4r/x8XyChGK04QR/XHroxs/jUcoWvtEZM8TPU/X/uIY9B1CsSzYws9ZJb/6bbBu7dPhFW00CAoA==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.21.3: + resolution: {integrity: sha512-201TZ/kPWxoPr/OKWjquZR1SWKXcvxdH+e1xrx89b3YbmzLMFCLfnaG1HFIgWzJOEWZ7MvpK++odZufgYR50Rw==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + wsl-utils@0.1.0: + resolution: {integrity: sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==} + engines: {node: '>=18'} + + xdg-basedir@5.1.0: + resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} + engines: {node: '>=12'} + + xml-js@1.6.11: + resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==} + hasBin: true + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yaml@2.9.0: + resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==} + engines: {node: '>= 14.6'} + hasBin: true + + yargs-parser@20.2.9: + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} + + yargs@16.2.2: + resolution: {integrity: sha512-Nt9ZJjXTv5R8MHbqby/wXQ6Gi0Bb3TcYZkR1bzuL4yB2OxWPkXknz513gEF0GoA6tn00UpbPvERW8rzCuWCA6w==} + engines: {node: '>=10'} + + yocto-queue@1.2.2: + resolution: {integrity: sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==} + engines: {node: '>=12.20'} + + yuku-ast@0.8.4: + resolution: {integrity: sha512-s7EWfWIQkaGmsGnyr/BU0jli9YTN5TvrKIsSmALyRD9elumDQInuhv0BrVObENKVCxr9W3Ikmnx5u02KvfuUmw==} + + yuku-codegen@0.8.4: + resolution: {integrity: sha512-1Rw+NYcmB1xkHAWlsIpbwIv/Fr50idtEbLf7OjDA+90dny6PM4Krz7Fs0TT+w2PBdjaldZpN4ye5wR4Dhlm8vA==} + + yuku-parser@0.8.4: + resolution: {integrity: sha512-sw41wouvT5rUmLIp87hmvm5vtF+MRSI3x6yjq6xqpYmtkQj+Ht6N7xRQ8lMhLv8N7JAzughGj0Rfi0jQRSu9HQ==} + + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + +snapshots: + + '@11ty/gray-matter@1.0.0': + dependencies: + js-yaml: 4.3.1 + kind-of: 6.0.3 + section-matter: 1.0.0 + strip-bom-string: 1.0.0 + + '@algolia/abtesting@1.22.0': + dependencies: + '@algolia/client-common': 5.56.0 + '@algolia/requester-browser-xhr': 5.56.0 + '@algolia/requester-fetch': 5.56.0 + '@algolia/requester-node-http': 5.56.0 + + '@algolia/autocomplete-core@1.19.2(@algolia/client-search@5.56.0)(algoliasearch@5.56.0)(search-insights@2.17.3)': + dependencies: + '@algolia/autocomplete-plugin-algolia-insights': 1.19.2(@algolia/client-search@5.56.0)(algoliasearch@5.56.0)(search-insights@2.17.3) + '@algolia/autocomplete-shared': 1.19.2(@algolia/client-search@5.56.0)(algoliasearch@5.56.0) + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + - search-insights + + '@algolia/autocomplete-core@1.19.9(@algolia/client-search@5.56.0)(algoliasearch@5.56.0)(search-insights@2.17.3)': + dependencies: + '@algolia/autocomplete-plugin-algolia-insights': 1.19.9(@algolia/client-search@5.56.0)(algoliasearch@5.56.0)(search-insights@2.17.3) + '@algolia/autocomplete-shared': 1.19.9(@algolia/client-search@5.56.0)(algoliasearch@5.56.0) + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + - search-insights + + '@algolia/autocomplete-plugin-algolia-insights@1.19.2(@algolia/client-search@5.56.0)(algoliasearch@5.56.0)(search-insights@2.17.3)': + dependencies: + '@algolia/autocomplete-shared': 1.19.2(@algolia/client-search@5.56.0)(algoliasearch@5.56.0) + search-insights: 2.17.3 + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + + '@algolia/autocomplete-plugin-algolia-insights@1.19.9(@algolia/client-search@5.56.0)(algoliasearch@5.56.0)(search-insights@2.17.3)': + dependencies: + '@algolia/autocomplete-shared': 1.19.9(@algolia/client-search@5.56.0)(algoliasearch@5.56.0) + search-insights: 2.17.3 + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + + '@algolia/autocomplete-shared@1.19.2(@algolia/client-search@5.56.0)(algoliasearch@5.56.0)': + dependencies: + '@algolia/client-search': 5.56.0 + algoliasearch: 5.56.0 + + '@algolia/autocomplete-shared@1.19.9(@algolia/client-search@5.56.0)(algoliasearch@5.56.0)': + dependencies: + '@algolia/client-search': 5.56.0 + algoliasearch: 5.56.0 + + '@algolia/client-abtesting@5.56.0': + dependencies: + '@algolia/client-common': 5.56.0 + '@algolia/requester-browser-xhr': 5.56.0 + '@algolia/requester-fetch': 5.56.0 + '@algolia/requester-node-http': 5.56.0 + + '@algolia/client-analytics@5.56.0': + dependencies: + '@algolia/client-common': 5.56.0 + '@algolia/requester-browser-xhr': 5.56.0 + '@algolia/requester-fetch': 5.56.0 + '@algolia/requester-node-http': 5.56.0 + + '@algolia/client-common@5.56.0': {} + + '@algolia/client-insights@5.56.0': + dependencies: + '@algolia/client-common': 5.56.0 + '@algolia/requester-browser-xhr': 5.56.0 + '@algolia/requester-fetch': 5.56.0 + '@algolia/requester-node-http': 5.56.0 + + '@algolia/client-personalization@5.56.0': + dependencies: + '@algolia/client-common': 5.56.0 + '@algolia/requester-browser-xhr': 5.56.0 + '@algolia/requester-fetch': 5.56.0 + '@algolia/requester-node-http': 5.56.0 + + '@algolia/client-query-suggestions@5.56.0': + dependencies: + '@algolia/client-common': 5.56.0 + '@algolia/requester-browser-xhr': 5.56.0 + '@algolia/requester-fetch': 5.56.0 + '@algolia/requester-node-http': 5.56.0 + + '@algolia/client-search@5.56.0': + dependencies: + '@algolia/client-common': 5.56.0 + '@algolia/requester-browser-xhr': 5.56.0 + '@algolia/requester-fetch': 5.56.0 + '@algolia/requester-node-http': 5.56.0 + + '@algolia/events@4.0.1': {} + + '@algolia/ingestion@1.56.0': + dependencies: + '@algolia/client-common': 5.56.0 + '@algolia/requester-browser-xhr': 5.56.0 + '@algolia/requester-fetch': 5.56.0 + '@algolia/requester-node-http': 5.56.0 + + '@algolia/monitoring@1.56.0': + dependencies: + '@algolia/client-common': 5.56.0 + '@algolia/requester-browser-xhr': 5.56.0 + '@algolia/requester-fetch': 5.56.0 + '@algolia/requester-node-http': 5.56.0 + + '@algolia/recommend@5.56.0': + dependencies: + '@algolia/client-common': 5.56.0 + '@algolia/requester-browser-xhr': 5.56.0 + '@algolia/requester-fetch': 5.56.0 + '@algolia/requester-node-http': 5.56.0 + + '@algolia/requester-browser-xhr@5.56.0': + dependencies: + '@algolia/client-common': 5.56.0 + + '@algolia/requester-fetch@5.56.0': + dependencies: + '@algolia/client-common': 5.56.0 + + '@algolia/requester-node-http@5.56.0': + dependencies: + '@algolia/client-common': 5.56.0 + + '@andrewbranch/untar.js@1.0.4': {} + + '@arethetypeswrong/cli@0.18.5': + dependencies: + '@arethetypeswrong/core': 0.18.5 + chalk: 4.1.2 + cli-table3: 0.6.5 + commander: 10.0.1 + marked: 9.1.6 + marked-terminal: 7.3.0(marked@9.1.6) + semver: 7.8.5 + + '@arethetypeswrong/core@0.18.5': + dependencies: + '@andrewbranch/untar.js': 1.0.4 + '@loaderkit/resolve': 1.0.6 + cjs-module-lexer: 1.4.3 + fflate: 0.8.3 + lru-cache: 11.5.2 + semver: 7.8.5 + typescript: 5.6.1-rc + validate-npm-package-name: 5.0.1 + + '@babel/code-frame@7.29.7': + dependencies: + '@babel/helper-validator-identifier': 7.29.7 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/compat-data@7.29.7': {} + + '@babel/core@7.29.7(supports-color@8.1.1)': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.8 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/helpers': 7.29.7 + '@babel/parser': 7.29.8 + '@babel/template': 7.29.7 + '@babel/traverse': 7.29.8(supports-color@8.1.1) + '@babel/types': 7.29.8 + '@jridgewell/remapping': 2.3.5 + convert-source-map: 2.0.0 + debug: 4.4.3(supports-color@8.1.1) + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.29.8': + dependencies: + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + jsesc: 3.1.0 + + '@babel/helper-annotate-as-pure@7.29.7': + dependencies: + '@babel/types': 7.29.8 + + '@babel/helper-compilation-targets@7.29.7': + dependencies: + '@babel/compat-data': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + browserslist: 4.28.8 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-create-class-features-plugin@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-member-expression-to-functions': 7.29.7(supports-color@8.1.1) + '@babel/helper-optimise-call-expression': 7.29.7 + '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7(supports-color@8.1.1) + '@babel/traverse': 7.29.8(supports-color@8.1.1) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-create-regexp-features-plugin@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-annotate-as-pure': 7.29.7 + regexpu-core: 6.4.0 + semver: 6.3.1 + + '@babel/helper-define-polyfill-provider@0.6.8(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + debug: 4.4.3(supports-color@8.1.1) + lodash.debounce: 4.0.8 + resolve: 1.22.12 + transitivePeerDependencies: + - supports-color + + '@babel/helper-globals@7.29.7': {} + + '@babel/helper-member-expression-to-functions@7.29.7(supports-color@8.1.1)': + dependencies: + '@babel/traverse': 7.29.8(supports-color@8.1.1) + '@babel/types': 7.29.8 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-imports@7.29.7(supports-color@8.1.1)': + dependencies: + '@babel/traverse': 7.29.8(supports-color@8.1.1) + '@babel/types': 7.29.8 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-module-imports': 7.29.7(supports-color@8.1.1) + '@babel/helper-validator-identifier': 7.29.7 + '@babel/traverse': 7.29.8(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + '@babel/helper-optimise-call-expression@7.29.7': + dependencies: + '@babel/types': 7.29.8 + + '@babel/helper-plugin-utils@7.29.7': {} + + '@babel/helper-remap-async-to-generator@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-wrap-function': 7.29.7(supports-color@8.1.1) + '@babel/traverse': 7.29.8(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + '@babel/helper-replace-supers@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-member-expression-to-functions': 7.29.7(supports-color@8.1.1) + '@babel/helper-optimise-call-expression': 7.29.7 + '@babel/traverse': 7.29.8(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + '@babel/helper-skip-transparent-expression-wrappers@7.29.7(supports-color@8.1.1)': + dependencies: + '@babel/traverse': 7.29.8(supports-color@8.1.1) + '@babel/types': 7.29.8 + transitivePeerDependencies: + - supports-color + + '@babel/helper-string-parser@7.29.7': {} + + '@babel/helper-validator-identifier@7.29.7': {} + + '@babel/helper-validator-option@7.29.7': {} + + '@babel/helper-wrap-function@7.29.7(supports-color@8.1.1)': + dependencies: + '@babel/template': 7.29.7 + '@babel/traverse': 7.29.8(supports-color@8.1.1) + '@babel/types': 7.29.8 + transitivePeerDependencies: + - supports-color + + '@babel/helpers@7.29.7': + dependencies: + '@babel/template': 7.29.7 + '@babel/types': 7.29.8 + + '@babel/parser@7.29.8': + dependencies: + '@babel/types': 7.29.8 + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/traverse': 7.29.8(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7(supports-color@8.1.1) + '@babel/plugin-transform-optional-chaining': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/traverse': 7.29.8(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + + '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-import-assertions@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-import-attributes@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-arrow-functions@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-async-generator-functions@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-remap-async-to-generator': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/traverse': 7.29.8(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-async-to-generator@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-module-imports': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-remap-async-to-generator': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-block-scoped-functions@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-block-scoping@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-class-properties@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-class-static-block@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-classes@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-globals': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/traverse': 7.29.8(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-computed-properties@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/template': 7.29.7 + + '@babel/plugin-transform-destructuring@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/traverse': 7.29.8(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-dotall-regex@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-duplicate-keys@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-dynamic-import@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-explicit-resource-management@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/plugin-transform-destructuring': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-exponentiation-operator@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-export-namespace-from@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-for-of@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-function-name@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/traverse': 7.29.8(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-json-strings@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-literals@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-logical-assignment-operators@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-member-expression-literals@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-modules-amd@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-commonjs@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-systemjs@7.29.8(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + '@babel/traverse': 7.29.8(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-umd@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-named-capturing-groups-regex@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-new-target@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-nullish-coalescing-operator@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-numeric-separator@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-object-rest-spread@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/plugin-transform-destructuring': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-parameters': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/traverse': 7.29.8(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-object-super@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-optional-catch-binding@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-optional-chaining@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-parameters@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-private-methods@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-private-property-in-object@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-property-literals@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-react-constant-elements@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-react-display-name@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-react-jsx-development@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/plugin-transform-react-jsx': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-react-jsx@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-module-imports': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/types': 7.29.8 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-react-pure-annotations@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-regenerator@7.29.8(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-regexp-modifiers@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-reserved-words@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-runtime@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-module-imports': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + babel-plugin-polyfill-corejs2: 0.4.17(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + babel-plugin-polyfill-regenerator: 0.6.8(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-shorthand-properties@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-spread@7.29.8(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-sticky-regex@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-template-literals@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-typeof-symbol@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-typescript@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7(supports-color@8.1.1) + '@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-unicode-escapes@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-unicode-property-regex@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-unicode-regex@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-unicode-sets-regex@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/preset-env@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/compat-data': 7.29.7 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-syntax-import-assertions': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-syntax-import-attributes': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-arrow-functions': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-async-generator-functions': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-async-to-generator': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-block-scoped-functions': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-block-scoping': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-class-properties': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-class-static-block': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-classes': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-computed-properties': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-destructuring': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-dotall-regex': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-duplicate-keys': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-dynamic-import': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-explicit-resource-management': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-exponentiation-operator': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-export-namespace-from': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-for-of': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-function-name': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-json-strings': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-literals': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-logical-assignment-operators': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-member-expression-literals': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-modules-amd': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-modules-commonjs': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-modules-systemjs': 7.29.8(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-modules-umd': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-named-capturing-groups-regex': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-new-target': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-nullish-coalescing-operator': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-numeric-separator': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-object-rest-spread': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-object-super': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-optional-catch-binding': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-optional-chaining': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-parameters': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-private-methods': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-private-property-in-object': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-property-literals': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-regenerator': 7.29.8(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-regexp-modifiers': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-reserved-words': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-shorthand-properties': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-spread': 7.29.8(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-sticky-regex': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-template-literals': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-typeof-symbol': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-unicode-escapes': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-unicode-property-regex': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-unicode-regex': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-unicode-sets-regex': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.29.7(supports-color@8.1.1)) + babel-plugin-polyfill-corejs2: 0.4.17(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + babel-plugin-polyfill-corejs3: 0.14.2(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + babel-plugin-polyfill-regenerator: 0.6.8(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + core-js-compat: 3.50.0 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/types': 7.29.8 + esutils: 2.0.3 + + '@babel/preset-react@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + '@babel/plugin-transform-react-display-name': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-react-jsx': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-react-jsx-development': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-react-pure-annotations': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + transitivePeerDependencies: + - supports-color + + '@babel/preset-typescript@7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-modules-commonjs': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-typescript': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + '@babel/runtime@7.29.7': {} + + '@babel/template@7.29.7': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 + + '@babel/traverse@7.29.8(supports-color@8.1.1)': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.8 + '@babel/helper-globals': 7.29.7 + '@babel/parser': 7.29.8 + '@babel/template': 7.29.7 + '@babel/types': 7.29.8 + debug: 4.4.3(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + '@babel/types@7.29.8': + dependencies: + '@babel/helper-string-parser': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + + '@bcoe/v8-coverage@1.0.2': {} + + '@braidai/lang@1.1.2': {} + + '@changesets/apply-release-plan@8.0.0': + dependencies: + '@changesets/config': 4.0.0 + '@changesets/format': 0.1.1 + '@changesets/git': 4.0.0 + '@changesets/should-skip-package': 1.0.0 + '@changesets/types': 7.0.0 + import-meta-resolve: 4.2.0 + jsonc-parser: 3.3.1 + semver: 7.8.5 + + '@changesets/assemble-release-plan@7.0.0': + dependencies: + '@changesets/errors': 1.0.0 + '@changesets/get-dependents-graph': 3.0.0 + '@changesets/should-skip-package': 1.0.0 + '@changesets/types': 7.0.0 + semver: 7.8.5 + + '@changesets/changelog-git@1.0.0': + dependencies: + '@changesets/types': 7.0.0 + + '@changesets/cli@3.0.0': + dependencies: + '@changesets/apply-release-plan': 8.0.0 + '@changesets/assemble-release-plan': 7.0.0 + '@changesets/changelog-git': 1.0.0 + '@changesets/config': 4.0.0 + '@changesets/errors': 1.0.0 + '@changesets/get-dependents-graph': 3.0.0 + '@changesets/git': 4.0.0 + '@changesets/pre': 3.0.0 + '@changesets/read': 1.0.0 + '@changesets/should-skip-package': 1.0.0 + '@changesets/types': 7.0.0 + '@changesets/write': 1.0.0 + '@clack/prompts': 1.7.0 + '@manypkg/get-packages': 3.1.0 + '@pnpm/deps.graph-sequencer': 1100.0.1 + cac: 7.0.0 + import-meta-resolve: 4.2.0 + launch-editor: 2.14.1 + package-manager-detector: 1.8.0 + semver: 7.8.5 + tinyexec: 1.3.0 + + '@changesets/config@4.0.0': + dependencies: + '@changesets/get-dependents-graph': 3.0.0 + '@changesets/should-skip-package': 1.0.0 + '@changesets/types': 7.0.0 + '@manypkg/get-packages': 3.1.0 + picomatch: 4.0.5 + + '@changesets/errors@1.0.0': {} + + '@changesets/format@0.1.1': + dependencies: + package-manager-detector: 1.8.0 + tinyexec: 1.3.0 + + '@changesets/get-dependents-graph@3.0.0': + dependencies: + '@changesets/types': 7.0.0 + semver: 7.8.5 + + '@changesets/git@4.0.0': + dependencies: + '@changesets/errors': 1.0.0 + '@changesets/types': 7.0.0 + '@manypkg/get-packages': 3.1.0 + picomatch: 4.0.5 + tinyexec: 1.3.0 + + '@changesets/parse@1.0.0': + dependencies: + '@changesets/types': 7.0.0 + yaml: 2.9.0 + + '@changesets/pre@3.0.0': + dependencies: + '@changesets/errors': 1.0.0 + '@changesets/types': 7.0.0 + '@manypkg/get-packages': 3.1.0 + + '@changesets/read@1.0.0': + dependencies: + '@changesets/git': 4.0.0 + '@changesets/parse': 1.0.0 + '@changesets/types': 7.0.0 + + '@changesets/should-skip-package@1.0.0': + dependencies: + '@changesets/types': 7.0.0 + + '@changesets/types@7.0.0': {} + + '@changesets/write@1.0.0': + dependencies: + '@changesets/format': 0.1.1 + '@changesets/types': 7.0.0 + human-id: 4.2.0 + + '@clack/core@1.4.3': + dependencies: + fast-wrap-ansi: 0.2.2 + sisteransi: 1.0.5 + + '@clack/prompts@1.7.0': + dependencies: + '@clack/core': 1.4.3 + fast-string-width: 3.0.2 + fast-wrap-ansi: 0.2.2 + sisteransi: 1.0.5 + + '@colors/colors@1.5.0': + optional: true + + '@csstools/cascade-layer-name-parser@2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + + '@csstools/color-helpers@5.1.0': {} + + '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + + '@csstools/css-color-parser@3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/color-helpers': 5.1.0 + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + + '@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/css-tokenizer': 3.0.4 + + '@csstools/css-tokenizer@3.0.4': {} + + '@csstools/media-query-list-parser@4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + + '@csstools/postcss-alpha-function@1.0.1(postcss@8.5.26)': + dependencies: + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.26) + '@csstools/utilities': 2.0.0(postcss@8.5.26) + postcss: 8.5.26 + + '@csstools/postcss-cascade-layers@5.0.2(postcss@8.5.26)': + dependencies: + '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.5) + postcss: 8.5.26 + postcss-selector-parser: 7.1.5 + + '@csstools/postcss-color-function-display-p3-linear@1.0.1(postcss@8.5.26)': + dependencies: + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.26) + '@csstools/utilities': 2.0.0(postcss@8.5.26) + postcss: 8.5.26 + + '@csstools/postcss-color-function@4.0.12(postcss@8.5.26)': + dependencies: + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.26) + '@csstools/utilities': 2.0.0(postcss@8.5.26) + postcss: 8.5.26 + + '@csstools/postcss-color-mix-function@3.0.12(postcss@8.5.26)': + dependencies: + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.26) + '@csstools/utilities': 2.0.0(postcss@8.5.26) + postcss: 8.5.26 + + '@csstools/postcss-color-mix-variadic-function-arguments@1.0.2(postcss@8.5.26)': + dependencies: + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.26) + '@csstools/utilities': 2.0.0(postcss@8.5.26) + postcss: 8.5.26 + + '@csstools/postcss-content-alt-text@2.0.8(postcss@8.5.26)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.26) + '@csstools/utilities': 2.0.0(postcss@8.5.26) + postcss: 8.5.26 + + '@csstools/postcss-contrast-color-function@2.0.12(postcss@8.5.26)': + dependencies: + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.26) + '@csstools/utilities': 2.0.0(postcss@8.5.26) + postcss: 8.5.26 + + '@csstools/postcss-exponential-functions@2.0.9(postcss@8.5.26)': + dependencies: + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.26 + + '@csstools/postcss-font-format-keywords@4.0.0(postcss@8.5.26)': + dependencies: + '@csstools/utilities': 2.0.0(postcss@8.5.26) + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-gamut-mapping@2.0.11(postcss@8.5.26)': + dependencies: + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.26 + + '@csstools/postcss-gradients-interpolation-method@5.0.12(postcss@8.5.26)': + dependencies: + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.26) + '@csstools/utilities': 2.0.0(postcss@8.5.26) + postcss: 8.5.26 + + '@csstools/postcss-hwb-function@4.0.12(postcss@8.5.26)': + dependencies: + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.26) + '@csstools/utilities': 2.0.0(postcss@8.5.26) + postcss: 8.5.26 + + '@csstools/postcss-ic-unit@4.0.4(postcss@8.5.26)': + dependencies: + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.26) + '@csstools/utilities': 2.0.0(postcss@8.5.26) + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-initial@2.0.1(postcss@8.5.26)': + dependencies: + postcss: 8.5.26 + + '@csstools/postcss-is-pseudo-class@5.0.3(postcss@8.5.26)': + dependencies: + '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.5) + postcss: 8.5.26 + postcss-selector-parser: 7.1.5 + + '@csstools/postcss-light-dark-function@2.0.11(postcss@8.5.26)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.26) + '@csstools/utilities': 2.0.0(postcss@8.5.26) + postcss: 8.5.26 + + '@csstools/postcss-logical-float-and-clear@3.0.0(postcss@8.5.26)': + dependencies: + postcss: 8.5.26 + + '@csstools/postcss-logical-overflow@2.0.0(postcss@8.5.26)': + dependencies: + postcss: 8.5.26 + + '@csstools/postcss-logical-overscroll-behavior@2.0.0(postcss@8.5.26)': + dependencies: + postcss: 8.5.26 + + '@csstools/postcss-logical-resize@3.0.0(postcss@8.5.26)': + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-logical-viewport-units@3.0.4(postcss@8.5.26)': + dependencies: + '@csstools/css-tokenizer': 3.0.4 + '@csstools/utilities': 2.0.0(postcss@8.5.26) + postcss: 8.5.26 + + '@csstools/postcss-media-minmax@2.0.9(postcss@8.5.26)': + dependencies: + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + postcss: 8.5.26 + + '@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.5(postcss@8.5.26)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + postcss: 8.5.26 + + '@csstools/postcss-nested-calc@4.0.0(postcss@8.5.26)': + dependencies: + '@csstools/utilities': 2.0.0(postcss@8.5.26) + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-normalize-display-values@4.0.1(postcss@8.5.26)': + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-oklab-function@4.0.12(postcss@8.5.26)': + dependencies: + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.26) + '@csstools/utilities': 2.0.0(postcss@8.5.26) + postcss: 8.5.26 + + '@csstools/postcss-position-area-property@1.0.0(postcss@8.5.26)': + dependencies: + postcss: 8.5.26 + + '@csstools/postcss-progressive-custom-properties@4.2.1(postcss@8.5.26)': + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-property-rule-prelude-list@1.0.0(postcss@8.5.26)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.26 + + '@csstools/postcss-random-function@2.0.1(postcss@8.5.26)': + dependencies: + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.26 + + '@csstools/postcss-relative-color-syntax@3.0.12(postcss@8.5.26)': + dependencies: + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.26) + '@csstools/utilities': 2.0.0(postcss@8.5.26) + postcss: 8.5.26 + + '@csstools/postcss-scope-pseudo-class@4.0.1(postcss@8.5.26)': + dependencies: + postcss: 8.5.26 + postcss-selector-parser: 7.1.5 + + '@csstools/postcss-sign-functions@1.1.4(postcss@8.5.26)': + dependencies: + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.26 + + '@csstools/postcss-stepped-value-functions@4.0.9(postcss@8.5.26)': + dependencies: + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.26 + + '@csstools/postcss-syntax-descriptor-syntax-production@1.0.1(postcss@8.5.26)': + dependencies: + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.26 + + '@csstools/postcss-system-ui-font-family@1.0.0(postcss@8.5.26)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.26 + + '@csstools/postcss-text-decoration-shorthand@4.0.3(postcss@8.5.26)': + dependencies: + '@csstools/color-helpers': 5.1.0 + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + '@csstools/postcss-trigonometric-functions@4.0.9(postcss@8.5.26)': + dependencies: + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.26 + + '@csstools/postcss-unset-value@4.0.0(postcss@8.5.26)': + dependencies: + postcss: 8.5.26 + + '@csstools/selector-resolve-nested@3.1.0(postcss-selector-parser@7.1.5)': + dependencies: + postcss-selector-parser: 7.1.5 + + '@csstools/selector-specificity@5.0.0(postcss-selector-parser@7.1.5)': + dependencies: + postcss-selector-parser: 7.1.5 + + '@csstools/utilities@2.0.0(postcss@8.5.26)': + dependencies: + postcss: 8.5.26 + + '@discoveryjs/json-ext@0.5.7': {} + + '@docsearch/core@4.7.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + optionalDependencies: + '@types/react': 18.3.28 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@docsearch/css@4.7.0': {} + + '@docsearch/react@4.7.0(@algolia/client-search@5.56.0)(@types/react@18.3.28)(algoliasearch@5.56.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)': + dependencies: + '@algolia/autocomplete-core': 1.19.2(@algolia/client-search@5.56.0)(algoliasearch@5.56.0)(search-insights@2.17.3) + '@docsearch/core': 4.7.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docsearch/css': 4.7.0 + optionalDependencies: + '@types/react': 18.3.28 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + search-insights: 2.17.3 + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + + '@docusaurus/babel@3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/generator': 7.29.8 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/plugin-transform-runtime': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/preset-env': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/preset-react': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/runtime': 7.29.7 + '@babel/traverse': 7.29.8(supports-color@8.1.1) + '@docusaurus/logger': 3.10.2 + '@docusaurus/utils': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + babel-plugin-dynamic-import-node: 2.3.3 + fs-extra: 11.4.0 + tslib: 2.8.1 + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - react + - react-dom + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/bundler@3.10.2(csso@5.0.5)(lightningcss@1.33.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@docusaurus/babel': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/cssnano-preset': 3.10.2 + '@docusaurus/logger': 3.10.2 + '@docusaurus/types': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/utils': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + babel-loader: 9.2.1(@babel/core@7.29.7(supports-color@8.1.1))(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)) + clean-css: 5.3.3 + copy-webpack-plugin: 11.0.0(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)) + css-loader: 6.11.0(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)) + css-minimizer-webpack-plugin: 5.0.1(clean-css@5.3.3)(csso@5.0.5)(lightningcss@1.33.0)(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)) + cssnano: 6.1.2(postcss@8.5.26) + file-loader: 6.2.0(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)) + html-minifier-terser: 7.2.0 + mini-css-extract-plugin: 2.10.2(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)) + null-loader: 4.0.1(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)) + postcss: 8.5.26 + postcss-loader: 7.3.4(postcss@8.5.26)(typescript@5.9.3)(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)) + postcss-preset-env: 10.6.1(postcss@8.5.26) + terser-webpack-plugin: 5.6.1(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)) + tslib: 2.8.1 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)))(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)) + webpack: 5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26) + webpackbar: 7.0.0(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)) + transitivePeerDependencies: + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - csso + - esbuild + - lightningcss + - react + - react-dom + - supports-color + - typescript + - uglify-js + - webpack-cli + + '@docusaurus/core@3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3)': + dependencies: + '@docusaurus/babel': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/bundler': 3.10.2(csso@5.0.5)(lightningcss@1.33.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/logger': 3.10.2 + '@docusaurus/mdx-loader': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/utils': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/utils-common': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/utils-validation': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@mdx-js/react': 3.1.1(@types/react@18.3.28)(react@18.3.1) + boxen: 6.2.1 + chalk: 4.1.2 + chokidar: 3.6.0 + cli-table3: 0.6.5 + combine-promises: 1.2.0 + commander: 5.1.0 + core-js: 3.50.0 + detect-port: 2.1.0 + escape-html: 1.0.3 + eta: 2.2.0 + eval: 0.1.8 + execa: 5.1.1 + fs-extra: 11.4.0 + html-tags: 3.3.1 + html-webpack-plugin: 5.6.8(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)) + leven: 3.1.0 + lodash: 4.18.1 + open: 8.4.2 + p-map: 4.0.0 + prompts: 2.4.2 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)' + react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)' + react-loadable-ssr-addon-v5-slorber: 1.0.3(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)) + react-router: 5.3.4(react@18.3.1) + react-router-config: 5.1.1(react-router@5.3.4(react@18.3.1))(react@18.3.1) + react-router-dom: 5.3.4(react@18.3.1) + semver: 7.8.5 + serve-handler: 6.1.7 + tinypool: 1.1.1 + tslib: 2.8.1 + update-notifier: 6.0.2 + webpack: 5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26) + webpack-bundle-analyzer: 4.10.2 + webpack-dev-server: 5.2.6(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1)(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)) + webpack-merge: 6.0.1 + transitivePeerDependencies: + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/cssnano-preset@3.10.2': + dependencies: + cssnano-preset-advanced: 6.1.2(postcss@8.5.26) + postcss: 8.5.26 + postcss-sort-media-queries: 5.2.0(postcss@8.5.26) + tslib: 2.8.1 + + '@docusaurus/logger@3.10.2': + dependencies: + chalk: 4.1.2 + tslib: 2.8.1 + + '@docusaurus/mdx-loader@3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)': + dependencies: + '@docusaurus/logger': 3.10.2 + '@docusaurus/utils': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/utils-validation': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@mdx-js/mdx': 3.1.1(supports-color@8.1.1) + '@slorber/remark-comment': 1.0.0 + escape-html: 1.0.3 + estree-util-value-to-estree: 3.5.0 + file-loader: 6.2.0(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)) + fs-extra: 11.4.0 + image-size: 2.0.2 + mdast-util-mdx: 3.0.0(supports-color@8.1.1) + mdast-util-to-string: 4.0.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + rehype-raw: 7.0.0 + remark-directive: 3.0.1(supports-color@8.1.1) + remark-emoji: 4.0.1 + remark-frontmatter: 5.0.0(supports-color@8.1.1) + remark-gfm: 4.0.1(supports-color@8.1.1) + stringify-object: 3.3.0 + tslib: 2.8.1 + unified: 11.0.5 + unist-util-visit: 5.1.0 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)))(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)) + vfile: 6.0.3 + webpack: 5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26) + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/module-type-aliases@3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)': + dependencies: + '@docusaurus/types': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@types/history': 4.7.11 + '@types/react': 19.2.18 + '@types/react-router-config': 5.0.11 + '@types/react-router-dom': 5.3.3 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)' + react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)' + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/plugin-client-redirects@3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3)': + dependencies: + '@docusaurus/core': 3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/logger': 3.10.2 + '@docusaurus/utils': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/utils-common': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/utils-validation': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + eta: 2.2.0 + fs-extra: 11.4.0 + lodash: 4.18.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.8.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/plugin-content-blog@3.10.2(@docusaurus/plugin-content-docs@3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3))(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3)': + dependencies: + '@docusaurus/core': 3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/logger': 3.10.2 + '@docusaurus/mdx-loader': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/plugin-content-docs': 3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/theme-common': 3.10.2(@docusaurus/plugin-content-docs@3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/types': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/utils': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/utils-common': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/utils-validation': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + cheerio: 1.0.0-rc.12 + combine-promises: 1.2.0 + feed: 4.2.2 + fs-extra: 11.4.0 + lodash: 4.18.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + schema-dts: 1.1.5 + srcset: 4.0.0 + tslib: 2.8.1 + unist-util-visit: 5.1.0 + utility-types: 3.11.0 + webpack: 5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26) + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/plugin-content-docs@3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3)': + dependencies: + '@docusaurus/core': 3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/logger': 3.10.2 + '@docusaurus/mdx-loader': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/module-type-aliases': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/theme-common': 3.10.2(@docusaurus/plugin-content-docs@3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/types': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/utils': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/utils-common': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/utils-validation': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@types/react-router-config': 5.0.11 + combine-promises: 1.2.0 + fs-extra: 11.4.0 + js-yaml: 4.3.1 + lodash: 4.18.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + schema-dts: 1.1.5 + tslib: 2.8.1 + utility-types: 3.11.0 + webpack: 5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26) + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/plugin-content-pages@3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3)': + dependencies: + '@docusaurus/core': 3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/mdx-loader': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/types': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/utils': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/utils-validation': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + fs-extra: 11.4.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.8.1 + webpack: 5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26) + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/plugin-css-cascade-layers@3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3)': + dependencies: + '@docusaurus/core': 3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/types': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/utils': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/utils-validation': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + tslib: 2.8.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - react + - react-dom + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/plugin-debug@3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3)': + dependencies: + '@docusaurus/core': 3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/types': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/utils': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + fs-extra: 11.4.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-json-view-lite: 2.5.0(react@18.3.1) + tslib: 2.8.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/plugin-google-analytics@3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3)': + dependencies: + '@docusaurus/core': 3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/types': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/utils-validation': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.8.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/plugin-google-gtag@3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3)': + dependencies: + '@docusaurus/core': 3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/types': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/utils-validation': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.8.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/plugin-google-tag-manager@3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3)': + dependencies: + '@docusaurus/core': 3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/types': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/utils-validation': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.8.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/plugin-sitemap@3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3)': + dependencies: + '@docusaurus/core': 3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/logger': 3.10.2 + '@docusaurus/types': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/utils': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/utils-common': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/utils-validation': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + fs-extra: 11.4.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + sitemap: 7.1.3 + tslib: 2.8.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/plugin-svgr@3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3)': + dependencies: + '@docusaurus/core': 3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/types': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/utils': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/utils-validation': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@svgr/core': 8.1.0(supports-color@8.1.1)(typescript@5.9.3) + '@svgr/webpack': 8.1.0(supports-color@8.1.1)(typescript@5.9.3) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.8.1 + webpack: 5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26) + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/preset-classic@3.10.2(@algolia/client-search@5.56.0)(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(@types/react@18.3.28)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(supports-color@8.1.1)(typescript@5.9.3)': + dependencies: + '@docusaurus/core': 3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/plugin-content-blog': 3.10.2(@docusaurus/plugin-content-docs@3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3))(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/plugin-content-docs': 3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/plugin-content-pages': 3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/plugin-css-cascade-layers': 3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/plugin-debug': 3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/plugin-google-analytics': 3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/plugin-google-gtag': 3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/plugin-google-tag-manager': 3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/plugin-sitemap': 3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/plugin-svgr': 3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/theme-classic': 3.10.2(@types/react@18.3.28)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/theme-common': 3.10.2(@docusaurus/plugin-content-docs@3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/theme-search-algolia': 3.10.2(@algolia/client-search@5.56.0)(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(@types/react@18.3.28)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/types': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - '@algolia/client-search' + - '@docusaurus/faster' + - '@mdx-js/react' + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - '@types/react' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - search-insights + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/react-loadable@6.0.0(react@18.3.1)': + dependencies: + '@types/react': 19.2.18 + react: 18.3.1 + + '@docusaurus/theme-classic@3.10.2(@types/react@18.3.28)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3)': + dependencies: + '@docusaurus/core': 3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/logger': 3.10.2 + '@docusaurus/mdx-loader': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/module-type-aliases': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/plugin-content-blog': 3.10.2(@docusaurus/plugin-content-docs@3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3))(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/plugin-content-docs': 3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/plugin-content-pages': 3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/theme-common': 3.10.2(@docusaurus/plugin-content-docs@3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/theme-translations': 3.10.2 + '@docusaurus/types': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/utils': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/utils-common': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/utils-validation': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@mdx-js/react': 3.1.1(@types/react@18.3.28)(react@18.3.1) + clsx: 2.1.1 + copy-text-to-clipboard: 3.2.2 + infima: 0.2.0-alpha.45 + lodash: 4.18.1 + nprogress: 0.2.0 + postcss: 8.5.26 + prism-react-renderer: 2.4.1(react@18.3.1) + prismjs: 1.30.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-router-dom: 5.3.4(react@18.3.1) + rtlcss: 4.3.0 + tslib: 2.8.1 + utility-types: 3.11.0 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - '@types/react' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - html-minifier-terser + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/theme-common@3.10.2(@docusaurus/plugin-content-docs@3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)': + dependencies: + '@docusaurus/mdx-loader': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/module-type-aliases': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/plugin-content-docs': 3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/utils': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/utils-common': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@types/history': 4.7.11 + '@types/react': 19.2.18 + '@types/react-router-config': 5.0.11 + clsx: 2.1.1 + parse-numeric-range: 1.3.0 + prism-react-renderer: 2.4.1(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.8.1 + utility-types: 3.11.0 + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/theme-search-algolia@3.10.2(@algolia/client-search@5.56.0)(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(@types/react@18.3.28)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(supports-color@8.1.1)(typescript@5.9.3)': + dependencies: + '@algolia/autocomplete-core': 1.19.9(@algolia/client-search@5.56.0)(algoliasearch@5.56.0)(search-insights@2.17.3) + '@docsearch/react': 4.7.0(@algolia/client-search@5.56.0)(@types/react@18.3.28)(algoliasearch@5.56.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3) + '@docusaurus/core': 3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/logger': 3.10.2 + '@docusaurus/plugin-content-docs': 3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/theme-common': 3.10.2(@docusaurus/plugin-content-docs@3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/theme-translations': 3.10.2 + '@docusaurus/utils': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/utils-validation': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + algoliasearch: 5.56.0 + algoliasearch-helper: 3.29.3(algoliasearch@5.56.0) + clsx: 2.1.1 + eta: 2.2.0 + fs-extra: 11.4.0 + lodash: 4.18.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.8.1 + utility-types: 3.11.0 + transitivePeerDependencies: + - '@algolia/client-search' + - '@docusaurus/faster' + - '@mdx-js/react' + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - '@types/react' + - bufferutil + - clean-css + - cssnano + - csso + - debug + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - search-insights + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@docusaurus/theme-translations@3.10.2': + dependencies: + fs-extra: 11.4.0 + tslib: 2.8.1 + + '@docusaurus/tsconfig@3.10.2': {} + + '@docusaurus/types@3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)': + dependencies: + '@mdx-js/mdx': 3.1.1(supports-color@8.1.1) + '@types/history': 4.7.11 + '@types/mdast': 4.0.4 + '@types/react': 19.2.18 + commander: 5.1.0 + joi: 17.13.4 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)' + utility-types: 3.11.0 + webpack: 5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26) + webpack-merge: 5.10.0 + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/utils-common@3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)': + dependencies: + '@docusaurus/types': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + tslib: 2.8.1 + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - react + - react-dom + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/utils-validation@3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)': + dependencies: + '@docusaurus/logger': 3.10.2 + '@docusaurus/utils': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/utils-common': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + fs-extra: 11.4.0 + joi: 17.13.4 + js-yaml: 4.3.1 + lodash: 4.18.1 + tslib: 2.8.1 + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - react + - react-dom + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/utils@3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)': + dependencies: + '@11ty/gray-matter': 1.0.0 + '@docusaurus/logger': 3.10.2 + '@docusaurus/types': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/utils-common': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + escape-string-regexp: 4.0.0 + execa: 5.1.1 + file-loader: 6.2.0(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)) + fs-extra: 11.4.0 + github-slugger: 1.5.0 + globby: 11.1.0 + jiti: 1.21.7 + js-yaml: 4.3.1 + lodash: 4.18.1 + micromatch: 4.0.8 + p-queue: 6.6.2 + prompts: 2.4.2 + resolve-pathname: 3.0.0 + tslib: 2.8.1 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)))(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)) + utility-types: 3.11.0 + webpack: 5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26) + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - react + - react-dom + - supports-color + - uglify-js + - webpack-cli + + '@easyops-cn/autocomplete.js@0.38.1': + dependencies: + cssesc: 3.0.0 + immediate: 3.3.0 + + '@easyops-cn/docusaurus-search-local@0.55.3(@docusaurus/theme-common@3.10.2(@docusaurus/plugin-content-docs@3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1))(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3)': + dependencies: + '@docusaurus/plugin-content-docs': 3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/theme-common': 3.10.2(@docusaurus/plugin-content-docs@3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/theme-translations': 3.10.2 + '@docusaurus/utils': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/utils-common': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@docusaurus/utils-validation': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) + '@easyops-cn/autocomplete.js': 0.38.1 + '@node-rs/jieba': 1.10.4 + cheerio: 1.2.0 + clsx: 2.1.1 + comlink: 4.4.2 + debug: 4.4.3(supports-color@8.1.1) + fs-extra: 10.1.0 + klaw-sync: 6.0.0 + lunr: 2.3.9 + lunr-languages: 1.21.0 + mark.js: 8.11.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.8.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - bufferutil + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + + '@emnapi/core@1.11.3': + dependencies: + '@emnapi/wasi-threads': 1.2.3 + tslib: 2.8.1 + optional: true + + '@emnapi/runtime@1.11.3': + dependencies: + tslib: 2.8.1 + optional: true + + '@emnapi/wasi-threads@1.2.3': + dependencies: + tslib: 2.8.1 + optional: true + + '@gerrit0/mini-shiki@3.23.0': + dependencies: + '@shikijs/engine-oniguruma': 3.23.0 + '@shikijs/langs': 3.23.0 + '@shikijs/themes': 3.23.0 + '@shikijs/types': 3.23.0 + '@shikijs/vscode-textmate': 10.0.2 + + '@hapi/hoek@9.3.0': {} + + '@hapi/topo@5.1.0': + dependencies: + '@hapi/hoek': 9.3.0 + + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.12 + + '@jest/types@29.6.3': + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 26.2.0 + '@types/yargs': 17.0.35 + chalk: 4.1.2 + + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/source-map@0.3.11': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/sourcemap-codec@1.5.5': {} + + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + + '@jsonjoy.com/base64@1.1.2(tslib@2.8.1)': + dependencies: + tslib: 2.8.1 + + '@jsonjoy.com/base64@17.67.0(tslib@2.8.1)': + dependencies: + tslib: 2.8.1 + + '@jsonjoy.com/buffers@1.2.1(tslib@2.8.1)': + dependencies: + tslib: 2.8.1 + + '@jsonjoy.com/buffers@17.67.0(tslib@2.8.1)': + dependencies: + tslib: 2.8.1 + + '@jsonjoy.com/codegen@1.0.0(tslib@2.8.1)': + dependencies: + tslib: 2.8.1 + + '@jsonjoy.com/codegen@17.67.0(tslib@2.8.1)': + dependencies: + tslib: 2.8.1 + + '@jsonjoy.com/fs-core@4.68.1(tslib@2.8.1)': + dependencies: + '@jsonjoy.com/fs-node-builtins': 4.68.1(tslib@2.8.1) + '@jsonjoy.com/fs-node-utils': 4.68.1(tslib@2.8.1) + thingies: 2.6.1(tslib@2.8.1) + tslib: 2.8.1 + + '@jsonjoy.com/fs-fsa@4.68.1(tslib@2.8.1)': + dependencies: + '@jsonjoy.com/fs-core': 4.68.1(tslib@2.8.1) + '@jsonjoy.com/fs-node-builtins': 4.68.1(tslib@2.8.1) + '@jsonjoy.com/fs-node-utils': 4.68.1(tslib@2.8.1) + thingies: 2.6.1(tslib@2.8.1) + tslib: 2.8.1 + + '@jsonjoy.com/fs-node-builtins@4.68.1(tslib@2.8.1)': + dependencies: + tslib: 2.8.1 + + '@jsonjoy.com/fs-node-to-fsa@4.68.1(tslib@2.8.1)': + dependencies: + '@jsonjoy.com/fs-fsa': 4.68.1(tslib@2.8.1) + '@jsonjoy.com/fs-node-builtins': 4.68.1(tslib@2.8.1) + '@jsonjoy.com/fs-node-utils': 4.68.1(tslib@2.8.1) + tslib: 2.8.1 + + '@jsonjoy.com/fs-node-utils@4.68.1(tslib@2.8.1)': + dependencies: + '@jsonjoy.com/fs-node-builtins': 4.68.1(tslib@2.8.1) + glob-to-regex.js: 1.2.0(tslib@2.8.1) + tslib: 2.8.1 + + '@jsonjoy.com/fs-node@4.68.1(tslib@2.8.1)': + dependencies: + '@jsonjoy.com/fs-core': 4.68.1(tslib@2.8.1) + '@jsonjoy.com/fs-node-builtins': 4.68.1(tslib@2.8.1) + '@jsonjoy.com/fs-node-utils': 4.68.1(tslib@2.8.1) + '@jsonjoy.com/fs-print': 4.68.1(tslib@2.8.1) + '@jsonjoy.com/fs-snapshot': 4.68.1(tslib@2.8.1) + glob-to-regex.js: 1.2.0(tslib@2.8.1) + thingies: 2.6.1(tslib@2.8.1) + tslib: 2.8.1 + + '@jsonjoy.com/fs-print@4.68.1(tslib@2.8.1)': + dependencies: + '@jsonjoy.com/fs-node-utils': 4.68.1(tslib@2.8.1) + tree-dump: 1.1.0(tslib@2.8.1) + tslib: 2.8.1 + + '@jsonjoy.com/fs-snapshot@4.68.1(tslib@2.8.1)': + dependencies: + '@jsonjoy.com/buffers': 17.67.0(tslib@2.8.1) + '@jsonjoy.com/fs-node-utils': 4.68.1(tslib@2.8.1) + '@jsonjoy.com/json-pack': 17.67.0(tslib@2.8.1) + '@jsonjoy.com/util': 17.67.0(tslib@2.8.1) + tslib: 2.8.1 + + '@jsonjoy.com/json-pack@1.21.0(tslib@2.8.1)': + dependencies: + '@jsonjoy.com/base64': 1.1.2(tslib@2.8.1) + '@jsonjoy.com/buffers': 1.2.1(tslib@2.8.1) + '@jsonjoy.com/codegen': 1.0.0(tslib@2.8.1) + '@jsonjoy.com/json-pointer': 1.0.2(tslib@2.8.1) + '@jsonjoy.com/util': 1.9.0(tslib@2.8.1) + hyperdyperid: 1.2.0 + thingies: 2.6.1(tslib@2.8.1) + tree-dump: 1.1.0(tslib@2.8.1) + tslib: 2.8.1 + + '@jsonjoy.com/json-pack@17.67.0(tslib@2.8.1)': + dependencies: + '@jsonjoy.com/base64': 17.67.0(tslib@2.8.1) + '@jsonjoy.com/buffers': 17.67.0(tslib@2.8.1) + '@jsonjoy.com/codegen': 17.67.0(tslib@2.8.1) + '@jsonjoy.com/json-pointer': 17.67.0(tslib@2.8.1) + '@jsonjoy.com/util': 17.67.0(tslib@2.8.1) + hyperdyperid: 1.2.0 + thingies: 2.6.1(tslib@2.8.1) + tree-dump: 1.1.0(tslib@2.8.1) + tslib: 2.8.1 + + '@jsonjoy.com/json-pointer@1.0.2(tslib@2.8.1)': + dependencies: + '@jsonjoy.com/codegen': 1.0.0(tslib@2.8.1) + '@jsonjoy.com/util': 1.9.0(tslib@2.8.1) + tslib: 2.8.1 + + '@jsonjoy.com/json-pointer@17.67.0(tslib@2.8.1)': + dependencies: + '@jsonjoy.com/util': 17.67.0(tslib@2.8.1) + tslib: 2.8.1 + + '@jsonjoy.com/util@1.9.0(tslib@2.8.1)': + dependencies: + '@jsonjoy.com/buffers': 1.2.1(tslib@2.8.1) + '@jsonjoy.com/codegen': 1.0.0(tslib@2.8.1) + tslib: 2.8.1 + + '@jsonjoy.com/util@17.67.0(tslib@2.8.1)': + dependencies: + '@jsonjoy.com/buffers': 17.67.0(tslib@2.8.1) + '@jsonjoy.com/codegen': 17.67.0(tslib@2.8.1) + tslib: 2.8.1 + + '@leichtgewicht/ip-codec@2.0.5': {} + + '@loaderkit/resolve@1.0.6': + dependencies: + '@braidai/lang': 1.1.2 + + '@manypkg/find-root@3.1.0': + dependencies: + '@manypkg/tools': 2.1.2 + + '@manypkg/get-packages@3.1.0': + dependencies: + '@manypkg/find-root': 3.1.0 + '@manypkg/tools': 2.1.2 + + '@manypkg/tools@2.1.2': + dependencies: + jju: 1.4.0 + tinyglobby: 0.2.17 + yaml: 2.9.0 + + '@mdx-js/mdx@3.1.1(supports-color@8.1.1)': + dependencies: + '@types/estree': 1.0.9 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.5 + '@types/mdx': 2.0.14 + acorn: 8.18.0 + collapse-white-space: 2.1.0 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + estree-util-scope: 1.0.0 + estree-walker: 3.0.3 + hast-util-to-jsx-runtime: 2.3.6(supports-color@8.1.1) + markdown-extensions: 2.0.0 + recma-build-jsx: 1.0.0 + recma-jsx: 1.0.1(acorn@8.18.0) + recma-stringify: 1.0.0 + rehype-recma: 1.0.0(supports-color@8.1.1) + remark-mdx: 3.1.1(supports-color@8.1.1) + remark-parse: 11.0.0(supports-color@8.1.1) + remark-rehype: 11.1.2 + source-map: 0.7.6 + unified: 11.0.5 + unist-util-position-from-estree: 2.0.0 + unist-util-stringify-position: 4.0.0 + unist-util-visit: 5.1.0 + vfile: 6.0.3 + transitivePeerDependencies: + - supports-color + + '@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1)': + dependencies: + '@types/mdx': 2.0.14 + '@types/react': 18.3.28 + react: 18.3.1 + + '@napi-rs/wasm-runtime@0.2.12': + dependencies: + '@emnapi/core': 1.11.3 + '@emnapi/runtime': 1.11.3 + '@tybys/wasm-util': 0.10.3 + optional: true + + '@noble/hashes@1.4.0': {} + + '@node-rs/jieba-android-arm-eabi@1.10.4': + optional: true + + '@node-rs/jieba-android-arm64@1.10.4': + optional: true + + '@node-rs/jieba-darwin-arm64@1.10.4': + optional: true + + '@node-rs/jieba-darwin-x64@1.10.4': + optional: true + + '@node-rs/jieba-freebsd-x64@1.10.4': + optional: true + + '@node-rs/jieba-linux-arm-gnueabihf@1.10.4': + optional: true + + '@node-rs/jieba-linux-arm64-gnu@1.10.4': + optional: true + + '@node-rs/jieba-linux-arm64-musl@1.10.4': + optional: true + + '@node-rs/jieba-linux-x64-gnu@1.10.4': + optional: true + + '@node-rs/jieba-linux-x64-musl@1.10.4': + optional: true + + '@node-rs/jieba-wasm32-wasi@1.10.4': + dependencies: + '@napi-rs/wasm-runtime': 0.2.12 + optional: true + + '@node-rs/jieba-win32-arm64-msvc@1.10.4': + optional: true + + '@node-rs/jieba-win32-ia32-msvc@1.10.4': + optional: true + + '@node-rs/jieba-win32-x64-msvc@1.10.4': + optional: true + + '@node-rs/jieba@1.10.4': + optionalDependencies: + '@node-rs/jieba-android-arm-eabi': 1.10.4 + '@node-rs/jieba-android-arm64': 1.10.4 + '@node-rs/jieba-darwin-arm64': 1.10.4 + '@node-rs/jieba-darwin-x64': 1.10.4 + '@node-rs/jieba-freebsd-x64': 1.10.4 + '@node-rs/jieba-linux-arm-gnueabihf': 1.10.4 + '@node-rs/jieba-linux-arm64-gnu': 1.10.4 + '@node-rs/jieba-linux-arm64-musl': 1.10.4 + '@node-rs/jieba-linux-x64-gnu': 1.10.4 + '@node-rs/jieba-linux-x64-musl': 1.10.4 + '@node-rs/jieba-wasm32-wasi': 1.10.4 + '@node-rs/jieba-win32-arm64-msvc': 1.10.4 + '@node-rs/jieba-win32-ia32-msvc': 1.10.4 + '@node-rs/jieba-win32-x64-msvc': 1.10.4 + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.20.1 + + '@oxc-project/types@0.143.0': {} + + '@peculiar/asn1-cms@2.8.0': + dependencies: + '@peculiar/asn1-schema': 2.8.0 + '@peculiar/asn1-x509': 2.8.0 + '@peculiar/asn1-x509-attr': 2.8.0 + asn1js: 3.0.10 + tslib: 2.8.1 + + '@peculiar/asn1-csr@2.8.0': + dependencies: + '@peculiar/asn1-schema': 2.8.0 + '@peculiar/asn1-x509': 2.8.0 + asn1js: 3.0.10 + tslib: 2.8.1 + + '@peculiar/asn1-ecc@2.8.0': + dependencies: + '@peculiar/asn1-schema': 2.8.0 + '@peculiar/asn1-x509': 2.8.0 + asn1js: 3.0.10 + tslib: 2.8.1 + + '@peculiar/asn1-pfx@2.8.0': + dependencies: + '@peculiar/asn1-cms': 2.8.0 + '@peculiar/asn1-pkcs8': 2.8.0 + '@peculiar/asn1-rsa': 2.8.0 + '@peculiar/asn1-schema': 2.8.0 + asn1js: 3.0.10 + tslib: 2.8.1 + + '@peculiar/asn1-pkcs8@2.8.0': + dependencies: + '@peculiar/asn1-schema': 2.8.0 + '@peculiar/asn1-x509': 2.8.0 + asn1js: 3.0.10 + tslib: 2.8.1 + + '@peculiar/asn1-pkcs9@2.8.0': + dependencies: + '@peculiar/asn1-cms': 2.8.0 + '@peculiar/asn1-pfx': 2.8.0 + '@peculiar/asn1-pkcs8': 2.8.0 + '@peculiar/asn1-schema': 2.8.0 + '@peculiar/asn1-x509': 2.8.0 + '@peculiar/asn1-x509-attr': 2.8.0 + asn1js: 3.0.10 + tslib: 2.8.1 + + '@peculiar/asn1-rsa@2.8.0': + dependencies: + '@peculiar/asn1-schema': 2.8.0 + '@peculiar/asn1-x509': 2.8.0 + asn1js: 3.0.10 + tslib: 2.8.1 + + '@peculiar/asn1-schema@2.8.0': + dependencies: + '@peculiar/utils': 2.0.3 + asn1js: 3.0.10 + tslib: 2.8.1 + + '@peculiar/asn1-x509-attr@2.8.0': + dependencies: + '@peculiar/asn1-schema': 2.8.0 + '@peculiar/asn1-x509': 2.8.0 + asn1js: 3.0.10 + tslib: 2.8.1 + + '@peculiar/asn1-x509@2.8.0': + dependencies: + '@peculiar/asn1-schema': 2.8.0 + '@peculiar/utils': 2.0.3 + asn1js: 3.0.10 + tslib: 2.8.1 + + '@peculiar/utils@2.0.3': + dependencies: + tslib: 2.8.1 + + '@peculiar/x509@1.14.3': + dependencies: + '@peculiar/asn1-cms': 2.8.0 + '@peculiar/asn1-csr': 2.8.0 + '@peculiar/asn1-ecc': 2.8.0 + '@peculiar/asn1-pkcs9': 2.8.0 + '@peculiar/asn1-rsa': 2.8.0 + '@peculiar/asn1-schema': 2.8.0 + '@peculiar/asn1-x509': 2.8.0 + pvtsutils: 1.3.6 + reflect-metadata: 0.2.2 + tslib: 2.8.1 + tsyringe: 4.10.0 + + '@pnpm/config.env-replace@1.1.0': {} + + '@pnpm/deps.graph-sequencer@1100.0.1': {} + + '@pnpm/network.ca-file@1.0.2': + dependencies: + graceful-fs: 4.2.10 + + '@pnpm/npm-conf@3.0.3': + dependencies: + '@pnpm/config.env-replace': 1.1.0 + '@pnpm/network.ca-file': 1.0.2 + config-chain: 1.1.13 + + '@polka/url@1.0.0-next.29': {} + + '@publint/pack@0.1.6': + dependencies: + tinyexec: 1.3.0 + + '@quansync/fs@1.0.0': + dependencies: + quansync: 1.0.0 + + '@rolldown/binding-android-arm64@1.2.3': + optional: true + + '@rolldown/binding-darwin-arm64@1.2.3': + optional: true + + '@rolldown/binding-darwin-x64@1.2.3': + optional: true + + '@rolldown/binding-freebsd-x64@1.2.3': + optional: true + + '@rolldown/binding-linux-arm-gnueabihf@1.2.3': + optional: true + + '@rolldown/binding-linux-arm64-gnu@1.2.3': + optional: true + + '@rolldown/binding-linux-arm64-musl@1.2.3': + optional: true + + '@rolldown/binding-linux-ppc64-gnu@1.2.3': + optional: true + + '@rolldown/binding-linux-s390x-gnu@1.2.3': + optional: true + + '@rolldown/binding-linux-x64-gnu@1.2.3': + optional: true + + '@rolldown/binding-linux-x64-musl@1.2.3': + optional: true + + '@rolldown/binding-openharmony-arm64@1.2.3': + optional: true + + '@rolldown/binding-win32-arm64-msvc@1.2.3': + optional: true + + '@rolldown/binding-win32-x64-msvc@1.2.3': + optional: true + + '@rolldown/pluginutils@1.0.1': {} + + '@shikijs/engine-oniguruma@3.23.0': + dependencies: + '@shikijs/types': 3.23.0 + '@shikijs/vscode-textmate': 10.0.2 + + '@shikijs/langs@3.23.0': + dependencies: + '@shikijs/types': 3.23.0 + + '@shikijs/themes@3.23.0': + dependencies: + '@shikijs/types': 3.23.0 + + '@shikijs/types@3.23.0': + dependencies: + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.5 + + '@shikijs/vscode-textmate@10.0.2': {} + + '@sideway/address@4.1.5': + dependencies: + '@hapi/hoek': 9.3.0 + + '@sideway/formula@3.0.1': {} + + '@sideway/pinpoint@2.0.0': {} + + '@sinclair/typebox@0.27.12': {} + + '@sindresorhus/is@4.6.0': {} + + '@sindresorhus/is@5.6.0': {} + + '@slack/types@3.0.0': {} + + '@slorber/react-helmet-async@1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@babel/runtime': 7.29.7 + invariant: 2.2.4 + prop-types: 15.8.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-fast-compare: 3.2.2 + shallowequal: 1.1.0 + + '@slorber/remark-comment@1.0.0': + dependencies: + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + + '@standard-schema/spec@1.1.0': {} + + '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + + '@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + + '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + + '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + + '@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + + '@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + + '@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + + '@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + + '@svgr/babel-preset@8.1.0(@babel/core@7.29.7(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.29.7(supports-color@8.1.1)) + '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.29.7(supports-color@8.1.1)) + '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.29.7(supports-color@8.1.1)) + '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.29.7(supports-color@8.1.1)) + '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.29.7(supports-color@8.1.1)) + '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.29.7(supports-color@8.1.1)) + '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.29.7(supports-color@8.1.1)) + '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.29.7(supports-color@8.1.1)) + + '@svgr/core@8.1.0(supports-color@8.1.1)(typescript@5.9.3)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@svgr/babel-preset': 8.1.0(@babel/core@7.29.7(supports-color@8.1.1)) + camelcase: 6.3.0 + cosmiconfig: 8.3.6(typescript@5.9.3) + snake-case: 3.0.4 + transitivePeerDependencies: + - supports-color + - typescript + + '@svgr/hast-util-to-babel-ast@8.0.0': + dependencies: + '@babel/types': 7.29.8 + entities: 4.5.0 + + '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(supports-color@8.1.1)(typescript@5.9.3))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@svgr/babel-preset': 8.1.0(@babel/core@7.29.7(supports-color@8.1.1)) + '@svgr/core': 8.1.0(supports-color@8.1.1)(typescript@5.9.3) + '@svgr/hast-util-to-babel-ast': 8.0.0 + svg-parser: 2.0.4 + transitivePeerDependencies: + - supports-color + + '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(supports-color@8.1.1)(typescript@5.9.3))(typescript@5.9.3)': + dependencies: + '@svgr/core': 8.1.0(supports-color@8.1.1)(typescript@5.9.3) + cosmiconfig: 8.3.6(typescript@5.9.3) + deepmerge: 4.3.1 + svgo: 3.3.4 + transitivePeerDependencies: + - typescript + + '@svgr/webpack@8.1.0(supports-color@8.1.1)(typescript@5.9.3)': + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/plugin-transform-react-constant-elements': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1)) + '@babel/preset-env': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/preset-react': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + '@svgr/core': 8.1.0(supports-color@8.1.1)(typescript@5.9.3) + '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(supports-color@8.1.1)(typescript@5.9.3))(supports-color@8.1.1) + '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(supports-color@8.1.1)(typescript@5.9.3))(typescript@5.9.3) + transitivePeerDependencies: + - supports-color + - typescript + + '@szmarczak/http-timer@5.0.1': + dependencies: + defer-to-connect: 2.0.1 + + '@tybys/wasm-util@0.10.3': + dependencies: + tslib: 2.8.1 + optional: true + + '@types/body-parser@1.19.6': + dependencies: + '@types/connect': 3.4.38 + '@types/node': 26.2.0 + + '@types/bonjour@3.5.13': + dependencies: + '@types/node': 26.2.0 + + '@types/chai@5.2.3': + dependencies: + '@types/deep-eql': 4.0.2 + assertion-error: 2.0.1 + + '@types/connect-history-api-fallback@1.5.4': + dependencies: + '@types/express-serve-static-core': 4.19.9 + '@types/node': 26.2.0 + + '@types/connect@3.4.38': + dependencies: + '@types/node': 26.2.0 + + '@types/debug@4.1.13': + dependencies: + '@types/ms': 2.1.0 + + '@types/deep-eql@4.0.2': {} + + '@types/estree-jsx@1.0.5': + dependencies: + '@types/estree': 1.0.9 + + '@types/estree@1.0.9': {} + + '@types/express-serve-static-core@4.19.9': + dependencies: + '@types/node': 26.2.0 + '@types/qs': 6.15.1 + '@types/range-parser': 1.2.7 + '@types/send': 1.2.1 + + '@types/express@4.17.25': + dependencies: + '@types/body-parser': 1.19.6 + '@types/express-serve-static-core': 4.19.9 + '@types/qs': 6.15.1 + '@types/serve-static': 1.15.10 + + '@types/hast@3.0.5': + dependencies: + '@types/unist': 3.0.3 + + '@types/history@4.7.11': {} + + '@types/html-minifier-terser@6.1.0': {} + + '@types/http-cache-semantics@4.2.0': {} + + '@types/http-errors@2.0.5': {} + + '@types/http-proxy@1.17.17': + dependencies: + '@types/node': 26.2.0 + + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + + '@types/json-schema@7.0.15': {} + + '@types/mdast@4.0.4': + dependencies: + '@types/unist': 3.0.3 + + '@types/mdx@2.0.14': {} + + '@types/mime@1.3.5': {} + + '@types/ms@2.1.0': {} + + '@types/node@17.0.45': {} + + '@types/node@26.2.0': + dependencies: + undici-types: 8.3.0 + + '@types/prismjs@1.26.6': {} + + '@types/prop-types@15.7.15': {} + + '@types/qs@6.15.1': {} + + '@types/range-parser@1.2.7': {} + + '@types/react-router-config@5.0.11': + dependencies: + '@types/history': 4.7.11 + '@types/react': 19.2.18 + '@types/react-router': 5.1.20 + + '@types/react-router-dom@5.3.3': + dependencies: + '@types/history': 4.7.11 + '@types/react': 19.2.18 + '@types/react-router': 5.1.20 + + '@types/react-router@5.1.20': + dependencies: + '@types/history': 4.7.11 + '@types/react': 19.2.18 + + '@types/react@18.3.28': + dependencies: + '@types/prop-types': 15.7.15 + csstype: 3.2.3 + + '@types/react@19.2.18': + dependencies: + csstype: 3.2.3 + + '@types/retry@0.12.2': {} + + '@types/sax@1.2.7': + dependencies: + '@types/node': 26.2.0 + + '@types/send@0.17.6': + dependencies: + '@types/mime': 1.3.5 + '@types/node': 26.2.0 + + '@types/send@1.2.1': + dependencies: + '@types/node': 26.2.0 + + '@types/serve-index@1.9.4': + dependencies: + '@types/express': 4.17.25 + + '@types/serve-static@1.15.10': + dependencies: + '@types/http-errors': 2.0.5 + '@types/node': 26.2.0 + '@types/send': 0.17.6 + + '@types/sockjs@0.3.36': + dependencies: + '@types/node': 26.2.0 + + '@types/unist@2.0.11': {} + + '@types/unist@3.0.3': {} + + '@types/ws@8.18.1': + dependencies: + '@types/node': 26.2.0 + + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@17.0.35': + dependencies: + '@types/yargs-parser': 21.0.3 + + '@ungap/structured-clone@1.3.3': {} + + '@vitest/coverage-v8@4.1.10(vitest@4.1.10)': + dependencies: + '@bcoe/v8-coverage': 1.0.2 + '@vitest/utils': 4.1.10 + ast-v8-to-istanbul: 1.0.5 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-report: 3.0.1 + istanbul-reports: 3.2.0 + magicast: 0.5.4 + obug: 2.1.4 + std-env: 4.2.0 + tinyrainbow: 3.1.1 + vitest: 4.1.10(@types/node@26.2.0)(@vitest/coverage-v8@4.1.10)(vite@8.2.1(@types/node@26.2.0)(jiti@1.21.7)(terser@5.49.2)(yaml@2.9.0)) + + '@vitest/expect@4.1.10': + dependencies: + '@standard-schema/spec': 1.1.0 + '@types/chai': 5.2.3 + '@vitest/spy': 4.1.10 + '@vitest/utils': 4.1.10 + chai: 6.2.2 + tinyrainbow: 3.1.1 + + '@vitest/mocker@4.1.10(vite@8.2.1(@types/node@26.2.0)(jiti@1.21.7)(terser@5.49.2)(yaml@2.9.0))': + dependencies: + '@vitest/spy': 4.1.10 + estree-walker: 3.0.3 + magic-string: 0.30.21 + optionalDependencies: + vite: 8.2.1(@types/node@26.2.0)(jiti@1.21.7)(terser@5.49.2)(yaml@2.9.0) + + '@vitest/pretty-format@4.1.10': + dependencies: + tinyrainbow: 3.1.1 + + '@vitest/runner@4.1.10': + dependencies: + '@vitest/utils': 4.1.10 + pathe: 2.0.3 + + '@vitest/snapshot@4.1.10': + dependencies: + '@vitest/pretty-format': 4.1.10 + '@vitest/utils': 4.1.10 + magic-string: 0.30.21 + pathe: 2.0.3 + + '@vitest/spy@4.1.10': {} + + '@vitest/utils@4.1.10': + dependencies: + '@vitest/pretty-format': 4.1.10 + convert-source-map: 2.0.0 + tinyrainbow: 3.1.1 + + '@webassemblyjs/ast@1.14.1': + dependencies: + '@webassemblyjs/helper-numbers': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + + '@webassemblyjs/floating-point-hex-parser@1.13.2': {} + + '@webassemblyjs/helper-api-error@1.13.2': {} + + '@webassemblyjs/helper-buffer@1.14.1': {} + + '@webassemblyjs/helper-numbers@1.13.2': + dependencies: + '@webassemblyjs/floating-point-hex-parser': 1.13.2 + '@webassemblyjs/helper-api-error': 1.13.2 + '@xtuc/long': 4.2.2 + + '@webassemblyjs/helper-wasm-bytecode@1.13.2': {} + + '@webassemblyjs/helper-wasm-section@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/wasm-gen': 1.14.1 + + '@webassemblyjs/ieee754@1.13.2': + dependencies: + '@xtuc/ieee754': 1.2.0 + + '@webassemblyjs/leb128@1.13.2': + dependencies: + '@xtuc/long': 4.2.2 + + '@webassemblyjs/utf8@1.13.2': {} + + '@webassemblyjs/wasm-edit@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/helper-wasm-section': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-opt': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + '@webassemblyjs/wast-printer': 1.14.1 + + '@webassemblyjs/wasm-gen@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 + + '@webassemblyjs/wasm-opt@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + + '@webassemblyjs/wasm-parser@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-api-error': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 + + '@webassemblyjs/wast-printer@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@xtuc/long': 4.2.2 + + '@xtuc/ieee754@1.2.0': {} + + '@xtuc/long@4.2.2': {} + + '@yuku-codegen/binding-android-arm64@0.8.4': + optional: true + + '@yuku-codegen/binding-darwin-arm64@0.8.4': + optional: true + + '@yuku-codegen/binding-darwin-x64@0.8.4': + optional: true + + '@yuku-codegen/binding-freebsd-x64@0.8.4': + optional: true + + '@yuku-codegen/binding-linux-arm-gnu@0.8.4': + optional: true + + '@yuku-codegen/binding-linux-arm-musl@0.8.4': + optional: true + + '@yuku-codegen/binding-linux-arm64-gnu@0.8.4': + optional: true + + '@yuku-codegen/binding-linux-arm64-musl@0.8.4': + optional: true + + '@yuku-codegen/binding-linux-x64-gnu@0.8.4': + optional: true + + '@yuku-codegen/binding-linux-x64-musl@0.8.4': + optional: true + + '@yuku-codegen/binding-win32-arm64@0.8.4': + optional: true + + '@yuku-codegen/binding-win32-x64@0.8.4': + optional: true + + '@yuku-parser/binding-android-arm64@0.8.4': + optional: true + + '@yuku-parser/binding-darwin-arm64@0.8.4': + optional: true + + '@yuku-parser/binding-darwin-x64@0.8.4': + optional: true + + '@yuku-parser/binding-freebsd-x64@0.8.4': + optional: true + + '@yuku-parser/binding-linux-arm-gnu@0.8.4': + optional: true + + '@yuku-parser/binding-linux-arm-musl@0.8.4': + optional: true + + '@yuku-parser/binding-linux-arm64-gnu@0.8.4': + optional: true + + '@yuku-parser/binding-linux-arm64-musl@0.8.4': + optional: true + + '@yuku-parser/binding-linux-x64-gnu@0.8.4': + optional: true + + '@yuku-parser/binding-linux-x64-musl@0.8.4': + optional: true + + '@yuku-parser/binding-win32-arm64@0.8.4': + optional: true + + '@yuku-parser/binding-win32-x64@0.8.4': + optional: true + + '@yuku-toolchain/types@0.8.4': {} + + accepts@1.3.8: + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + + acorn-jsx@5.3.2(acorn@8.18.0): + dependencies: + acorn: 8.18.0 + + acorn-walk@8.3.5: + dependencies: + acorn: 8.18.0 + + acorn@8.18.0: {} + + address@2.0.3: {} + + aggregate-error@3.1.0: + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + + ajv-formats@2.1.1(ajv@8.20.0): + optionalDependencies: + ajv: 8.20.0 + + ajv-keywords@3.5.2(ajv@6.15.0): + dependencies: + ajv: 6.15.0 + + ajv-keywords@5.1.0(ajv@8.20.0): + dependencies: + ajv: 8.20.0 + fast-deep-equal: 3.1.3 + + ajv@6.15.0: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ajv@8.20.0: + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.1.5 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + + algoliasearch-helper@3.29.3(algoliasearch@5.56.0): + dependencies: + '@algolia/events': 4.0.1 + algoliasearch: 5.56.0 + + algoliasearch@5.56.0: + dependencies: + '@algolia/abtesting': 1.22.0 + '@algolia/client-abtesting': 5.56.0 + '@algolia/client-analytics': 5.56.0 + '@algolia/client-common': 5.56.0 + '@algolia/client-insights': 5.56.0 + '@algolia/client-personalization': 5.56.0 + '@algolia/client-query-suggestions': 5.56.0 + '@algolia/client-search': 5.56.0 + '@algolia/ingestion': 1.56.0 + '@algolia/monitoring': 1.56.0 + '@algolia/recommend': 5.56.0 + '@algolia/requester-browser-xhr': 5.56.0 + '@algolia/requester-fetch': 5.56.0 + '@algolia/requester-node-http': 5.56.0 + + ansi-align@3.0.1: + dependencies: + string-width: 4.2.3 + + ansi-escapes@7.3.0: + dependencies: + environment: 1.1.0 + + ansi-html-community@0.0.8: {} + + ansi-regex@5.0.1: {} + + ansi-regex@6.2.2: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@6.2.3: {} + + ansis@3.17.0: {} + + ansis@4.3.1: {} + + any-promise@1.3.0: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.2 + + arg@5.0.2: {} + + argparse@2.0.1: {} + + array-flatten@1.1.1: {} + + array-union@2.1.0: {} + + asn1js@3.0.10: + dependencies: + pvtsutils: 1.3.6 + pvutils: 1.2.0 + tslib: 2.8.1 + + assertion-error@2.0.1: {} + + ast-v8-to-istanbul@1.0.5: + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + estree-walker: 3.0.3 + js-tokens: 10.0.0 + + astring@1.9.0: {} + + autoprefixer@10.5.4(postcss@8.5.26): + dependencies: + browserslist: 4.28.8 + caniuse-lite: 1.0.30001809 + fraction.js: 5.3.4 + picocolors: 1.1.1 + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + babel-loader@9.2.1(@babel/core@7.29.7(supports-color@8.1.1))(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)): + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + find-cache-dir: 4.0.0 + schema-utils: 4.3.3 + webpack: 5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26) + + babel-plugin-dynamic-import-node@2.3.3: + dependencies: + object.assign: 4.1.7 + + babel-plugin-polyfill-corejs2@0.4.17(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1): + dependencies: + '@babel/compat-data': 7.29.7 + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1): + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + core-js-compat: 3.50.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-corejs3@0.14.2(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1): + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + core-js-compat: 3.50.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-regenerator@0.6.8(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1): + dependencies: + '@babel/core': 7.29.7(supports-color@8.1.1) + '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + bail@2.0.2: {} + + balanced-match@1.0.2: {} + + balanced-match@4.0.4: {} + + baseline-browser-mapping@2.11.13: {} + + batch@0.6.1: {} + + big.js@5.2.2: {} + + binary-extensions@2.3.0: {} + + body-parser@1.20.6(supports-color@8.1.1): + dependencies: + bytes: 3.1.2 + content-type: 1.0.5 + debug: 2.6.9(supports-color@8.1.1) + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.1 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.15.3 + raw-body: 2.5.3 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + bonjour-service@1.4.4: + dependencies: + fast-deep-equal: 3.1.3 + multicast-dns: 7.2.5 + + boolbase@1.0.0: {} + + boxen@6.2.1: + dependencies: + ansi-align: 3.0.1 + camelcase: 6.3.0 + chalk: 4.1.2 + cli-boxes: 3.0.0 + string-width: 5.1.2 + type-fest: 2.19.0 + widest-line: 4.0.1 + wrap-ansi: 8.1.0 + + boxen@7.1.1: + dependencies: + ansi-align: 3.0.1 + camelcase: 7.0.1 + chalk: 5.6.2 + cli-boxes: 3.0.0 + string-width: 5.1.2 + type-fest: 2.19.0 + widest-line: 4.0.1 + wrap-ansi: 8.1.0 + + brace-expansion@1.1.18: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@5.0.9: + dependencies: + balanced-match: 4.0.4 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist@4.28.8: + dependencies: + baseline-browser-mapping: 2.11.13 + caniuse-lite: 1.0.30001809 + electron-to-chromium: 1.5.404 + node-releases: 2.0.53 + update-browserslist-db: 1.3.1(browserslist@4.28.8) + + buffer-from@1.1.2: {} + + bundle-name@4.1.0: + dependencies: + run-applescript: 7.1.0 + + bytes@3.0.0: {} + + bytes@3.1.2: {} + + bytestreamjs@2.0.1: {} + + cac@7.0.0: {} + + cacheable-lookup@7.0.0: {} + + cacheable-request@10.2.14: + dependencies: + '@types/http-cache-semantics': 4.2.0 + get-stream: 6.0.1 + http-cache-semantics: 4.2.0 + keyv: 4.5.4 + mimic-response: 4.0.0 + normalize-url: 8.1.1 + responselike: 3.0.0 + + call-bind-apply-helpers@1.0.2: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + call-bind@1.0.9: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + get-intrinsic: 1.3.0 + set-function-length: 1.2.2 + + call-bound@1.0.4: + dependencies: + call-bind-apply-helpers: 1.0.2 + get-intrinsic: 1.3.0 + + callsites@3.1.0: {} + + camel-case@4.1.2: + dependencies: + pascal-case: 3.1.2 + tslib: 2.8.1 + + camelcase@6.3.0: {} + + camelcase@7.0.1: {} + + caniuse-api@3.0.0: + dependencies: + browserslist: 4.28.8 + caniuse-lite: 1.0.30001809 + lodash.memoize: 4.1.2 + lodash.uniq: 4.5.0 + + caniuse-lite@1.0.30001809: {} + + ccount@2.0.1: {} + + chai@6.2.2: {} + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + chalk@5.6.2: {} + + char-regex@1.0.2: {} + + character-entities-html4@2.1.0: {} + + character-entities-legacy@3.0.0: {} + + character-entities@2.0.2: {} + + character-reference-invalid@2.0.1: {} + + cheerio-select@2.1.0: + dependencies: + boolbase: 1.0.0 + css-select: 5.2.2 + css-what: 6.2.2 + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.2.2 + + cheerio@1.0.0-rc.12: + dependencies: + cheerio-select: 2.1.0 + dom-serializer: 2.0.0 + domhandler: 5.0.3 + domutils: 3.2.2 + htmlparser2: 8.0.2 + parse5: 7.3.0 + parse5-htmlparser2-tree-adapter: 7.1.0 + + cheerio@1.2.0: + dependencies: + cheerio-select: 2.1.0 + dom-serializer: 2.0.0 + domhandler: 5.0.3 + domutils: 3.2.2 + encoding-sniffer: 0.2.1 + htmlparser2: 10.1.0 + parse5: 7.3.0 + parse5-htmlparser2-tree-adapter: 7.1.0 + parse5-parser-stream: 7.1.2 + undici: 7.29.0 + whatwg-mimetype: 4.0.0 + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + chrome-trace-event@1.0.4: {} + + ci-info@3.9.0: {} + + cjs-module-lexer@1.4.3: {} + + clean-css@5.3.3: + dependencies: + source-map: 0.6.1 + + clean-stack@2.2.0: {} + + cli-boxes@3.0.0: {} + + cli-highlight@2.1.11: + dependencies: + chalk: 4.1.2 + highlight.js: 10.7.3 + mz: 2.7.0 + parse5: 5.1.1 + parse5-htmlparser2-tree-adapter: 6.0.1 + yargs: 16.2.2 + + cli-table3@0.6.5: + dependencies: + string-width: 4.2.3 + optionalDependencies: + '@colors/colors': 1.5.0 + + cliui@7.0.4: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + clone-deep@4.0.1: + dependencies: + is-plain-object: 2.0.4 + kind-of: 6.0.3 + shallow-clone: 3.0.1 + + clsx@2.1.1: {} + + collapse-white-space@2.1.0: {} + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + colord@2.9.3: {} + + colorette@2.0.20: {} + + combine-promises@1.2.0: {} + + comlink@4.4.2: {} + + comma-separated-tokens@2.0.3: {} + + commander@10.0.1: {} + + commander@2.20.3: {} + + commander@5.1.0: {} + + commander@7.2.0: {} + + commander@8.3.0: {} + + common-path-prefix@3.0.0: {} + + compressible@2.0.18: + dependencies: + mime-db: 1.54.0 + + compression@1.8.1(supports-color@8.1.1): + dependencies: + bytes: 3.1.2 + compressible: 2.0.18 + debug: 2.6.9(supports-color@8.1.1) + negotiator: 0.6.4 + on-headers: 1.1.0 + safe-buffer: 5.2.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + concat-map@0.0.1: {} + + config-chain@1.1.13: + dependencies: + ini: 1.3.8 + proto-list: 1.2.4 + + configstore@6.0.0: + dependencies: + dot-prop: 6.0.1 + graceful-fs: 4.2.11 + unique-string: 3.0.0 + write-file-atomic: 3.0.3 + xdg-basedir: 5.1.0 + + connect-history-api-fallback@2.0.0: {} + + consola@3.4.2: {} + + content-disposition@0.5.2: {} + + content-disposition@0.5.4: + dependencies: + safe-buffer: 5.2.1 + + content-type@1.0.5: {} + + convert-source-map@2.0.0: {} + + cookie-signature@1.0.7: {} + + cookie@0.7.2: {} + + copy-text-to-clipboard@3.2.2: {} + + copy-webpack-plugin@11.0.0(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)): + dependencies: + fast-glob: 3.3.3 + glob-parent: 6.0.2 + globby: 13.2.2 + normalize-path: 3.0.0 + schema-utils: 4.3.3 + serialize-javascript: 6.0.2 + webpack: 5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26) + + core-js-compat@3.50.0: + dependencies: + browserslist: 4.28.8 + + core-js@3.50.0: {} + + core-util-is@1.0.3: {} + + cosmiconfig@8.3.6(typescript@5.9.3): + dependencies: + import-fresh: 3.3.1 + js-yaml: 4.3.1 + parse-json: 5.2.0 + path-type: 4.0.0 + optionalDependencies: + typescript: 5.9.3 + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + crypto-random-string@4.0.0: + dependencies: + type-fest: 1.4.0 + + css-blank-pseudo@7.0.1(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-selector-parser: 7.1.5 + + css-declaration-sorter@7.4.0(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + + css-has-pseudo@7.0.3(postcss@8.5.26): + dependencies: + '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.5) + postcss: 8.5.26 + postcss-selector-parser: 7.1.5 + postcss-value-parser: 4.2.0 + + css-loader@6.11.0(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)): + dependencies: + icss-utils: 5.1.0(postcss@8.5.26) + postcss: 8.5.26 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.26) + postcss-modules-local-by-default: 4.2.0(postcss@8.5.26) + postcss-modules-scope: 3.2.1(postcss@8.5.26) + postcss-modules-values: 4.0.0(postcss@8.5.26) + postcss-value-parser: 4.2.0 + semver: 7.8.5 + optionalDependencies: + webpack: 5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26) + + css-minimizer-webpack-plugin@5.0.1(clean-css@5.3.3)(csso@5.0.5)(lightningcss@1.33.0)(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)): + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + cssnano: 6.1.2(postcss@8.5.26) + jest-worker: 29.7.0 + postcss: 8.5.26 + schema-utils: 4.3.3 + serialize-javascript: 6.0.2 + webpack: 5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26) + optionalDependencies: + clean-css: 5.3.3 + csso: 5.0.5 + lightningcss: 1.33.0 + + css-prefers-color-scheme@10.0.0(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + + css-select@4.3.0: + dependencies: + boolbase: 1.0.0 + css-what: 6.2.2 + domhandler: 4.3.1 + domutils: 2.8.0 + nth-check: 2.1.1 + + css-select@5.2.2: + dependencies: + boolbase: 1.0.0 + css-what: 6.2.2 + domhandler: 5.0.3 + domutils: 3.2.2 + nth-check: 2.1.1 + + css-tree@2.2.1: + dependencies: + mdn-data: 2.0.28 + source-map-js: 1.2.1 + + css-tree@2.3.1: + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.2.1 + + css-what@6.2.2: {} + + cssdb@8.9.0: {} + + cssesc@3.0.0: {} + + cssnano-preset-advanced@6.1.2(postcss@8.5.26): + dependencies: + autoprefixer: 10.5.4(postcss@8.5.26) + browserslist: 4.28.8 + cssnano-preset-default: 6.1.2(postcss@8.5.26) + postcss: 8.5.26 + postcss-discard-unused: 6.0.5(postcss@8.5.26) + postcss-merge-idents: 6.0.3(postcss@8.5.26) + postcss-reduce-idents: 6.0.3(postcss@8.5.26) + postcss-zindex: 6.0.2(postcss@8.5.26) + + cssnano-preset-default@6.1.2(postcss@8.5.26): + dependencies: + browserslist: 4.28.8 + css-declaration-sorter: 7.4.0(postcss@8.5.26) + cssnano-utils: 4.0.2(postcss@8.5.26) + postcss: 8.5.26 + postcss-calc: 9.0.1(postcss@8.5.26) + postcss-colormin: 6.1.0(postcss@8.5.26) + postcss-convert-values: 6.1.0(postcss@8.5.26) + postcss-discard-comments: 6.0.2(postcss@8.5.26) + postcss-discard-duplicates: 6.0.3(postcss@8.5.26) + postcss-discard-empty: 6.0.3(postcss@8.5.26) + postcss-discard-overridden: 6.0.2(postcss@8.5.26) + postcss-merge-longhand: 6.0.5(postcss@8.5.26) + postcss-merge-rules: 6.1.1(postcss@8.5.26) + postcss-minify-font-values: 6.1.0(postcss@8.5.26) + postcss-minify-gradients: 6.0.3(postcss@8.5.26) + postcss-minify-params: 6.1.0(postcss@8.5.26) + postcss-minify-selectors: 6.0.4(postcss@8.5.26) + postcss-normalize-charset: 6.0.2(postcss@8.5.26) + postcss-normalize-display-values: 6.0.2(postcss@8.5.26) + postcss-normalize-positions: 6.0.2(postcss@8.5.26) + postcss-normalize-repeat-style: 6.0.2(postcss@8.5.26) + postcss-normalize-string: 6.0.2(postcss@8.5.26) + postcss-normalize-timing-functions: 6.0.2(postcss@8.5.26) + postcss-normalize-unicode: 6.1.0(postcss@8.5.26) + postcss-normalize-url: 6.0.2(postcss@8.5.26) + postcss-normalize-whitespace: 6.0.2(postcss@8.5.26) + postcss-ordered-values: 6.0.2(postcss@8.5.26) + postcss-reduce-initial: 6.1.0(postcss@8.5.26) + postcss-reduce-transforms: 6.0.2(postcss@8.5.26) + postcss-svgo: 6.0.3(postcss@8.5.26) + postcss-unique-selectors: 6.0.4(postcss@8.5.26) + + cssnano-utils@4.0.2(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + + cssnano@6.1.2(postcss@8.5.26): + dependencies: + cssnano-preset-default: 6.1.2(postcss@8.5.26) + lilconfig: 3.1.3 + postcss: 8.5.26 + + csso@5.0.5: + dependencies: + css-tree: 2.2.1 + + csstype@3.2.3: {} + + debounce@1.2.1: {} + + debug@2.6.9(supports-color@8.1.1): + dependencies: + ms: 2.0.0 + optionalDependencies: + supports-color: 8.1.1 + + debug@4.4.3(supports-color@8.1.1): + dependencies: + ms: 2.1.3 + optionalDependencies: + supports-color: 8.1.1 + + decode-named-character-reference@1.3.0: + dependencies: + character-entities: 2.0.2 + + decompress-response@6.0.0: + dependencies: + mimic-response: 3.1.0 + + deep-extend@0.6.0: {} + + deepmerge@4.3.1: {} + + default-browser-id@5.0.1: {} + + default-browser@5.5.0: + dependencies: + bundle-name: 4.1.0 + default-browser-id: 5.0.1 + + defer-to-connect@2.0.1: {} + + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + + define-lazy-prop@2.0.0: {} + + define-lazy-prop@3.0.0: {} + + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + + defu@6.1.7: {} + + depd@1.1.2: {} + + depd@2.0.0: {} + + dequal@2.0.3: {} + + destroy@1.2.0: {} + + detect-libc@2.1.2: {} + + detect-node@2.1.0: {} + + detect-port@2.1.0: + dependencies: + address: 2.0.3 + + devlop@1.1.0: + dependencies: + dequal: 2.0.3 + + dir-glob@3.0.1: + dependencies: + path-type: 4.0.0 + + dns-packet@5.6.1: + dependencies: + '@leichtgewicht/ip-codec': 2.0.5 + + docusaurus-plugin-typedoc@1.4.2(typedoc-plugin-markdown@4.12.0(typedoc@0.28.20(typescript@5.9.3))): + dependencies: + typedoc-docusaurus-theme: 1.4.2(typedoc-plugin-markdown@4.12.0(typedoc@0.28.20(typescript@5.9.3))) + typedoc-plugin-markdown: 4.12.0(typedoc@0.28.20(typescript@5.9.3)) + + dom-converter@0.2.0: + dependencies: + utila: 0.4.0 + + dom-serializer@1.4.1: + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + entities: 2.2.0 + + dom-serializer@2.0.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + + domelementtype@2.3.0: {} + + domhandler@4.3.1: + dependencies: + domelementtype: 2.3.0 + + domhandler@5.0.3: + dependencies: + domelementtype: 2.3.0 + + domutils@2.8.0: + dependencies: + dom-serializer: 1.4.1 + domelementtype: 2.3.0 + domhandler: 4.3.1 + + domutils@3.2.2: + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + + dot-case@3.0.4: + dependencies: + no-case: 3.0.4 + tslib: 2.8.1 + + dot-prop@6.0.1: + dependencies: + is-obj: 2.0.0 + + dts-resolver@3.0.0: {} + + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 + + duplexer@0.1.2: {} + + eastasianwidth@0.2.0: {} + + ee-first@1.1.1: {} + + electron-to-chromium@1.5.404: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + emojilib@2.4.0: {} + + emojis-list@3.0.0: {} + + emoticon@4.1.0: {} + + empathic@2.0.1: {} + + encodeurl@2.0.0: {} + + encoding-sniffer@0.2.1: + dependencies: + iconv-lite: 0.6.3 + whatwg-encoding: 3.1.1 + + enhanced-resolve@5.24.5: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.3.3 + + entities@2.2.0: {} + + entities@4.5.0: {} + + entities@6.0.1: {} + + entities@7.0.1: {} + + environment@1.1.0: {} + + error-ex@1.3.4: + dependencies: + is-arrayish: 0.2.1 + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-module-lexer@2.3.1: {} + + es-object-atoms@1.1.2: + dependencies: + es-errors: 1.3.0 + + esast-util-from-estree@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + unist-util-position-from-estree: 2.0.0 + + esast-util-from-js@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + acorn: 8.18.0 + esast-util-from-estree: 2.0.0 + vfile-message: 4.0.3 + + escalade@3.2.0: {} + + escape-goat@4.0.0: {} + + escape-html@1.0.3: {} + + escape-string-regexp@4.0.0: {} + + escape-string-regexp@5.0.0: {} + + eslint-scope@5.1.1: + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@4.3.0: {} + + estraverse@5.3.0: {} + + estree-util-attach-comments@3.0.0: + dependencies: + '@types/estree': 1.0.9 + + estree-util-build-jsx@3.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + estree-walker: 3.0.3 + + estree-util-is-identifier-name@3.0.0: {} + + estree-util-scope@1.0.0: + dependencies: + '@types/estree': 1.0.9 + devlop: 1.1.0 + + estree-util-to-js@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + astring: 1.9.0 + source-map: 0.7.6 + + estree-util-value-to-estree@3.5.0: + dependencies: + '@types/estree': 1.0.9 + + estree-util-visit@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/unist': 3.0.3 + + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.9 + + esutils@2.0.3: {} + + eta@2.2.0: {} + + etag@1.8.1: {} + + eval@0.1.8: + dependencies: + '@types/node': 26.2.0 + require-like: 0.1.2 + + eventemitter3@4.0.7: {} + + events@3.3.0: {} + + execa@5.1.1: + dependencies: + cross-spawn: 7.0.6 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + expect-type@1.4.0: {} + + express@4.22.2(supports-color@8.1.1): + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.6(supports-color@8.1.1) + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.7.2 + cookie-signature: 1.0.7 + debug: 2.6.9(supports-color@8.1.1) + depd: 2.0.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.3.2(supports-color@8.1.1) + fresh: 0.5.2 + http-errors: 2.0.1 + merge-descriptors: 1.0.3 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.13 + proxy-addr: 2.0.7 + qs: 6.15.3 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.19.2(supports-color@8.1.1) + serve-static: 1.16.3(supports-color@8.1.1) + setprototypeof: 1.2.0 + statuses: 2.0.2 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + extend-shallow@2.0.1: + dependencies: + is-extendable: 0.1.1 + + extend@3.0.2: {} + + fast-deep-equal@3.1.3: {} + + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-json-stable-stringify@2.1.0: {} + + fast-string-truncated-width@3.0.3: {} + + fast-string-width@3.0.2: + dependencies: + fast-string-truncated-width: 3.0.3 + + fast-uri@3.1.5: {} + + fast-wrap-ansi@0.2.2: + dependencies: + fast-string-width: 3.0.2 + + fastq@1.20.1: + dependencies: + reusify: 1.1.0 + + fault@2.0.1: + dependencies: + format: 0.2.2 + + faye-websocket@0.11.4: + dependencies: + websocket-driver: 0.7.5 + + fdir@6.5.0(picomatch@4.0.5): + optionalDependencies: + picomatch: 4.0.5 + + feed@4.2.2: + dependencies: + xml-js: 1.6.11 + + fflate@0.8.3: {} + + file-loader@6.2.0(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)): + dependencies: + loader-utils: 2.0.4 + schema-utils: 3.3.0 + webpack: 5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26) + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + finalhandler@1.3.2(supports-color@8.1.1): + dependencies: + debug: 2.6.9(supports-color@8.1.1) + encodeurl: 2.0.0 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.2 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + find-cache-dir@4.0.0: + dependencies: + common-path-prefix: 3.0.0 + pkg-dir: 7.0.0 + + find-up@6.3.0: + dependencies: + locate-path: 7.2.0 + path-exists: 5.0.0 + + flat@5.0.2: {} + + follow-redirects@1.16.0(debug@4.4.3(supports-color@8.1.1)): + optionalDependencies: + debug: 4.4.3(supports-color@8.1.1) + + form-data-encoder@2.1.4: {} + + format@0.2.2: {} + + forwarded@0.2.0: {} + + fraction.js@5.3.4: {} + + fresh@0.5.2: {} + + fs-extra@10.1.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.2.1 + universalify: 2.0.1 + + fs-extra@11.4.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.2.1 + universalify: 2.0.1 + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + gensync@1.0.0-beta.2: {} + + get-caller-file@2.0.5: {} + + get-intrinsic@1.3.0: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.4 + math-intrinsics: 1.1.0 + + get-own-enumerable-property-symbols@3.0.2: {} + + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.2 + + get-stream@6.0.1: {} + + get-tsconfig@5.0.0-beta.5: + dependencies: + resolve-pkg-maps: 1.0.0 + + github-slugger@1.5.0: {} + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob-to-regex.js@1.2.0(tslib@2.8.1): + dependencies: + tslib: 2.8.1 + + global-dirs@3.0.1: + dependencies: + ini: 2.0.0 + + globby@11.1.0: + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.3 + ignore: 5.3.2 + merge2: 1.4.1 + slash: 3.0.0 + + globby@13.2.2: + dependencies: + dir-glob: 3.0.1 + fast-glob: 3.3.3 + ignore: 5.3.2 + merge2: 1.4.1 + slash: 4.0.0 + + gopd@1.2.0: {} + + got@12.6.1: + dependencies: + '@sindresorhus/is': 5.6.0 + '@szmarczak/http-timer': 5.0.1 + cacheable-lookup: 7.0.0 + cacheable-request: 10.2.14 + decompress-response: 6.0.0 + form-data-encoder: 2.1.4 + get-stream: 6.0.1 + http2-wrapper: 2.2.1 + lowercase-keys: 3.0.0 + p-cancelable: 3.0.0 + responselike: 3.0.0 + + graceful-fs@4.2.10: {} + + graceful-fs@4.2.11: {} + + gzip-size@6.0.0: + dependencies: + duplexer: 0.1.2 + + handle-thing@2.0.1: {} + + has-flag@4.0.0: {} + + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.1 + + has-symbols@1.1.0: {} + + has-yarn@3.0.0: {} + + hasown@2.0.4: + dependencies: + function-bind: 1.1.2 + + hast-util-from-parse5@8.0.3: + dependencies: + '@types/hast': 3.0.5 + '@types/unist': 3.0.3 + devlop: 1.1.0 + hastscript: 9.0.1 + property-information: 7.2.0 + vfile: 6.0.3 + vfile-location: 5.0.3 + web-namespaces: 2.0.1 + + hast-util-parse-selector@4.0.0: + dependencies: + '@types/hast': 3.0.5 + + hast-util-raw@9.1.0: + dependencies: + '@types/hast': 3.0.5 + '@types/unist': 3.0.3 + '@ungap/structured-clone': 1.3.3 + hast-util-from-parse5: 8.0.3 + hast-util-to-parse5: 8.0.1 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.1 + parse5: 7.3.0 + unist-util-position: 5.0.0 + unist-util-visit: 5.1.0 + vfile: 6.0.3 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + + hast-util-to-estree@3.1.3(supports-color@8.1.1): + dependencies: + '@types/estree': 1.0.9 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.5 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-attach-comments: 3.0.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.1(supports-color@8.1.1) + mdast-util-mdx-jsx: 3.2.0(supports-color@8.1.1) + mdast-util-mdxjs-esm: 2.0.1(supports-color@8.1.1) + property-information: 7.2.0 + space-separated-tokens: 2.0.2 + style-to-js: 1.1.21 + unist-util-position: 5.0.0 + zwitch: 2.0.4 + transitivePeerDependencies: + - supports-color + + hast-util-to-jsx-runtime@2.3.6(supports-color@8.1.1): + dependencies: + '@types/estree': 1.0.9 + '@types/hast': 3.0.5 + '@types/unist': 3.0.3 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.1(supports-color@8.1.1) + mdast-util-mdx-jsx: 3.2.0(supports-color@8.1.1) + mdast-util-mdxjs-esm: 2.0.1(supports-color@8.1.1) + property-information: 7.2.0 + space-separated-tokens: 2.0.2 + style-to-js: 1.1.21 + unist-util-position: 5.0.0 + vfile-message: 4.0.3 + transitivePeerDependencies: + - supports-color + + hast-util-to-parse5@8.0.1: + dependencies: + '@types/hast': 3.0.5 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + property-information: 7.2.0 + space-separated-tokens: 2.0.2 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + + hast-util-whitespace@3.0.0: + dependencies: + '@types/hast': 3.0.5 + + hastscript@9.0.1: + dependencies: + '@types/hast': 3.0.5 + comma-separated-tokens: 2.0.3 + hast-util-parse-selector: 4.0.0 + property-information: 7.2.0 + space-separated-tokens: 2.0.2 + + he@1.2.0: {} + + highlight.js@10.7.3: {} + + history@4.10.1: + dependencies: + '@babel/runtime': 7.29.7 + loose-envify: 1.4.0 + resolve-pathname: 3.0.0 + tiny-invariant: 1.3.3 + tiny-warning: 1.0.3 + value-equal: 1.0.1 + + hoist-non-react-statics@3.3.2: + dependencies: + react-is: 16.13.1 + + hookable@6.1.1: {} + + hpack.js@2.1.6: + dependencies: + inherits: 2.0.4 + obuf: 1.1.2 + readable-stream: 2.3.8 + wbuf: 1.7.3 + + html-escaper@2.0.2: {} + + html-minifier-terser@6.1.0: + dependencies: + camel-case: 4.1.2 + clean-css: 5.3.3 + commander: 8.3.0 + he: 1.2.0 + param-case: 3.0.4 + relateurl: 0.2.7 + terser: 5.49.2 + + html-minifier-terser@7.2.0: + dependencies: + camel-case: 4.1.2 + clean-css: 5.3.3 + commander: 10.0.1 + entities: 4.5.0 + param-case: 3.0.4 + relateurl: 0.2.7 + terser: 5.49.2 + + html-tags@3.3.1: {} + + html-void-elements@3.0.0: {} + + html-webpack-plugin@5.6.8(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)): + dependencies: + '@types/html-minifier-terser': 6.1.0 + html-minifier-terser: 6.1.0 + lodash: 4.18.1 + pretty-error: 4.0.0 + tapable: 2.3.3 + optionalDependencies: + webpack: 5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26) + + htmlparser2@10.1.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.2.2 + entities: 7.0.1 + + htmlparser2@6.1.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + domutils: 2.8.0 + entities: 2.2.0 + + htmlparser2@8.0.2: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.2.2 + entities: 4.5.0 + + http-cache-semantics@4.2.0: {} + + http-deceiver@1.2.7: {} + + http-errors@1.8.1: + dependencies: + depd: 1.1.2 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 1.5.0 + toidentifier: 1.0.1 + + http-errors@2.0.1: + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.2 + toidentifier: 1.0.1 + + http-parser-js@0.5.10: {} + + http-proxy-middleware@2.0.10(@types/express@4.17.25)(debug@4.4.3(supports-color@8.1.1)): + dependencies: + '@types/http-proxy': 1.17.17 + http-proxy: 1.18.1(debug@4.4.3(supports-color@8.1.1)) + is-glob: 4.0.3 + is-plain-obj: 3.0.0 + micromatch: 4.0.8 + optionalDependencies: + '@types/express': 4.17.25 + transitivePeerDependencies: + - debug + + http-proxy@1.18.1(debug@4.4.3(supports-color@8.1.1)): + dependencies: + eventemitter3: 4.0.7 + follow-redirects: 1.16.0(debug@4.4.3(supports-color@8.1.1)) + requires-port: 1.0.0 + transitivePeerDependencies: + - debug + + http2-wrapper@2.2.1: + dependencies: + quick-lru: 5.1.1 + resolve-alpn: 1.2.1 + + human-id@4.2.0: {} + + human-signals@2.1.0: {} + + hyperdyperid@1.2.0: {} + + iconv-lite@0.4.24: + dependencies: + safer-buffer: 2.1.2 + + iconv-lite@0.6.3: + dependencies: + safer-buffer: 2.1.2 + + icss-utils@5.1.0(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + + ignore@5.3.2: {} + + image-size@2.0.2: {} + + immediate@3.3.0: {} + + import-fresh@3.3.1: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + import-lazy@4.0.0: {} + + import-meta-resolve@4.2.0: {} + + import-without-cache@0.4.0: {} + + imurmurhash@0.1.4: {} + + indent-string@4.0.0: {} + + infima@0.2.0-alpha.45: {} + + inherits@2.0.4: {} + + ini@1.3.8: {} + + ini@2.0.0: {} + + inline-style-parser@0.2.7: {} + + invariant@2.2.4: + dependencies: + loose-envify: 1.4.0 + + ipaddr.js@1.9.1: {} + + ipaddr.js@2.5.0: {} + + is-alphabetical@2.0.1: {} + + is-alphanumerical@2.0.1: + dependencies: + is-alphabetical: 2.0.1 + is-decimal: 2.0.1 + + is-arrayish@0.2.1: {} + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-ci@3.0.1: + dependencies: + ci-info: 3.9.0 + + is-core-module@2.16.2: + dependencies: + hasown: 2.0.4 + + is-decimal@2.0.1: {} + + is-docker@2.2.1: {} + + is-docker@3.0.0: {} + + is-extendable@0.1.1: {} + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@3.0.0: {} + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-hexadecimal@2.0.1: {} + + is-inside-container@1.0.0: + dependencies: + is-docker: 3.0.0 + + is-installed-globally@0.4.0: + dependencies: + global-dirs: 3.0.1 + is-path-inside: 3.0.3 + + is-network-error@1.3.2: {} + + is-npm@6.1.0: {} + + is-number@7.0.0: {} + + is-obj@1.0.1: {} + + is-obj@2.0.0: {} + + is-path-inside@3.0.3: {} + + is-plain-obj@3.0.0: {} + + is-plain-obj@4.1.0: {} + + is-plain-object@2.0.4: + dependencies: + isobject: 3.0.1 + + is-regexp@1.0.0: {} + + is-stream@2.0.1: {} + + is-typedarray@1.0.0: {} + + is-wsl@2.2.0: + dependencies: + is-docker: 2.2.1 + + is-wsl@3.1.1: + dependencies: + is-inside-container: 1.0.0 + + is-yarn-global@0.4.1: {} + + isarray@0.0.1: {} + + isarray@1.0.0: {} + + isexe@2.0.0: {} + + isobject@3.0.1: {} + + istanbul-lib-coverage@3.2.2: {} + + istanbul-lib-report@3.0.1: + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + + istanbul-reports@3.2.0: + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + + jest-util@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 26.2.0 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.2 + + jest-worker@27.5.1: + dependencies: + '@types/node': 26.2.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jest-worker@29.7.0: + dependencies: + '@types/node': 26.2.0 + jest-util: 29.7.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jiti@1.21.7: {} + + jju@1.4.0: {} + + joi@17.13.4: + dependencies: + '@hapi/hoek': 9.3.0 + '@hapi/topo': 5.1.0 + '@sideway/address': 4.1.5 + '@sideway/formula': 3.0.1 + '@sideway/pinpoint': 2.0.0 + + js-tokens@10.0.0: {} + + js-tokens@4.0.0: {} + + js-yaml@4.3.1: + dependencies: + argparse: 2.0.1 + + jsesc@3.1.0: {} + + json-buffer@3.0.1: {} + + json-parse-even-better-errors@2.3.1: {} + + json-schema-traverse@0.4.1: {} + + json-schema-traverse@1.0.0: {} + + json5@2.2.3: {} + + jsonc-parser@3.3.1: {} + + jsonfile@6.2.1: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + kind-of@6.0.3: {} + + klaw-sync@6.0.0: + dependencies: + graceful-fs: 4.2.11 + + kleur@3.0.3: {} + + latest-version@7.0.0: + dependencies: + package-json: 8.1.1 + + launch-editor@2.14.1: + dependencies: + picocolors: 1.1.1 + shell-quote: 1.10.0 + + leven@3.1.0: {} + + lightningcss-android-arm64@1.33.0: + optional: true + + lightningcss-darwin-arm64@1.33.0: + optional: true + + lightningcss-darwin-x64@1.33.0: + optional: true + + lightningcss-freebsd-x64@1.33.0: + optional: true + + lightningcss-linux-arm-gnueabihf@1.33.0: + optional: true + + lightningcss-linux-arm64-gnu@1.33.0: + optional: true + + lightningcss-linux-arm64-musl@1.33.0: + optional: true + + lightningcss-linux-x64-gnu@1.33.0: + optional: true + + lightningcss-linux-x64-musl@1.33.0: + optional: true + + lightningcss-win32-arm64-msvc@1.33.0: + optional: true + + lightningcss-win32-x64-msvc@1.33.0: + optional: true + + lightningcss@1.33.0: + dependencies: + detect-libc: 2.1.2 + optionalDependencies: + lightningcss-android-arm64: 1.33.0 + lightningcss-darwin-arm64: 1.33.0 + lightningcss-darwin-x64: 1.33.0 + lightningcss-freebsd-x64: 1.33.0 + lightningcss-linux-arm-gnueabihf: 1.33.0 + lightningcss-linux-arm64-gnu: 1.33.0 + lightningcss-linux-arm64-musl: 1.33.0 + lightningcss-linux-x64-gnu: 1.33.0 + lightningcss-linux-x64-musl: 1.33.0 + lightningcss-win32-arm64-msvc: 1.33.0 + lightningcss-win32-x64-msvc: 1.33.0 + + lilconfig@3.1.3: {} + + lines-and-columns@1.2.4: {} + + linkify-it@5.0.2: + dependencies: + uc.micro: 2.1.0 + + loader-utils@2.0.4: + dependencies: + big.js: 5.2.2 + emojis-list: 3.0.0 + json5: 2.2.3 + + locate-path@7.2.0: + dependencies: + p-locate: 6.0.0 + + lodash.debounce@4.0.8: {} + + lodash.memoize@4.1.2: {} + + lodash.uniq@4.5.0: {} + + lodash@4.18.1: {} + + longest-streak@3.1.0: {} + + loose-envify@1.4.0: + dependencies: + js-tokens: 4.0.0 + + lower-case@2.0.2: + dependencies: + tslib: 2.8.1 + + lowercase-keys@3.0.0: {} + + lru-cache@11.5.2: {} + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + lunr-languages@1.21.0: {} + + lunr@2.3.9: {} + + magic-string@0.30.21: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + + magicast@0.5.4: + dependencies: + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 + source-map-js: 1.2.1 + + make-dir@4.0.0: + dependencies: + semver: 7.8.5 + + mark.js@8.11.1: {} + + markdown-extensions@2.0.0: {} + + markdown-it@14.3.0: + dependencies: + argparse: 2.0.1 + entities: 4.5.0 + linkify-it: 5.0.2 + mdurl: 2.1.0 + punycode.js: 2.3.1 + uc.micro: 2.1.0 + + markdown-table@3.0.4: {} + + marked-terminal@7.3.0(marked@9.1.6): + dependencies: + ansi-escapes: 7.3.0 + ansi-regex: 6.2.2 + chalk: 5.6.2 + cli-highlight: 2.1.11 + cli-table3: 0.6.5 + marked: 9.1.6 + node-emoji: 2.2.0 + supports-hyperlinks: 3.2.0 + + marked@9.1.6: {} + + math-intrinsics@1.1.0: {} + + mdast-util-directive@3.1.0(supports-color@8.1.1): + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.3(supports-color@8.1.1) + mdast-util-to-markdown: 2.1.2 + parse-entities: 4.0.2 + stringify-entities: 4.0.4 + unist-util-visit-parents: 6.0.2 + transitivePeerDependencies: + - supports-color + + mdast-util-find-and-replace@3.0.2: + dependencies: + '@types/mdast': 4.0.4 + escape-string-regexp: 5.0.0 + unist-util-is: 6.0.1 + unist-util-visit-parents: 6.0.2 + + mdast-util-from-markdown@2.0.3(supports-color@8.1.1): + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + decode-named-character-reference: 1.3.0 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.2(supports-color@8.1.1) + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-decode-string: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-frontmatter@2.0.1(supports-color@8.1.1): + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + escape-string-regexp: 5.0.0 + mdast-util-from-markdown: 2.0.3(supports-color@8.1.1) + mdast-util-to-markdown: 2.1.2 + micromark-extension-frontmatter: 2.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-autolink-literal@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-find-and-replace: 3.0.2 + micromark-util-character: 2.1.1 + + mdast-util-gfm-footnote@2.1.0(supports-color@8.1.1): + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.3(supports-color@8.1.1) + mdast-util-to-markdown: 2.1.2 + micromark-util-normalize-identifier: 2.0.1 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-strikethrough@2.0.0(supports-color@8.1.1): + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.3(supports-color@8.1.1) + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-table@2.0.0(supports-color@8.1.1): + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + markdown-table: 3.0.4 + mdast-util-from-markdown: 2.0.3(supports-color@8.1.1) + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-task-list-item@2.0.0(supports-color@8.1.1): + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.3(supports-color@8.1.1) + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm@3.1.0(supports-color@8.1.1): + dependencies: + mdast-util-from-markdown: 2.0.3(supports-color@8.1.1) + mdast-util-gfm-autolink-literal: 2.0.1 + mdast-util-gfm-footnote: 2.1.0(supports-color@8.1.1) + mdast-util-gfm-strikethrough: 2.0.0(supports-color@8.1.1) + mdast-util-gfm-table: 2.0.0(supports-color@8.1.1) + mdast-util-gfm-task-list-item: 2.0.0(supports-color@8.1.1) + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx-expression@2.0.1(supports-color@8.1.1): + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.5 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.3(supports-color@8.1.1) + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx-jsx@3.2.0(supports-color@8.1.1): + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.5 + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.3(supports-color@8.1.1) + mdast-util-to-markdown: 2.1.2 + parse-entities: 4.0.2 + stringify-entities: 4.0.4 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.3 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx@3.0.0(supports-color@8.1.1): + dependencies: + mdast-util-from-markdown: 2.0.3(supports-color@8.1.1) + mdast-util-mdx-expression: 2.0.1(supports-color@8.1.1) + mdast-util-mdx-jsx: 3.2.0(supports-color@8.1.1) + mdast-util-mdxjs-esm: 2.0.1(supports-color@8.1.1) + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdxjs-esm@2.0.1(supports-color@8.1.1): + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.5 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.3(supports-color@8.1.1) + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-phrasing@4.1.0: + dependencies: + '@types/mdast': 4.0.4 + unist-util-is: 6.0.1 + + mdast-util-to-hast@13.2.1: + dependencies: + '@types/hast': 3.0.5 + '@types/mdast': 4.0.4 + '@ungap/structured-clone': 1.3.3 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.1 + trim-lines: 3.0.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.1.0 + vfile: 6.0.3 + + mdast-util-to-markdown@2.1.2: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + longest-streak: 3.1.0 + mdast-util-phrasing: 4.1.0 + mdast-util-to-string: 4.0.0 + micromark-util-classify-character: 2.0.1 + micromark-util-decode-string: 2.0.1 + unist-util-visit: 5.1.0 + zwitch: 2.0.4 + + mdast-util-to-string@4.0.0: + dependencies: + '@types/mdast': 4.0.4 + + mdn-data@2.0.28: {} + + mdn-data@2.0.30: {} + + mdurl@2.1.0: {} + + media-typer@0.3.0: {} + + memfs@4.68.1: + dependencies: + '@jsonjoy.com/fs-core': 4.68.1(tslib@2.8.1) + '@jsonjoy.com/fs-fsa': 4.68.1(tslib@2.8.1) + '@jsonjoy.com/fs-node': 4.68.1(tslib@2.8.1) + '@jsonjoy.com/fs-node-builtins': 4.68.1(tslib@2.8.1) + '@jsonjoy.com/fs-node-to-fsa': 4.68.1(tslib@2.8.1) + '@jsonjoy.com/fs-node-utils': 4.68.1(tslib@2.8.1) + '@jsonjoy.com/fs-print': 4.68.1(tslib@2.8.1) + '@jsonjoy.com/fs-snapshot': 4.68.1(tslib@2.8.1) + '@jsonjoy.com/json-pack': 1.21.0(tslib@2.8.1) + '@jsonjoy.com/util': 1.9.0(tslib@2.8.1) + glob-to-regex.js: 1.2.0(tslib@2.8.1) + thingies: 2.6.1(tslib@2.8.1) + tree-dump: 1.1.0(tslib@2.8.1) + tslib: 2.8.1 + + merge-descriptors@1.0.3: {} + + merge-stream@2.0.0: {} + + merge2@1.4.1: {} + + methods@1.1.2: {} + + micromark-core-commonmark@2.0.3: + dependencies: + decode-named-character-reference: 1.3.0 + devlop: 1.1.0 + micromark-factory-destination: 2.0.1 + micromark-factory-label: 2.0.1 + micromark-factory-space: 2.0.1 + micromark-factory-title: 2.0.1 + micromark-factory-whitespace: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-html-tag-name: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-subtokenize: 2.1.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-directive@3.0.2: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-factory-whitespace: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + parse-entities: 4.0.2 + + micromark-extension-frontmatter@2.0.0: + dependencies: + fault: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-autolink-literal@2.1.0: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-footnote@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-core-commonmark: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-strikethrough@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-table@2.1.1: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm-tagfilter@2.0.0: + dependencies: + micromark-util-types: 2.0.2 + + micromark-extension-gfm-task-list-item@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-gfm@3.0.0: + dependencies: + micromark-extension-gfm-autolink-literal: 2.1.0 + micromark-extension-gfm-footnote: 2.1.0 + micromark-extension-gfm-strikethrough: 2.1.0 + micromark-extension-gfm-table: 2.1.1 + micromark-extension-gfm-tagfilter: 2.0.0 + micromark-extension-gfm-task-list-item: 2.1.0 + micromark-util-combine-extensions: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-mdx-expression@3.0.1: + dependencies: + '@types/estree': 1.0.9 + devlop: 1.1.0 + micromark-factory-mdx-expression: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-mdx-jsx@3.0.2: + dependencies: + '@types/estree': 1.0.9 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + micromark-factory-mdx-expression: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + vfile-message: 4.0.3 + + micromark-extension-mdx-md@2.0.0: + dependencies: + micromark-util-types: 2.0.2 + + micromark-extension-mdxjs-esm@3.0.0: + dependencies: + '@types/estree': 1.0.9 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.3 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.3 + + micromark-extension-mdxjs@3.0.0: + dependencies: + acorn: 8.18.0 + acorn-jsx: 5.3.2(acorn@8.18.0) + micromark-extension-mdx-expression: 3.0.1 + micromark-extension-mdx-jsx: 3.0.2 + micromark-extension-mdx-md: 2.0.0 + micromark-extension-mdxjs-esm: 3.0.0 + micromark-util-combine-extensions: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-destination@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-label@2.0.1: + dependencies: + devlop: 1.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-mdx-expression@2.0.3: + dependencies: + '@types/estree': 1.0.9 + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.3 + + micromark-factory-space@1.1.0: + dependencies: + micromark-util-character: 1.2.0 + micromark-util-types: 1.1.0 + + micromark-factory-space@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-types: 2.0.2 + + micromark-factory-title@2.0.1: + dependencies: + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-whitespace@2.0.1: + dependencies: + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-character@1.2.0: + dependencies: + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + + micromark-util-character@2.1.1: + dependencies: + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-chunked@2.0.1: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-classify-character@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-combine-extensions@2.0.1: + dependencies: + micromark-util-chunked: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-decode-numeric-character-reference@2.0.2: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-decode-string@2.0.1: + dependencies: + decode-named-character-reference: 1.3.0 + micromark-util-character: 2.1.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-symbol: 2.0.1 + + micromark-util-encode@2.0.1: {} + + micromark-util-events-to-acorn@2.0.3: + dependencies: + '@types/estree': 1.0.9 + '@types/unist': 3.0.3 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + vfile-message: 4.0.3 + + micromark-util-html-tag-name@2.0.1: {} + + micromark-util-normalize-identifier@2.0.1: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-resolve-all@2.0.1: + dependencies: + micromark-util-types: 2.0.2 + + micromark-util-sanitize-uri@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-encode: 2.0.1 + micromark-util-symbol: 2.0.1 + + micromark-util-subtokenize@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-symbol@1.1.0: {} + + micromark-util-symbol@2.0.1: {} + + micromark-util-types@1.1.0: {} + + micromark-util-types@2.0.2: {} + + micromark@4.0.2(supports-color@8.1.1): + dependencies: + '@types/debug': 4.1.13 + debug: 4.4.3(supports-color@8.1.1) + decode-named-character-reference: 1.3.0 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-combine-extensions: 2.0.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-encode: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-subtokenize: 2.1.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + transitivePeerDependencies: + - supports-color + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.2 + + mime-db@1.33.0: {} + + mime-db@1.52.0: {} + + mime-db@1.54.0: {} + + mime-types@2.1.18: + dependencies: + mime-db: 1.33.0 + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mime-types@3.0.2: + dependencies: + mime-db: 1.54.0 + + mime@1.6.0: {} + + mimic-fn@2.1.0: {} + + mimic-response@3.1.0: {} + + mimic-response@4.0.0: {} + + mini-css-extract-plugin@2.10.2(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)): + dependencies: + schema-utils: 4.3.3 + tapable: 2.3.3 + webpack: 5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26) + + minimalistic-assert@1.0.1: {} + + minimatch@10.2.6: + dependencies: + brace-expansion: 5.0.9 + + minimatch@3.1.5: + dependencies: + brace-expansion: 1.1.18 + + minimist@1.2.8: {} + + minimizer-webpack-plugin@5.6.1(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)): + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + jest-worker: 27.5.1 + schema-utils: 4.3.3 + terser: 5.49.2 + webpack: 5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26) + optionalDependencies: + clean-css: 5.3.3 + cssnano: 6.1.2(postcss@8.5.26) + csso: 5.0.5 + html-minifier-terser: 7.2.0 + lightningcss: 1.33.0 + postcss: 8.5.26 + + mri@1.2.0: {} + + mrmime@2.0.1: {} + + ms@2.0.0: {} + + ms@2.1.3: {} + + multicast-dns@7.2.5: + dependencies: + dns-packet: 5.6.1 + thunky: 1.1.0 + + mz@2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + + nanoid@3.3.18: {} + + negotiator@0.6.3: {} + + negotiator@0.6.4: {} + + neo-async@2.6.2: {} + + no-case@3.0.4: + dependencies: + lower-case: 2.0.2 + tslib: 2.8.1 + + node-emoji@2.2.0: + dependencies: + '@sindresorhus/is': 4.6.0 + char-regex: 1.0.2 + emojilib: 2.4.0 + skin-tone: 2.0.0 + + node-releases@2.0.53: {} + + normalize-path@3.0.0: {} + + normalize-url@8.1.1: {} + + npm-run-path@4.0.1: + dependencies: + path-key: 3.1.1 + + nprogress@0.2.0: {} + + nth-check@2.1.1: + dependencies: + boolbase: 1.0.0 + + null-loader@4.0.1(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)): + dependencies: + loader-utils: 2.0.4 + schema-utils: 3.3.0 + webpack: 5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26) + + object-assign@4.1.1: {} + + object-inspect@1.13.4: {} + + object-keys@1.1.1: {} + + object.assign@4.1.7: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.2 + has-symbols: 1.1.0 + object-keys: 1.1.1 + + obuf@1.1.2: {} + + obug@2.1.4: {} + + on-finished@2.4.1: + dependencies: + ee-first: 1.1.1 + + on-headers@1.1.0: {} + + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + + open@10.2.0: + dependencies: + default-browser: 5.5.0 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + wsl-utils: 0.1.0 + + open@8.4.2: + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + + opener@1.5.2: {} + + p-cancelable@3.0.0: {} + + p-finally@1.0.0: {} + + p-limit@4.0.0: + dependencies: + yocto-queue: 1.2.2 + + p-locate@6.0.0: + dependencies: + p-limit: 4.0.0 + + p-map@4.0.0: + dependencies: + aggregate-error: 3.1.0 + + p-queue@6.6.2: + dependencies: + eventemitter3: 4.0.7 + p-timeout: 3.2.0 + + p-retry@6.2.1: + dependencies: + '@types/retry': 0.12.2 + is-network-error: 1.3.2 + retry: 0.13.1 + + p-timeout@3.2.0: + dependencies: + p-finally: 1.0.0 + + package-json@8.1.1: + dependencies: + got: 12.6.1 + registry-auth-token: 5.1.1 + registry-url: 6.0.1 + semver: 7.8.5 + + package-manager-detector@1.8.0: {} + + param-case@3.0.4: + dependencies: + dot-case: 3.0.4 + tslib: 2.8.1 + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + parse-entities@4.0.2: + dependencies: + '@types/unist': 2.0.11 + character-entities-legacy: 3.0.0 + character-reference-invalid: 2.0.1 + decode-named-character-reference: 1.3.0 + is-alphanumerical: 2.0.1 + is-decimal: 2.0.1 + is-hexadecimal: 2.0.1 + + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.29.7 + error-ex: 1.3.4 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + + parse-numeric-range@1.3.0: {} + + parse5-htmlparser2-tree-adapter@6.0.1: + dependencies: + parse5: 6.0.1 + + parse5-htmlparser2-tree-adapter@7.1.0: + dependencies: + domhandler: 5.0.3 + parse5: 7.3.0 + + parse5-parser-stream@7.1.2: + dependencies: + parse5: 7.3.0 + + parse5@5.1.1: {} + + parse5@6.0.1: {} + + parse5@7.3.0: + dependencies: + entities: 6.0.1 + + parseurl@1.3.3: {} + + pascal-case@3.1.2: + dependencies: + no-case: 3.0.4 + tslib: 2.8.1 + + path-exists@5.0.0: {} + + path-is-inside@1.0.2: {} + + path-key@3.1.1: {} + + path-parse@1.0.7: {} + + path-to-regexp@0.1.13: {} + + path-to-regexp@1.9.0: + dependencies: + isarray: 0.0.1 + + path-to-regexp@3.3.0: {} + + path-type@4.0.0: {} + + pathe@2.0.3: {} + + picocolors@1.1.1: {} + + picomatch@2.3.2: {} + + picomatch@4.0.5: {} + + pkg-dir@7.0.0: + dependencies: + find-up: 6.3.0 + + pkijs@3.4.0: + dependencies: + '@noble/hashes': 1.4.0 + asn1js: 3.0.10 + bytestreamjs: 2.0.1 + pvtsutils: 1.3.6 + pvutils: 1.2.0 + tslib: 2.8.1 + + postcss-attribute-case-insensitive@7.0.1(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-selector-parser: 7.1.5 + + postcss-calc@9.0.1(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-selector-parser: 6.1.4 + postcss-value-parser: 4.2.0 + + postcss-clamp@4.1.0(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-color-functional-notation@7.0.12(postcss@8.5.26): + dependencies: + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.26) + '@csstools/utilities': 2.0.0(postcss@8.5.26) + postcss: 8.5.26 + + postcss-color-hex-alpha@10.0.0(postcss@8.5.26): + dependencies: + '@csstools/utilities': 2.0.0(postcss@8.5.26) + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-color-rebeccapurple@10.0.0(postcss@8.5.26): + dependencies: + '@csstools/utilities': 2.0.0(postcss@8.5.26) + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-colormin@6.1.0(postcss@8.5.26): + dependencies: + browserslist: 4.28.8 + caniuse-api: 3.0.0 + colord: 2.9.3 + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-convert-values@6.1.0(postcss@8.5.26): + dependencies: + browserslist: 4.28.8 + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-custom-media@11.0.6(postcss@8.5.26): + dependencies: + '@csstools/cascade-layer-name-parser': 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + postcss: 8.5.26 + + postcss-custom-properties@14.0.6(postcss@8.5.26): + dependencies: + '@csstools/cascade-layer-name-parser': 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/utilities': 2.0.0(postcss@8.5.26) + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-custom-selectors@8.0.5(postcss@8.5.26): + dependencies: + '@csstools/cascade-layer-name-parser': 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + postcss: 8.5.26 + postcss-selector-parser: 7.1.5 + + postcss-dir-pseudo-class@9.0.1(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-selector-parser: 7.1.5 + + postcss-discard-comments@6.0.2(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + + postcss-discard-duplicates@6.0.3(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + + postcss-discard-empty@6.0.3(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + + postcss-discard-overridden@6.0.2(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + + postcss-discard-unused@6.0.5(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-selector-parser: 6.1.4 + + postcss-double-position-gradients@6.0.4(postcss@8.5.26): + dependencies: + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.26) + '@csstools/utilities': 2.0.0(postcss@8.5.26) + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-focus-visible@10.0.1(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-selector-parser: 7.1.5 + + postcss-focus-within@9.0.1(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-selector-parser: 7.1.5 + + postcss-font-variant@5.0.0(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + + postcss-gap-properties@6.0.0(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + + postcss-image-set-function@7.0.0(postcss@8.5.26): + dependencies: + '@csstools/utilities': 2.0.0(postcss@8.5.26) + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-lab-function@7.0.12(postcss@8.5.26): + dependencies: + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.26) + '@csstools/utilities': 2.0.0(postcss@8.5.26) + postcss: 8.5.26 + + postcss-loader@7.3.4(postcss@8.5.26)(typescript@5.9.3)(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)): + dependencies: + cosmiconfig: 8.3.6(typescript@5.9.3) + jiti: 1.21.7 + postcss: 8.5.26 + semver: 7.8.5 + webpack: 5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26) + transitivePeerDependencies: + - typescript + + postcss-logical@8.1.0(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-merge-idents@6.0.3(postcss@8.5.26): + dependencies: + cssnano-utils: 4.0.2(postcss@8.5.26) + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-merge-longhand@6.0.5(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + stylehacks: 6.1.1(postcss@8.5.26) + + postcss-merge-rules@6.1.1(postcss@8.5.26): + dependencies: + browserslist: 4.28.8 + caniuse-api: 3.0.0 + cssnano-utils: 4.0.2(postcss@8.5.26) + postcss: 8.5.26 + postcss-selector-parser: 6.1.4 + + postcss-minify-font-values@6.1.0(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-minify-gradients@6.0.3(postcss@8.5.26): + dependencies: + colord: 2.9.3 + cssnano-utils: 4.0.2(postcss@8.5.26) + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-minify-params@6.1.0(postcss@8.5.26): + dependencies: + browserslist: 4.28.8 + cssnano-utils: 4.0.2(postcss@8.5.26) + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-minify-selectors@6.0.4(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-selector-parser: 6.1.4 + + postcss-modules-extract-imports@3.1.0(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + + postcss-modules-local-by-default@4.2.0(postcss@8.5.26): + dependencies: + icss-utils: 5.1.0(postcss@8.5.26) + postcss: 8.5.26 + postcss-selector-parser: 7.1.5 + postcss-value-parser: 4.2.0 + + postcss-modules-scope@3.2.1(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-selector-parser: 7.1.5 + + postcss-modules-values@4.0.0(postcss@8.5.26): + dependencies: + icss-utils: 5.1.0(postcss@8.5.26) + postcss: 8.5.26 + + postcss-nesting@13.0.2(postcss@8.5.26): + dependencies: + '@csstools/selector-resolve-nested': 3.1.0(postcss-selector-parser@7.1.5) + '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.5) + postcss: 8.5.26 + postcss-selector-parser: 7.1.5 + + postcss-normalize-charset@6.0.2(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + + postcss-normalize-display-values@6.0.2(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-normalize-positions@6.0.2(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-normalize-repeat-style@6.0.2(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-normalize-string@6.0.2(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-normalize-timing-functions@6.0.2(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-normalize-unicode@6.1.0(postcss@8.5.26): + dependencies: + browserslist: 4.28.8 + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-normalize-url@6.0.2(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-normalize-whitespace@6.0.2(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-opacity-percentage@3.0.0(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + + postcss-ordered-values@6.0.2(postcss@8.5.26): + dependencies: + cssnano-utils: 4.0.2(postcss@8.5.26) + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-overflow-shorthand@6.0.0(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-page-break@3.0.4(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + + postcss-place@10.0.0(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-preset-env@10.6.1(postcss@8.5.26): + dependencies: + '@csstools/postcss-alpha-function': 1.0.1(postcss@8.5.26) + '@csstools/postcss-cascade-layers': 5.0.2(postcss@8.5.26) + '@csstools/postcss-color-function': 4.0.12(postcss@8.5.26) + '@csstools/postcss-color-function-display-p3-linear': 1.0.1(postcss@8.5.26) + '@csstools/postcss-color-mix-function': 3.0.12(postcss@8.5.26) + '@csstools/postcss-color-mix-variadic-function-arguments': 1.0.2(postcss@8.5.26) + '@csstools/postcss-content-alt-text': 2.0.8(postcss@8.5.26) + '@csstools/postcss-contrast-color-function': 2.0.12(postcss@8.5.26) + '@csstools/postcss-exponential-functions': 2.0.9(postcss@8.5.26) + '@csstools/postcss-font-format-keywords': 4.0.0(postcss@8.5.26) + '@csstools/postcss-gamut-mapping': 2.0.11(postcss@8.5.26) + '@csstools/postcss-gradients-interpolation-method': 5.0.12(postcss@8.5.26) + '@csstools/postcss-hwb-function': 4.0.12(postcss@8.5.26) + '@csstools/postcss-ic-unit': 4.0.4(postcss@8.5.26) + '@csstools/postcss-initial': 2.0.1(postcss@8.5.26) + '@csstools/postcss-is-pseudo-class': 5.0.3(postcss@8.5.26) + '@csstools/postcss-light-dark-function': 2.0.11(postcss@8.5.26) + '@csstools/postcss-logical-float-and-clear': 3.0.0(postcss@8.5.26) + '@csstools/postcss-logical-overflow': 2.0.0(postcss@8.5.26) + '@csstools/postcss-logical-overscroll-behavior': 2.0.0(postcss@8.5.26) + '@csstools/postcss-logical-resize': 3.0.0(postcss@8.5.26) + '@csstools/postcss-logical-viewport-units': 3.0.4(postcss@8.5.26) + '@csstools/postcss-media-minmax': 2.0.9(postcss@8.5.26) + '@csstools/postcss-media-queries-aspect-ratio-number-values': 3.0.5(postcss@8.5.26) + '@csstools/postcss-nested-calc': 4.0.0(postcss@8.5.26) + '@csstools/postcss-normalize-display-values': 4.0.1(postcss@8.5.26) + '@csstools/postcss-oklab-function': 4.0.12(postcss@8.5.26) + '@csstools/postcss-position-area-property': 1.0.0(postcss@8.5.26) + '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.26) + '@csstools/postcss-property-rule-prelude-list': 1.0.0(postcss@8.5.26) + '@csstools/postcss-random-function': 2.0.1(postcss@8.5.26) + '@csstools/postcss-relative-color-syntax': 3.0.12(postcss@8.5.26) + '@csstools/postcss-scope-pseudo-class': 4.0.1(postcss@8.5.26) + '@csstools/postcss-sign-functions': 1.1.4(postcss@8.5.26) + '@csstools/postcss-stepped-value-functions': 4.0.9(postcss@8.5.26) + '@csstools/postcss-syntax-descriptor-syntax-production': 1.0.1(postcss@8.5.26) + '@csstools/postcss-system-ui-font-family': 1.0.0(postcss@8.5.26) + '@csstools/postcss-text-decoration-shorthand': 4.0.3(postcss@8.5.26) + '@csstools/postcss-trigonometric-functions': 4.0.9(postcss@8.5.26) + '@csstools/postcss-unset-value': 4.0.0(postcss@8.5.26) + autoprefixer: 10.5.4(postcss@8.5.26) + browserslist: 4.28.8 + css-blank-pseudo: 7.0.1(postcss@8.5.26) + css-has-pseudo: 7.0.3(postcss@8.5.26) + css-prefers-color-scheme: 10.0.0(postcss@8.5.26) + cssdb: 8.9.0 + postcss: 8.5.26 + postcss-attribute-case-insensitive: 7.0.1(postcss@8.5.26) + postcss-clamp: 4.1.0(postcss@8.5.26) + postcss-color-functional-notation: 7.0.12(postcss@8.5.26) + postcss-color-hex-alpha: 10.0.0(postcss@8.5.26) + postcss-color-rebeccapurple: 10.0.0(postcss@8.5.26) + postcss-custom-media: 11.0.6(postcss@8.5.26) + postcss-custom-properties: 14.0.6(postcss@8.5.26) + postcss-custom-selectors: 8.0.5(postcss@8.5.26) + postcss-dir-pseudo-class: 9.0.1(postcss@8.5.26) + postcss-double-position-gradients: 6.0.4(postcss@8.5.26) + postcss-focus-visible: 10.0.1(postcss@8.5.26) + postcss-focus-within: 9.0.1(postcss@8.5.26) + postcss-font-variant: 5.0.0(postcss@8.5.26) + postcss-gap-properties: 6.0.0(postcss@8.5.26) + postcss-image-set-function: 7.0.0(postcss@8.5.26) + postcss-lab-function: 7.0.12(postcss@8.5.26) + postcss-logical: 8.1.0(postcss@8.5.26) + postcss-nesting: 13.0.2(postcss@8.5.26) + postcss-opacity-percentage: 3.0.0(postcss@8.5.26) + postcss-overflow-shorthand: 6.0.0(postcss@8.5.26) + postcss-page-break: 3.0.4(postcss@8.5.26) + postcss-place: 10.0.0(postcss@8.5.26) + postcss-pseudo-class-any-link: 10.0.1(postcss@8.5.26) + postcss-replace-overflow-wrap: 4.0.0(postcss@8.5.26) + postcss-selector-not: 8.0.1(postcss@8.5.26) + + postcss-pseudo-class-any-link@10.0.1(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-selector-parser: 7.1.5 + + postcss-reduce-idents@6.0.3(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-reduce-initial@6.1.0(postcss@8.5.26): + dependencies: + browserslist: 4.28.8 + caniuse-api: 3.0.0 + postcss: 8.5.26 + + postcss-reduce-transforms@6.0.2(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-replace-overflow-wrap@4.0.0(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + + postcss-selector-not@8.0.1(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-selector-parser: 7.1.5 + + postcss-selector-parser@6.1.4: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-selector-parser@7.1.5: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-sort-media-queries@5.2.0(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + sort-css-media-queries: 2.2.0 + + postcss-svgo@6.0.3(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + svgo: 3.3.4 + + postcss-unique-selectors@6.0.4(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-selector-parser: 6.1.4 + + postcss-value-parser@4.2.0: {} + + postcss-zindex@6.0.2(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + + postcss@8.5.26: + dependencies: + nanoid: 3.3.18 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + pretty-error@4.0.0: + dependencies: + lodash: 4.18.1 + renderkid: 3.0.0 + + pretty-time@1.1.0: {} + + prism-react-renderer@2.4.1(react@18.3.1): + dependencies: + '@types/prismjs': 1.26.6 + clsx: 2.1.1 + react: 18.3.1 + + prismjs@1.30.0: {} + + process-nextick-args@2.0.1: {} + + prompts@2.4.2: + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + + prop-types@15.8.1: + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + react-is: 16.13.1 + + property-information@7.2.0: {} + + proto-list@1.2.4: {} + + proxy-addr@2.0.7: + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + + publint@0.3.23: + dependencies: + '@publint/pack': 0.1.6 + package-manager-detector: 1.8.0 + picocolors: 1.1.1 + sade: 1.8.1 + + punycode.js@2.3.1: {} + + punycode@2.3.1: {} + + pupa@3.3.0: + dependencies: + escape-goat: 4.0.0 + + pvtsutils@1.3.6: + dependencies: + tslib: 2.8.1 + + pvutils@1.2.0: {} + + qs@6.15.3: + dependencies: + es-define-property: 1.0.1 + side-channel: 1.1.1 + + quansync@1.0.0: {} + + queue-microtask@1.2.3: {} + + quick-lru@5.1.1: {} + + randombytes@2.1.0: + dependencies: + safe-buffer: 5.2.1 + + range-parser@1.2.0: {} + + range-parser@1.2.1: {} + + range-parser@1.3.0: {} + + raw-body@2.5.3: + dependencies: + bytes: 3.1.2 + http-errors: 2.0.1 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + + raw-loader@4.0.2(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)): + dependencies: + loader-utils: 2.0.4 + schema-utils: 3.3.0 + webpack: 5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26) + + rc@1.2.8: + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + + react-dom@18.3.1(react@18.3.1): + dependencies: + loose-envify: 1.4.0 + react: 18.3.1 + scheduler: 0.23.2 + + react-fast-compare@3.2.2: {} + + react-is@16.13.1: {} + + react-json-view-lite@2.5.0(react@18.3.1): + dependencies: + react: 18.3.1 + + react-loadable-ssr-addon-v5-slorber@1.0.3(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)): + dependencies: + '@babel/runtime': 7.29.7 + react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)' + webpack: 5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26) + + react-router-config@5.1.1(react-router@5.3.4(react@18.3.1))(react@18.3.1): + dependencies: + '@babel/runtime': 7.29.7 + react: 18.3.1 + react-router: 5.3.4(react@18.3.1) + + react-router-dom@5.3.4(react@18.3.1): + dependencies: + '@babel/runtime': 7.29.7 + history: 4.10.1 + loose-envify: 1.4.0 + prop-types: 15.8.1 + react: 18.3.1 + react-router: 5.3.4(react@18.3.1) + tiny-invariant: 1.3.3 + tiny-warning: 1.0.3 + + react-router@5.3.4(react@18.3.1): + dependencies: + '@babel/runtime': 7.29.7 + history: 4.10.1 + hoist-non-react-statics: 3.3.2 + loose-envify: 1.4.0 + path-to-regexp: 1.9.0 + prop-types: 15.8.1 + react: 18.3.1 + react-is: 16.13.1 + tiny-invariant: 1.3.3 + tiny-warning: 1.0.3 + + react@18.3.1: + dependencies: + loose-envify: 1.4.0 + + readable-stream@2.3.8: + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + + readable-stream@3.6.2: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + readdirp@3.6.0: + dependencies: + picomatch: 2.3.2 + + recma-build-jsx@1.0.0: + dependencies: + '@types/estree': 1.0.9 + estree-util-build-jsx: 3.0.1 + vfile: 6.0.3 + + recma-jsx@1.0.1(acorn@8.18.0): + dependencies: + acorn: 8.18.0 + acorn-jsx: 5.3.2(acorn@8.18.0) + estree-util-to-js: 2.0.0 + recma-parse: 1.0.0 + recma-stringify: 1.0.0 + unified: 11.0.5 + + recma-parse@1.0.0: + dependencies: + '@types/estree': 1.0.9 + esast-util-from-js: 2.0.1 + unified: 11.0.5 + vfile: 6.0.3 + + recma-stringify@1.0.0: + dependencies: + '@types/estree': 1.0.9 + estree-util-to-js: 2.0.0 + unified: 11.0.5 + vfile: 6.0.3 + + reflect-metadata@0.2.2: {} + + regenerate-unicode-properties@10.2.2: + dependencies: + regenerate: 1.4.2 + + regenerate@1.4.2: {} + + regexpu-core@6.4.0: + dependencies: + regenerate: 1.4.2 + regenerate-unicode-properties: 10.2.2 + regjsgen: 0.8.0 + regjsparser: 0.13.2 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.2.1 + + registry-auth-token@5.1.1: + dependencies: + '@pnpm/npm-conf': 3.0.3 + + registry-url@6.0.1: + dependencies: + rc: 1.2.8 + + regjsgen@0.8.0: {} + + regjsparser@0.13.2: + dependencies: + jsesc: 3.1.0 + + rehype-raw@7.0.0: + dependencies: + '@types/hast': 3.0.5 + hast-util-raw: 9.1.0 + vfile: 6.0.3 + + rehype-recma@1.0.0(supports-color@8.1.1): + dependencies: + '@types/estree': 1.0.9 + '@types/hast': 3.0.5 + hast-util-to-estree: 3.1.3(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + relateurl@0.2.7: {} + + remark-directive@3.0.1(supports-color@8.1.1): + dependencies: + '@types/mdast': 4.0.4 + mdast-util-directive: 3.1.0(supports-color@8.1.1) + micromark-extension-directive: 3.0.2 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-emoji@4.0.1: + dependencies: + '@types/mdast': 4.0.4 + emoticon: 4.1.0 + mdast-util-find-and-replace: 3.0.2 + node-emoji: 2.2.0 + unified: 11.0.5 + + remark-frontmatter@5.0.0(supports-color@8.1.1): + dependencies: + '@types/mdast': 4.0.4 + mdast-util-frontmatter: 2.0.1(supports-color@8.1.1) + micromark-extension-frontmatter: 2.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-gfm@4.0.1(supports-color@8.1.1): + dependencies: + '@types/mdast': 4.0.4 + mdast-util-gfm: 3.1.0(supports-color@8.1.1) + micromark-extension-gfm: 3.0.0 + remark-parse: 11.0.0(supports-color@8.1.1) + remark-stringify: 11.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-mdx@3.1.1(supports-color@8.1.1): + dependencies: + mdast-util-mdx: 3.0.0(supports-color@8.1.1) + micromark-extension-mdxjs: 3.0.0 + transitivePeerDependencies: + - supports-color + + remark-parse@11.0.0(supports-color@8.1.1): + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.3(supports-color@8.1.1) + micromark-util-types: 2.0.2 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-rehype@11.1.2: + dependencies: + '@types/hast': 3.0.5 + '@types/mdast': 4.0.4 + mdast-util-to-hast: 13.2.1 + unified: 11.0.5 + vfile: 6.0.3 + + remark-stringify@11.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-to-markdown: 2.1.2 + unified: 11.0.5 + + renderkid@3.0.0: + dependencies: + css-select: 4.3.0 + dom-converter: 0.2.0 + htmlparser2: 6.1.0 + lodash: 4.18.1 + strip-ansi: 6.0.1 + + require-directory@2.1.1: {} + + require-from-string@2.0.2: {} + + require-like@0.1.2: {} + + requires-port@1.0.0: {} + + resolve-alpn@1.2.1: {} + + resolve-from@4.0.0: {} + + resolve-pathname@3.0.0: {} + + resolve-pkg-maps@1.0.0: {} + + resolve@1.22.12: + dependencies: + es-errors: 1.3.0 + is-core-module: 2.16.2 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + responselike@3.0.0: + dependencies: + lowercase-keys: 3.0.0 + + retry@0.13.1: {} + + reusify@1.1.0: {} + + rolldown-plugin-dts@0.27.14(rolldown@1.2.3)(typescript@5.9.3): + dependencies: + dts-resolver: 3.0.0 + get-tsconfig: 5.0.0-beta.5 + obug: 2.1.4 + rolldown: 1.2.3 + yuku-ast: 0.8.4 + yuku-codegen: 0.8.4 + yuku-parser: 0.8.4 + optionalDependencies: + typescript: 5.9.3 + transitivePeerDependencies: + - oxc-resolver + + rolldown@1.2.3: + dependencies: + '@oxc-project/types': 0.143.0 + '@rolldown/pluginutils': 1.0.1 + optionalDependencies: + '@rolldown/binding-android-arm64': 1.2.3 + '@rolldown/binding-darwin-arm64': 1.2.3 + '@rolldown/binding-darwin-x64': 1.2.3 + '@rolldown/binding-freebsd-x64': 1.2.3 + '@rolldown/binding-linux-arm-gnueabihf': 1.2.3 + '@rolldown/binding-linux-arm64-gnu': 1.2.3 + '@rolldown/binding-linux-arm64-musl': 1.2.3 + '@rolldown/binding-linux-ppc64-gnu': 1.2.3 + '@rolldown/binding-linux-s390x-gnu': 1.2.3 + '@rolldown/binding-linux-x64-gnu': 1.2.3 + '@rolldown/binding-linux-x64-musl': 1.2.3 + '@rolldown/binding-openharmony-arm64': 1.2.3 + '@rolldown/binding-win32-arm64-msvc': 1.2.3 + '@rolldown/binding-win32-x64-msvc': 1.2.3 + + rtlcss@4.3.0: + dependencies: + escalade: 3.2.0 + picocolors: 1.1.1 + postcss: 8.5.26 + strip-json-comments: 3.1.1 + + run-applescript@7.1.0: {} + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + sade@1.8.1: + dependencies: + mri: 1.2.0 + + safe-buffer@5.1.2: {} + + safe-buffer@5.2.1: {} + + safer-buffer@2.1.2: {} + + sax@1.6.1: {} + + scheduler@0.23.2: + dependencies: + loose-envify: 1.4.0 + + schema-dts@1.1.5: {} + + schema-utils@3.3.0: + dependencies: + '@types/json-schema': 7.0.15 + ajv: 6.15.0 + ajv-keywords: 3.5.2(ajv@6.15.0) + + schema-utils@4.3.3: + dependencies: + '@types/json-schema': 7.0.15 + ajv: 8.20.0 + ajv-formats: 2.1.1(ajv@8.20.0) + ajv-keywords: 5.1.0(ajv@8.20.0) + + search-insights@2.17.3: {} + + section-matter@1.0.0: + dependencies: + extend-shallow: 2.0.1 + kind-of: 6.0.3 + + select-hose@2.0.0: {} + + selfsigned@5.5.0: + dependencies: + '@peculiar/x509': 1.14.3 + pkijs: 3.4.0 + + semver-diff@4.0.0: + dependencies: + semver: 7.8.5 + + semver@6.3.1: {} + + semver@7.8.5: {} + + send@0.19.2(supports-color@8.1.1): + dependencies: + debug: 2.6.9(supports-color@8.1.1) + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.1 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.2 + transitivePeerDependencies: + - supports-color + + serialize-javascript@6.0.2: + dependencies: + randombytes: 2.1.0 + + serve-handler@6.1.7: + dependencies: + bytes: 3.0.0 + content-disposition: 0.5.2 + mime-types: 2.1.18 + minimatch: 3.1.5 + path-is-inside: 1.0.2 + path-to-regexp: 3.3.0 + range-parser: 1.2.0 + + serve-index@1.9.2(supports-color@8.1.1): + dependencies: + accepts: 1.3.8 + batch: 0.6.1 + debug: 2.6.9(supports-color@8.1.1) + escape-html: 1.0.3 + http-errors: 1.8.1 + mime-types: 2.1.35 + parseurl: 1.3.3 + transitivePeerDependencies: + - supports-color + + serve-static@1.16.3(supports-color@8.1.1): + dependencies: + encodeurl: 2.0.0 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.19.2(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.3.0 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + + setprototypeof@1.2.0: {} + + shallow-clone@3.0.1: + dependencies: + kind-of: 6.0.3 + + shallowequal@1.1.0: {} + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + shell-quote@1.10.0: {} + + side-channel-list@1.0.1: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + + side-channel-map@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + + side-channel-weakmap@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + side-channel-map: 1.0.1 + + side-channel@1.1.1: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + side-channel-list: 1.0.1 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 + + siginfo@2.0.0: {} + + signal-exit@3.0.7: {} + + sirv@2.0.4: + dependencies: + '@polka/url': 1.0.0-next.29 + mrmime: 2.0.1 + totalist: 3.0.1 + + sisteransi@1.0.5: {} + + sitemap@7.1.3: + dependencies: + '@types/node': 17.0.45 + '@types/sax': 1.2.7 + arg: 5.0.2 + sax: 1.6.1 + + skin-tone@2.0.0: + dependencies: + unicode-emoji-modifier-base: 1.0.0 + + slash@3.0.0: {} + + slash@4.0.0: {} + + snake-case@3.0.4: + dependencies: + dot-case: 3.0.4 + tslib: 2.8.1 + + sockjs@0.3.24: + dependencies: + faye-websocket: 0.11.4 + uuid: 8.3.2 + websocket-driver: 0.7.5 + + sort-css-media-queries@2.2.0: {} + + source-map-js@1.2.1: {} + + source-map-support@0.5.21: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map@0.6.1: {} + + source-map@0.7.6: {} + + space-separated-tokens@2.0.2: {} + + spdy-transport@3.0.0(supports-color@8.1.1): + dependencies: + debug: 4.4.3(supports-color@8.1.1) + detect-node: 2.1.0 + hpack.js: 2.1.6 + obuf: 1.1.2 + readable-stream: 3.6.2 + wbuf: 1.7.3 + transitivePeerDependencies: + - supports-color + + spdy@4.0.2(supports-color@8.1.1): + dependencies: + debug: 4.4.3(supports-color@8.1.1) + handle-thing: 2.0.1 + http-deceiver: 1.2.7 + select-hose: 2.0.0 + spdy-transport: 3.0.0(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + srcset@4.0.0: {} + + stackback@0.0.2: {} + + statuses@1.5.0: {} + + statuses@2.0.2: {} + + std-env@3.10.0: {} + + std-env@4.2.0: {} + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.2.0 + + string_decoder@1.1.1: + dependencies: + safe-buffer: 5.1.2 + + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 + + stringify-entities@4.0.4: + dependencies: + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 + + stringify-object@3.3.0: + dependencies: + get-own-enumerable-property-symbols: 3.0.2 + is-obj: 1.0.1 + is-regexp: 1.0.0 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.2.0: + dependencies: + ansi-regex: 6.2.2 + + strip-bom-string@1.0.0: {} + + strip-final-newline@2.0.0: {} + + strip-json-comments@2.0.1: {} + + strip-json-comments@3.1.1: {} + + style-to-js@1.1.21: + dependencies: + style-to-object: 1.0.14 + + style-to-object@1.0.14: + dependencies: + inline-style-parser: 0.2.7 + + stylehacks@6.1.1(postcss@8.5.26): + dependencies: + browserslist: 4.28.8 + postcss: 8.5.26 + postcss-selector-parser: 6.1.4 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + + supports-hyperlinks@3.2.0: + dependencies: + has-flag: 4.0.0 + supports-color: 7.2.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + svg-parser@2.0.4: {} + + svgo@3.3.4: + dependencies: + commander: 7.2.0 + css-select: 5.2.2 + css-tree: 2.3.1 + css-what: 6.2.2 + csso: 5.0.5 + picocolors: 1.1.1 + sax: 1.6.1 + + tapable@2.3.3: {} + + terser-webpack-plugin@5.6.1(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)): + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + jest-worker: 27.5.1 + schema-utils: 4.3.3 + terser: 5.49.2 + webpack: 5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26) + optionalDependencies: + clean-css: 5.3.3 + cssnano: 6.1.2(postcss@8.5.26) + csso: 5.0.5 + html-minifier-terser: 7.2.0 + lightningcss: 1.33.0 + postcss: 8.5.26 + + terser@5.49.2: + dependencies: + '@jridgewell/source-map': 0.3.11 + acorn: 8.18.0 + commander: 2.20.3 + source-map-support: 0.5.21 + + thenify-all@1.6.0: + dependencies: + thenify: 3.3.1 + + thenify@3.3.1: + dependencies: + any-promise: 1.3.0 + + thingies@2.6.1(tslib@2.8.1): + dependencies: + tslib: 2.8.1 + + thunky@1.1.0: {} + + tiny-invariant@1.3.3: {} + + tiny-warning@1.0.3: {} + + tinybench@2.9.0: {} + + tinyexec@1.3.0: {} + + tinyglobby@0.2.17: + dependencies: + fdir: 6.5.0(picomatch@4.0.5) + picomatch: 4.0.5 + + tinypool@1.1.1: {} + + tinyrainbow@3.1.1: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + toidentifier@1.0.1: {} + + totalist@3.0.1: {} + + tree-dump@1.1.0(tslib@2.8.1): + dependencies: + tslib: 2.8.1 + + tree-kill@1.2.2: {} + + trim-lines@3.0.1: {} + + trough@2.2.0: {} + + tsdown@0.22.14(@arethetypeswrong/core@0.18.5)(publint@0.3.23)(typescript@5.9.3): + dependencies: + ansis: 4.3.1 + cac: 7.0.0 + defu: 6.1.7 + empathic: 2.0.1 + hookable: 6.1.1 + import-without-cache: 0.4.0 + obug: 2.1.4 + picomatch: 4.0.5 + rolldown: 1.2.3 + rolldown-plugin-dts: 0.27.14(rolldown@1.2.3)(typescript@5.9.3) + tinyexec: 1.3.0 + tinyglobby: 0.2.17 + tree-kill: 1.2.2 + unconfig-core: 7.5.0 + verkit: 0.3.2 + optionalDependencies: + '@arethetypeswrong/core': 0.18.5 + publint: 0.3.23 + typescript: 5.9.3 + transitivePeerDependencies: + - '@typescript/native-preview' + - '@volar/typescript' + - oxc-resolver + - vue-tsc + + tslib@1.14.1: {} + + tslib@2.8.1: {} + + tsyringe@4.10.0: + dependencies: + tslib: 1.14.1 + + type-fest@1.4.0: {} + + type-fest@2.19.0: {} + + type-is@1.6.18: + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + + typedarray-to-buffer@3.1.5: + dependencies: + is-typedarray: 1.0.0 + + typedoc-docusaurus-theme@1.4.2(typedoc-plugin-markdown@4.12.0(typedoc@0.28.20(typescript@5.9.3))): + dependencies: + typedoc-plugin-markdown: 4.12.0(typedoc@0.28.20(typescript@5.9.3)) + + typedoc-plugin-markdown@4.12.0(typedoc@0.28.20(typescript@5.9.3)): + dependencies: + typedoc: 0.28.20(typescript@5.9.3) + + typedoc@0.28.20(typescript@5.9.3): + dependencies: + '@gerrit0/mini-shiki': 3.23.0 + lunr: 2.3.9 + markdown-it: 14.3.0 + minimatch: 10.2.6 + typescript: 5.9.3 + yaml: 2.9.0 + + typescript@5.6.1-rc: {} + + typescript@5.9.3: {} + + uc.micro@2.1.0: {} + + unconfig-core@7.5.0: + dependencies: + '@quansync/fs': 1.0.0 + quansync: 1.0.0 + + undici-types@8.3.0: {} + + undici@7.29.0: {} + + unicode-canonical-property-names-ecmascript@2.0.1: {} + + unicode-emoji-modifier-base@1.0.0: {} + + unicode-match-property-ecmascript@2.0.0: + dependencies: + unicode-canonical-property-names-ecmascript: 2.0.1 + unicode-property-aliases-ecmascript: 2.2.0 + + unicode-match-property-value-ecmascript@2.2.1: {} + + unicode-property-aliases-ecmascript@2.2.0: {} + + unified@11.0.5: + dependencies: + '@types/unist': 3.0.3 + bail: 2.0.2 + devlop: 1.1.0 + extend: 3.0.2 + is-plain-obj: 4.1.0 + trough: 2.2.0 + vfile: 6.0.3 + + unique-string@3.0.0: + dependencies: + crypto-random-string: 4.0.0 + + unist-util-is@6.0.1: + dependencies: + '@types/unist': 3.0.3 + + unist-util-position-from-estree@2.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-position@5.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-stringify-position@4.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-visit-parents@6.0.2: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.1 + + unist-util-visit@5.1.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.1 + unist-util-visit-parents: 6.0.2 + + universalify@2.0.1: {} + + unpipe@1.0.0: {} + + update-browserslist-db@1.3.1(browserslist@4.28.8): + dependencies: + browserslist: 4.28.8 + escalade: 3.2.0 + picocolors: 1.1.1 + + update-notifier@6.0.2: + dependencies: + boxen: 7.1.1 + chalk: 5.6.2 + configstore: 6.0.0 + has-yarn: 3.0.0 + import-lazy: 4.0.0 + is-ci: 3.0.1 + is-installed-globally: 0.4.0 + is-npm: 6.1.0 + is-yarn-global: 0.4.1 + latest-version: 7.0.0 + pupa: 3.3.0 + semver: 7.8.5 + semver-diff: 4.0.0 + xdg-basedir: 5.1.0 + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + url-loader@4.1.1(file-loader@6.2.0(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)))(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)): + dependencies: + loader-utils: 2.0.4 + mime-types: 2.1.35 + schema-utils: 3.3.0 + webpack: 5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26) + optionalDependencies: + file-loader: 6.2.0(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)) + + util-deprecate@1.0.2: {} + + utila@0.4.0: {} + + utility-types@3.11.0: {} + + utils-merge@1.0.1: {} + + uuid@8.3.2: {} + + validate-npm-package-name@5.0.1: {} + + value-equal@1.0.1: {} + + vary@1.1.2: {} + + verkit@0.3.2: {} + + vfile-location@5.0.3: + dependencies: + '@types/unist': 3.0.3 + vfile: 6.0.3 + + vfile-message@4.0.3: + dependencies: + '@types/unist': 3.0.3 + unist-util-stringify-position: 4.0.0 + + vfile@6.0.3: + dependencies: + '@types/unist': 3.0.3 + vfile-message: 4.0.3 + + vite@8.2.1(@types/node@26.2.0)(jiti@1.21.7)(terser@5.49.2)(yaml@2.9.0): + dependencies: + lightningcss: 1.33.0 + picomatch: 4.0.5 + postcss: 8.5.26 + rolldown: 1.2.3 + tinyglobby: 0.2.17 + optionalDependencies: + '@types/node': 26.2.0 + fsevents: 2.3.3 + jiti: 1.21.7 + terser: 5.49.2 + yaml: 2.9.0 + + vitest@4.1.10(@types/node@26.2.0)(@vitest/coverage-v8@4.1.10)(vite@8.2.1(@types/node@26.2.0)(jiti@1.21.7)(terser@5.49.2)(yaml@2.9.0)): + dependencies: + '@vitest/expect': 4.1.10 + '@vitest/mocker': 4.1.10(vite@8.2.1(@types/node@26.2.0)(jiti@1.21.7)(terser@5.49.2)(yaml@2.9.0)) + '@vitest/pretty-format': 4.1.10 + '@vitest/runner': 4.1.10 + '@vitest/snapshot': 4.1.10 + '@vitest/spy': 4.1.10 + '@vitest/utils': 4.1.10 + es-module-lexer: 2.3.1 + expect-type: 1.4.0 + magic-string: 0.30.21 + obug: 2.1.4 + pathe: 2.0.3 + picomatch: 4.0.5 + std-env: 4.2.0 + tinybench: 2.9.0 + tinyexec: 1.3.0 + tinyglobby: 0.2.17 + tinyrainbow: 3.1.1 + vite: 8.2.1(@types/node@26.2.0)(jiti@1.21.7)(terser@5.49.2)(yaml@2.9.0) + why-is-node-running: 2.3.0 + optionalDependencies: + '@types/node': 26.2.0 + '@vitest/coverage-v8': 4.1.10(vitest@4.1.10) + transitivePeerDependencies: + - msw + + watchpack@2.5.2: + dependencies: + graceful-fs: 4.2.11 + + wbuf@1.7.3: + dependencies: + minimalistic-assert: 1.0.1 + + web-namespaces@2.0.1: {} + + webpack-bundle-analyzer@4.10.2: + dependencies: + '@discoveryjs/json-ext': 0.5.7 + acorn: 8.18.0 + acorn-walk: 8.3.5 + commander: 7.2.0 + debounce: 1.2.1 + escape-string-regexp: 4.0.0 + gzip-size: 6.0.0 + html-escaper: 2.0.2 + opener: 1.5.2 + picocolors: 1.1.1 + sirv: 2.0.4 + ws: 7.5.13 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + webpack-dev-middleware@7.4.5(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)): + dependencies: + colorette: 2.0.20 + memfs: 4.68.1 + mime-types: 3.0.2 + on-finished: 2.4.1 + range-parser: 1.3.0 + schema-utils: 4.3.3 + optionalDependencies: + webpack: 5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26) + + webpack-dev-server@5.2.6(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1)(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)): + dependencies: + '@types/bonjour': 3.5.13 + '@types/connect-history-api-fallback': 1.5.4 + '@types/express': 4.17.25 + '@types/express-serve-static-core': 4.19.9 + '@types/serve-index': 1.9.4 + '@types/serve-static': 1.15.10 + '@types/sockjs': 0.3.36 + '@types/ws': 8.18.1 + ansi-html-community: 0.0.8 + bonjour-service: 1.4.4 + chokidar: 3.6.0 + colorette: 2.0.20 + compression: 1.8.1(supports-color@8.1.1) + connect-history-api-fallback: 2.0.0 + express: 4.22.2(supports-color@8.1.1) + graceful-fs: 4.2.11 + http-proxy-middleware: 2.0.10(@types/express@4.17.25)(debug@4.4.3(supports-color@8.1.1)) + ipaddr.js: 2.5.0 + launch-editor: 2.14.1 + open: 10.2.0 + p-retry: 6.2.1 + schema-utils: 4.3.3 + selfsigned: 5.5.0 + serve-index: 1.9.2(supports-color@8.1.1) + sockjs: 0.3.24 + spdy: 4.0.2(supports-color@8.1.1) + webpack-dev-middleware: 7.4.5(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)) + ws: 8.21.3 + optionalDependencies: + webpack: 5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26) + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate + + webpack-merge@5.10.0: + dependencies: + clone-deep: 4.0.1 + flat: 5.0.2 + wildcard: 2.0.1 + + webpack-merge@6.0.1: + dependencies: + clone-deep: 4.0.1 + flat: 5.0.2 + wildcard: 2.0.1 + + webpack-sources@3.5.1: {} + + webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26): + dependencies: + '@types/estree': 1.0.9 + '@types/json-schema': 7.0.15 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/wasm-edit': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + acorn: 8.18.0 + browserslist: 4.28.8 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.24.5 + es-module-lexer: 2.3.1 + eslint-scope: 5.1.1 + events: 3.3.0 + graceful-fs: 4.2.11 + mime-db: 1.54.0 + minimizer-webpack-plugin: 5.6.1(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)) + neo-async: 2.6.2 + schema-utils: 4.3.3 + tapable: 2.3.3 + watchpack: 2.5.2 + webpack-sources: 3.5.1 + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - uglify-js + + webpackbar@7.0.0(webpack@5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)): + dependencies: + ansis: 3.17.0 + consola: 3.4.2 + pretty-time: 1.1.0 + std-env: 3.10.0 + optionalDependencies: + webpack: 5.109.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26) + + websocket-driver@0.7.5: + dependencies: + http-parser-js: 0.5.10 + safe-buffer: 5.2.1 + websocket-extensions: 0.1.4 + + websocket-extensions@0.1.4: {} + + whatwg-encoding@3.1.1: + dependencies: + iconv-lite: 0.6.3 + + whatwg-mimetype@4.0.0: {} + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + why-is-node-running@2.3.0: + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + + widest-line@4.0.1: + dependencies: + string-width: 5.1.2 + + wildcard@2.0.1: {} + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.3 + string-width: 5.1.2 + strip-ansi: 7.2.0 + + write-file-atomic@3.0.3: + dependencies: + imurmurhash: 0.1.4 + is-typedarray: 1.0.0 + signal-exit: 3.0.7 + typedarray-to-buffer: 3.1.5 + + ws@7.5.13: {} + + ws@8.21.3: {} + + wsl-utils@0.1.0: + dependencies: + is-wsl: 3.1.1 + + xdg-basedir@5.1.0: {} + + xml-js@1.6.11: + dependencies: + sax: 1.6.1 + + y18n@5.0.8: {} + + yallist@3.1.1: {} + + yaml@2.9.0: {} + + yargs-parser@20.2.9: {} + + yargs@16.2.2: + dependencies: + cliui: 7.0.4 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 20.2.9 + + yocto-queue@1.2.2: {} + + yuku-ast@0.8.4: + dependencies: + '@yuku-toolchain/types': 0.8.4 + + yuku-codegen@0.8.4: + dependencies: + '@yuku-toolchain/types': 0.8.4 + optionalDependencies: + '@yuku-codegen/binding-android-arm64': 0.8.4 + '@yuku-codegen/binding-darwin-arm64': 0.8.4 + '@yuku-codegen/binding-darwin-x64': 0.8.4 + '@yuku-codegen/binding-freebsd-x64': 0.8.4 + '@yuku-codegen/binding-linux-arm-gnu': 0.8.4 + '@yuku-codegen/binding-linux-arm-musl': 0.8.4 + '@yuku-codegen/binding-linux-arm64-gnu': 0.8.4 + '@yuku-codegen/binding-linux-arm64-musl': 0.8.4 + '@yuku-codegen/binding-linux-x64-gnu': 0.8.4 + '@yuku-codegen/binding-linux-x64-musl': 0.8.4 + '@yuku-codegen/binding-win32-arm64': 0.8.4 + '@yuku-codegen/binding-win32-x64': 0.8.4 + + yuku-parser@0.8.4: + dependencies: + '@yuku-toolchain/types': 0.8.4 + yuku-ast: 0.8.4 + optionalDependencies: + '@yuku-parser/binding-android-arm64': 0.8.4 + '@yuku-parser/binding-darwin-arm64': 0.8.4 + '@yuku-parser/binding-darwin-x64': 0.8.4 + '@yuku-parser/binding-freebsd-x64': 0.8.4 + '@yuku-parser/binding-linux-arm-gnu': 0.8.4 + '@yuku-parser/binding-linux-arm-musl': 0.8.4 + '@yuku-parser/binding-linux-arm64-gnu': 0.8.4 + '@yuku-parser/binding-linux-arm64-musl': 0.8.4 + '@yuku-parser/binding-linux-x64-gnu': 0.8.4 + '@yuku-parser/binding-linux-x64-musl': 0.8.4 + '@yuku-parser/binding-win32-arm64': 0.8.4 + '@yuku-parser/binding-win32-x64': 0.8.4 + + zwitch@2.0.4: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 00000000..b49ce9f6 --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,8 @@ +packages: + - typescript + +allowBuilds: + core-js: true + +# Installs are explicit and frozen in CI; package scripts must not rewrite the workspace. +verifyDepsBeforeRun: false diff --git a/typescript/LICENSE b/typescript/LICENSE new file mode 100644 index 00000000..94d4c137 --- /dev/null +++ b/typescript/LICENSE @@ -0,0 +1,7 @@ +Copyright 2019 Nicholas Lambourne + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/typescript/LICENSE.BSD-3-Clause b/typescript/LICENSE.BSD-3-Clause new file mode 100644 index 00000000..f292c0a2 --- /dev/null +++ b/typescript/LICENSE.BSD-3-Clause @@ -0,0 +1,29 @@ +BSD 3-Clause License + +Copyright (c) 2019, Nicholas Lambourne +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/typescript/README.md b/typescript/README.md new file mode 100644 index 00000000..db886ece --- /dev/null +++ b/typescript/README.md @@ -0,0 +1,24 @@ +# slackblocks for TypeScript + +Typed Block Kit construction with eager, path-aware validation and conformance with slackblocks spec 1.0.0. + +```ts +import { button, divider, message, mrkdwn, section } from "slackblocks"; + +const payload = message({ + channel: "C0123456", + blocks: [ + section({ + text: mrkdwn("*Deploy complete* :rocket:"), + accessory: button({ + text: "View logs", + actionId: "logs", + url: "https://example.com/logs", + }), + }), + divider(), + ], +}); +``` + +Factory inputs use idiomatic camelCase and return plain Slack-shaped objects with snake_case keys. Factories validate eagerly; pass `{ validate: false }` as the final argument for Slack features that have moved ahead of this package's limits registry. diff --git a/typescript/conformance/skiplist.txt b/typescript/conformance/skiplist.txt new file mode 100644 index 00000000..cd53b58f --- /dev/null +++ b/typescript/conformance/skiplist.txt @@ -0,0 +1,2 @@ +# One fixture or invalid-case ID per line, followed by a reason. +# TypeScript conforms to every case in spec 1.0.0, so this list is intentionally empty. diff --git a/typescript/package.json b/typescript/package.json new file mode 100644 index 00000000..29f440d5 --- /dev/null +++ b/typescript/package.json @@ -0,0 +1,58 @@ +{ + "name": "slackblocks", + "version": "0.1.0", + "description": "Typed Block Kit construction with eager, path-aware validation", + "type": "module", + "sideEffects": false, + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/nicklambourne/slackblocks.git", + "directory": "typescript" + }, + "publishConfig": { + "access": "public" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "exports": { + ".": { + "types": "./dist/index.d.mts", + "import": "./dist/index.mjs", + "default": "./dist/index.mjs" + } + }, + "main": "./dist/index.mjs", + "types": "./dist/index.d.mts", + "files": [ + "dist", + "README.md" + ], + "scripts": { + "build": "tsdown", + "typecheck": "tsc --noEmit", + "test": "vitest run", + "check:package": "pnpm build && publint && attw --pack --profile esm-only ." + }, + "keywords": [ + "slack", + "block-kit", + "typescript", + "validation" + ], + "slackblocksSpecVersion": "1.0.0", + "dependencies": { + "@slack/types": "^3.0.0" + }, + "devDependencies": { + "@arethetypeswrong/cli": "^0.18.5", + "@types/node": "^26.2.0", + "@vitest/coverage-v8": "^4.1.10", + "publint": "^0.3.23", + "tsdown": "^0.22.14", + "typedoc": "^0.28.20", + "typescript": "^5.9.3", + "vitest": "^4.1.10" + } +} diff --git a/typescript/src/blocks.ts b/typescript/src/blocks.ts new file mode 100644 index 00000000..c9f3005f --- /dev/null +++ b/typescript/src/blocks.ts @@ -0,0 +1,165 @@ +import type { + ActionsBlock, + ContextBlock, + DividerBlock, + FileBlock, + HeaderBlock, + ImageBlock, + InputBlock, + MarkdownBlock, + RichTextBlock, + SectionBlock, + TableBlock, + VideoBlock, +} from "@slack/types"; + +import { create } from "./internal.js"; +import { asText, type TextLike } from "./objects.js"; +import type { FactorySettings, JsonObject, SlackWire } from "./types.js"; + +export interface SectionInput { + text?: TextLike; + blockId?: string; + fields?: TextLike[]; + accessory?: JsonObject; +} + +export function section( + input: SectionInput, + settings: FactorySettings = {}, +): SlackWire { + return create( + "section", + { + ...input, + text: input.text === undefined ? undefined : asText(input.text, "mrkdwn", settings), + fields: input.fields?.map((field) => asText(field, "mrkdwn", settings)), + }, + settings, + ) as SlackWire; +} + +export function actions( + input: { elements: JsonObject[]; blockId?: string }, + settings: FactorySettings = {}, +): SlackWire { + return create("actions", input, settings) as SlackWire; +} + +export function context( + input: { elements: JsonObject[]; blockId?: string }, + settings: FactorySettings = {}, +): SlackWire { + return create("context", input, settings) as SlackWire; +} + +export function divider( + input: { blockId?: string } = {}, + settings: FactorySettings = {}, +): SlackWire { + return create("divider", input, settings) as SlackWire; +} + +export function fileBlock( + input: { externalId: string; source?: "remote"; blockId?: string }, + settings: FactorySettings = {}, +): SlackWire { + return create("file", { source: "remote", ...input }, settings) as SlackWire; +} + +export function header( + input: { text: TextLike; blockId?: string }, + settings: FactorySettings = {}, +): SlackWire { + return create( + "header", + { ...input, text: asText(input.text, "plain_text", settings) }, + settings, + ) as SlackWire; +} + +export function imageBlock( + input: { imageUrl: string; altText?: string; title?: TextLike; blockId?: string }, + settings: FactorySettings = {}, +): SlackWire { + return create( + "image", + { + ...input, + title: input.title === undefined ? undefined : asText(input.title, "plain_text", settings), + }, + settings, + ) as SlackWire; +} + +export function input( + value: { + label: TextLike; + element: JsonObject; + dispatchAction?: boolean; + blockId?: string; + hint?: TextLike; + optional?: boolean; + }, + settings: FactorySettings = {}, +): SlackWire { + return create( + "input", + { + ...value, + label: asText(value.label, "plain_text", settings), + hint: value.hint === undefined ? undefined : asText(value.hint, "plain_text", settings), + }, + settings, + ) as SlackWire; +} + +export function markdownBlock( + input: { text: string; blockId?: string }, + settings: FactorySettings = {}, +): SlackWire { + return create("markdown", input, settings) as SlackWire; +} + +export function richTextBlock( + input: { elements: JsonObject[]; blockId?: string }, + settings: FactorySettings = {}, +): SlackWire { + return create("rich_text", input, settings) as SlackWire; +} + +export function table( + input: { rows: JsonObject[][]; columnSettings?: JsonObject[]; blockId?: string }, + settings: FactorySettings = {}, +): SlackWire { + return create("table", input, settings) as SlackWire; +} + +export function video( + input: { + altText: string; + thumbnailUrl: string; + title: TextLike; + videoUrl: string; + blockId?: string; + authorName?: string; + description?: TextLike; + providerIconUrl?: string; + providerName?: string; + titleUrl?: string; + }, + settings: FactorySettings = {}, +): SlackWire { + return create( + "video", + { + ...input, + title: asText(input.title, "plain_text", settings), + description: + input.description === undefined + ? undefined + : asText(input.description, "plain_text", settings), + }, + settings, + ) as SlackWire; +} diff --git a/typescript/src/builder.ts b/typescript/src/builder.ts new file mode 100644 index 00000000..1e83b0f6 --- /dev/null +++ b/typescript/src/builder.ts @@ -0,0 +1,12 @@ +import type { JsonObject } from "./types.js"; + +const BUILDER_URL = "https://app.slack.com/block-kit-builder/"; + +export function blockKitBuilderUrl( + payload: JsonObject | JsonObject[], + teamId?: string, +): string { + const body = Array.isArray(payload) ? { blocks: payload } : payload; + const prefix = teamId === undefined ? BUILDER_URL : `${BUILDER_URL}${teamId}`; + return `${prefix}#${encodeURIComponent(JSON.stringify(body))}`; +} diff --git a/typescript/src/elements.ts b/typescript/src/elements.ts new file mode 100644 index 00000000..7ffee149 --- /dev/null +++ b/typescript/src/elements.ts @@ -0,0 +1,186 @@ +import { RangeError } from "./errors.js"; +import { create, createObject } from "./internal.js"; +import { asText, type TextLike } from "./objects.js"; +import type { FactorySettings, JsonObject, SlackObject } from "./types.js"; + +export type ElementInput = Record; + +export interface ActionInput extends ElementInput { + actionId: string; +} + +function withPlaceholder(input: ElementInput, settings: FactorySettings): ElementInput { + if (typeof input.placeholder !== "string") return input; + return { ...input, placeholder: asText(input.placeholder, "plain_text", settings) }; +} + +function element( + type: Type, + input: ElementInput, + settings: FactorySettings, +): SlackObject { + return create(type, withPlaceholder(input, settings), settings); +} + +export interface ButtonInput extends ElementInput { + text: TextLike; + actionId: string; + url?: string; + value?: string; + style?: "primary" | "danger"; + confirm?: JsonObject; + accessibilityLabel?: string; +} + +export interface WorkflowButtonInput extends ElementInput { + text: TextLike; + workflow: JsonObject; + actionId?: string; + confirm?: JsonObject; + accessibilityLabel?: string; +} + +export function button( + input: ButtonInput, + settings: FactorySettings = {}, +): SlackObject<"button"> { + return element( + "button", + { ...input, text: asText(input.text, "plain_text", settings) }, + settings, + ); +} + +export function checkboxes( + input: ActionInput & { options: JsonObject[] }, + settings: FactorySettings = {}, +): SlackObject<"checkboxes"> { + return element("checkboxes", input, settings); +} + +export function datePicker( + input: ActionInput, + settings: FactorySettings = {}, +): SlackObject<"datepicker"> { + return element("datepicker", input, settings); +} + +export function dateTimePicker( + input: ActionInput, + settings: FactorySettings = {}, +): SlackObject<"datetimepicker"> { + return element("datetimepicker", input, settings); +} + +export function emailInput( + input: ActionInput, + settings: FactorySettings = {}, +): SlackObject<"email_text_input"> { + return element("email_text_input", input, settings); +} + +export function fileInput( + input: { actionId: string; filetypes?: string[]; maxFiles?: number }, + settings: FactorySettings = {}, +): JsonObject { + if (input.maxFiles !== undefined && (input.maxFiles < 1 || input.maxFiles > 10)) { + throw new RangeError("fileInput.maxFiles", "expected a value between 1 and 10"); + } + // Python 2.0 fixtures preserve this historical no-type wire shape. + return createObject(input, settings); +} + +export function imageElement( + input: { altText: string } & ( + | { imageUrl: string; slackFile?: never } + | { imageUrl?: never; slackFile: JsonObject } + ), + settings: FactorySettings = {}, +): SlackObject<"image"> { + return element("image", input, settings); +} + +export function channelMultiSelect(input: ActionInput, settings: FactorySettings = {}) { + return element("multi_channels_select", input, settings); +} + +export function conversationMultiSelect(input: ActionInput, settings: FactorySettings = {}) { + return element("multi_conversations_select", input, settings); +} + +export function externalMultiSelect(input: ActionInput, settings: FactorySettings = {}) { + return element("multi_external_select", input, settings); +} + +export function staticMultiSelect(input: ActionInput, settings: FactorySettings = {}) { + return element("multi_static_select", input, settings); +} + +export function userMultiSelect(input: ActionInput, settings: FactorySettings = {}) { + return element("multi_users_select", input, settings); +} + +export function numberInput(input: ActionInput, settings: FactorySettings = {}) { + return element("number_input", input, settings); +} + +export function overflow( + input: ActionInput & { options: JsonObject[] }, + settings: FactorySettings = {}, +) { + return element("overflow", input, settings); +} + +export function plainTextInput(input: ActionInput, settings: FactorySettings = {}) { + return element("plain_text_input", input, settings); +} + +export function radioButtons( + input: ActionInput & { options: JsonObject[] }, + settings: FactorySettings = {}, +) { + return element("radio_buttons", input, settings); +} + +export function channelSelect(input: ActionInput, settings: FactorySettings = {}) { + return element("channels_select", input, settings); +} + +export function conversationSelect(input: ActionInput, settings: FactorySettings = {}) { + return element("conversations_select", input, settings); +} + +export function externalSelect(input: ActionInput, settings: FactorySettings = {}) { + return element("external_select", input, settings); +} + +export function staticSelect(input: ActionInput, settings: FactorySettings = {}) { + return element("static_select", input, settings); +} + +export function userSelect(input: ActionInput, settings: FactorySettings = {}) { + return element("users_select", input, settings); +} + +export function timePicker(input: ActionInput, settings: FactorySettings = {}) { + return element("timepicker", input, settings); +} + +export function urlInput(input: ActionInput, settings: FactorySettings = {}) { + return element("url_text_input", input, settings); +} + +export function workflowButton( + input: WorkflowButtonInput, + settings: FactorySettings = {}, +) { + return element( + "workflow_button", + { ...input, text: asText(input.text, "plain_text", settings) }, + settings, + ); +} + +export function richTextInput(input: ActionInput, settings: FactorySettings = {}) { + return element("rich_text_input", input, settings); +} diff --git a/typescript/src/errors.ts b/typescript/src/errors.ts new file mode 100644 index 00000000..072fb96d --- /dev/null +++ b/typescript/src/errors.ts @@ -0,0 +1,38 @@ +export type ErrorCategory = + | "length-exceeded" + | "out-of-range" + | "mutually-exclusive" + | "type-mismatch" + | "missing-required" + | "invalid-usage"; + +export class InvalidUsageError extends Error { + readonly category: ErrorCategory = "invalid-usage"; + readonly path: string; + + constructor(path: string, message: string) { + super(path ? `${path}: ${message}` : message); + this.name = new.target.name; + this.path = path; + } +} + +export class LengthError extends InvalidUsageError { + override readonly category = "length-exceeded" as const; +} + +export class RangeError extends InvalidUsageError { + override readonly category = "out-of-range" as const; +} + +export class MutualExclusivityError extends InvalidUsageError { + override readonly category = "mutually-exclusive" as const; +} + +export class TypeMismatchError extends InvalidUsageError { + override readonly category = "type-mismatch" as const; +} + +export class MissingRequiredError extends InvalidUsageError { + override readonly category = "missing-required" as const; +} diff --git a/typescript/src/index.ts b/typescript/src/index.ts new file mode 100644 index 00000000..51a4714b --- /dev/null +++ b/typescript/src/index.ts @@ -0,0 +1,12 @@ +export * from "./blocks.js"; +export * from "./builder.js"; +export * from "./elements.js"; +export * from "./errors.js"; +export * from "./messages.js"; +export * from "./objects.js"; +export * from "./rich-text.js"; +export * from "./types.js"; +export * from "./validation.js"; +export * from "./views.js"; + +export const specVersion = "1.0.0"; diff --git a/typescript/src/internal.ts b/typescript/src/internal.ts new file mode 100644 index 00000000..741dca7c --- /dev/null +++ b/typescript/src/internal.ts @@ -0,0 +1,65 @@ +import type { + FactorySettings, + JsonObject, + JsonValue, + SlackObject, +} from "./types.js"; +import { assertValid } from "./validation.js"; + +function snakeCase(key: string): string { + return key.replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`); +} + +export function toWire(value: unknown): JsonValue { + if (value === null || typeof value === "string" || typeof value === "boolean") { + return value; + } + if (typeof value === "number") { + return value; + } + if (Array.isArray(value)) { + return value.map(toWire); + } + if (typeof value === "object") { + return Object.fromEntries( + Object.entries(value) + .filter(([, nested]) => nested !== undefined) + .map(([key, nested]) => [snakeCase(key), toWire(nested)]), + ); + } + throw new TypeError(`Unsupported Block Kit value: ${String(value)}`); +} + +export function createObject( + input: Record, + settings: FactorySettings = {}, +): JsonObject { + const output = toWire(input) as JsonObject; + if (settings.validate !== false) { + assertValid(output); + } + return output; +} + +export function create( + type: Type, + input: Record, + settings: FactorySettings = {}, +): SlackObject { + return createObject({ type, ...input }, settings) as SlackObject; +} + +export function textValue(value: unknown): string | undefined { + if (typeof value === "string") { + return value; + } + if ( + value !== null && + typeof value === "object" && + "text" in value && + typeof value.text === "string" + ) { + return value.text; + } + return undefined; +} diff --git a/typescript/src/messages.ts b/typescript/src/messages.ts new file mode 100644 index 00000000..309078e3 --- /dev/null +++ b/typescript/src/messages.ts @@ -0,0 +1,67 @@ +import { createObject } from "./internal.js"; +import type { FactorySettings, JsonObject } from "./types.js"; + +export function attachment( + input: { blocks: JsonObject[]; color?: string; fallback?: string }, + settings: FactorySettings = {}, +): JsonObject { + return createObject(input, settings); +} + +export interface MessageInput { + channel: string; + blocks?: JsonObject[]; + attachments?: JsonObject[]; + text?: string; + mrkdwn?: boolean; + unfurlLinks?: boolean; + unfurlMedia?: boolean; + metadata?: JsonObject; +} + +export function message( + input: MessageInput, + settings: FactorySettings = {}, +): JsonObject { + return createObject({ mrkdwn: true, text: "", ...input }, settings); +} + +export function messageResponse( + input: { + blocks?: JsonObject[]; + attachments?: JsonObject[]; + text?: string; + mrkdwn?: boolean; + replaceOriginal?: boolean; + responseType?: "ephemeral" | "in_channel"; + }, + settings: FactorySettings = {}, +): JsonObject { + return createObject( + { + mrkdwn: true, + text: "", + replaceOriginal: false, + responseType: "in_channel", + ...input, + }, + settings, + ); +} + +export function webhookMessage( + input: { + blocks?: JsonObject[]; + attachments?: JsonObject[]; + text?: string; + responseType?: "ephemeral" | "in_channel"; + replaceOriginal?: boolean; + deleteOriginal?: boolean; + unfurlLinks?: boolean; + unfurlMedia?: boolean; + metadata?: JsonObject; + }, + settings: FactorySettings = {}, +): JsonObject { + return createObject(input, settings); +} diff --git a/typescript/src/objects.ts b/typescript/src/objects.ts new file mode 100644 index 00000000..ed3d5b1c --- /dev/null +++ b/typescript/src/objects.ts @@ -0,0 +1,183 @@ +import { LengthError, MissingRequiredError, MutualExclusivityError } from "./errors.js"; +import { create, createObject, textValue } from "./internal.js"; +import type { FactorySettings, JsonObject, SlackObject } from "./types.js"; + +export type TextObject = SlackObject<"plain_text" | "mrkdwn">; +export type TextLike = string | TextObject; + +export interface PlainTextOptions { + emoji?: boolean; +} + +export interface MarkdownOptions { + verbatim?: boolean; +} + +function ensureLength(value: string, path: string, maximum: number): void { + if (value.length > maximum) { + throw new LengthError(path, `${value.length} exceeds maximum ${maximum}`); + } +} + +export function plainText( + text: string, + options: PlainTextOptions = {}, + settings: FactorySettings = {}, +): TextObject { + return create("plain_text", { text, ...options }, settings) as TextObject; +} + +export function mrkdwn( + text: string, + options: MarkdownOptions = {}, + settings: FactorySettings = {}, +): TextObject { + return create("mrkdwn", { text, ...options }, settings) as TextObject; +} + +export function asText( + value: TextLike, + kind: "mrkdwn" | "plain_text" = "mrkdwn", + settings: FactorySettings = {}, +): TextObject { + if (typeof value !== "string") return value; + return kind === "plain_text" ? plainText(value, {}, settings) : mrkdwn(value, {}, settings); +} + +export interface ConfirmationInput { + title: TextLike; + text: TextLike; + confirm: TextLike; + deny: TextLike; +} + +export function confirmation( + input: ConfirmationInput, + settings: FactorySettings = {}, +): JsonObject { + for (const [field, maximum] of [ + ["title", 100], + ["text", 300], + ["confirm", 30], + ["deny", 30], + ] as const) { + const value = textValue(input[field]); + if (value !== undefined) ensureLength(value, field, maximum); + } + return createObject( + { + title: asText(input.title, "plain_text", settings), + text: asText(input.text, "mrkdwn", settings), + confirm: asText(input.confirm, "plain_text", settings), + deny: asText(input.deny, "plain_text", settings), + }, + settings, + ); +} + +export interface OptionInput { + text: TextLike; + value: string; + description?: TextLike; + url?: string; +} + +export function option(input: OptionInput, settings: FactorySettings = {}): JsonObject { + const text = asText(input.text, "plain_text", settings); + ensureLength(textValue(text) ?? "", "option.text", 75); + ensureLength(input.value, "option.value", 75); + if (input.description !== undefined) { + ensureLength(textValue(input.description) ?? "", "option.description", 75); + } + return createObject( + { + ...input, + text, + description: + input.description === undefined + ? undefined + : asText(input.description, "plain_text", settings), + }, + settings, + ); +} + +export interface OptionGroupInput { + label: TextLike; + options: JsonObject[]; +} + +export function optionGroup( + input: OptionGroupInput, + settings: FactorySettings = {}, +): JsonObject { + return createObject( + { ...input, label: asText(input.label, "plain_text", settings) }, + settings, + ); +} + +export function conversationFilter( + input: { include?: string[]; excludeExternalSharedChannels?: boolean; excludeBotUsers?: boolean }, + settings: FactorySettings = {}, +): JsonObject { + if (Object.values(input).every((value) => value === undefined)) { + throw new MissingRequiredError("conversationFilter", "expected at least one filter"); + } + return createObject(input, settings); +} + +export function dispatchActionConfiguration( + input: { triggerActionsOn: string[] }, + settings: FactorySettings = {}, +): JsonObject { + return createObject(input, settings); +} + +export function inputParameter( + input: { name: string; value: string }, + settings: FactorySettings = {}, +): JsonObject { + return createObject(input, settings); +} + +export function trigger( + input: { url: string; customizableInputParameters?: JsonObject[] }, + settings: FactorySettings = {}, +): JsonObject { + return createObject(input, settings); +} + +export function workflow( + input: { trigger: JsonObject }, + settings: FactorySettings = {}, +): JsonObject { + return createObject(input, settings); +} + +export function slackFile( + input: { id?: string; url?: string }, + settings: FactorySettings = {}, +): JsonObject { + if (input.id === undefined && input.url === undefined) { + throw new MissingRequiredError("slackFile", "expected id or url"); + } + if (input.id !== undefined && input.url !== undefined) { + throw new MutualExclusivityError("slackFile", "id and url cannot be provided together"); + } + return createObject(input, settings); +} + +export function columnSettings( + input: { align?: "left" | "center" | "right"; isWrapped?: boolean }, + settings: FactorySettings = {}, +): JsonObject { + return createObject(input, settings); +} + +export function rawText( + text: string, + settings: FactorySettings = {}, +): SlackObject<"raw_text"> { + return create("raw_text", { text }, settings); +} diff --git a/typescript/src/rich-text.ts b/typescript/src/rich-text.ts new file mode 100644 index 00000000..e512060c --- /dev/null +++ b/typescript/src/rich-text.ts @@ -0,0 +1,91 @@ +import { create } from "./internal.js"; +import type { FactorySettings, JsonObject } from "./types.js"; + +export interface RichTextStyle { + bold?: boolean; + italic?: boolean; + strike?: boolean; + code?: boolean; +} + +export function richText( + text: string, + style?: RichTextStyle, + settings: FactorySettings = {}, +) { + return create("text", { text, style }, settings); +} + +export function richTextChannel( + channelId: string, + style?: RichTextStyle, + settings: FactorySettings = {}, +) { + return create("channel", { channelId, style }, settings); +} + +export function richTextEmoji( + name: string, + settings: FactorySettings = {}, +) { + return create("emoji", { name }, settings); +} + +export function richTextLink( + input: { url: string; text?: string; unsafe?: boolean; style?: RichTextStyle }, + settings: FactorySettings = {}, +) { + return create("link", input, settings); +} + +export function richTextUser( + userId: string, + style?: RichTextStyle, + settings: FactorySettings = {}, +) { + return create("user", { userId, style }, settings); +} + +export function richTextUserGroup( + usergroupId: string, + style?: RichTextStyle, + settings: FactorySettings = {}, +) { + return create("usergroup", { usergroupId, style }, settings); +} + +export function richTextSection( + elements: JsonObject[], + settings: FactorySettings = {}, +) { + return create("rich_text_section", { elements }, settings); +} + +export function richTextList( + input: { + elements: JsonObject[]; + style?: "bullet" | "ordered"; + indent?: number; + offset?: number; + border?: number; + }, + settings: FactorySettings = {}, +) { + return create("rich_text_list", input, settings); +} + +export function richTextCodeBlock( + elements: JsonObject[], + options: { border?: number } = {}, + settings: FactorySettings = {}, +) { + return create("rich_text_preformatted", { elements, ...options }, settings); +} + +export function richTextQuote( + elements: JsonObject[], + options: { border?: number } = {}, + settings: FactorySettings = {}, +) { + return create("rich_text_quote", { elements, ...options }, settings); +} diff --git a/typescript/src/types.ts b/typescript/src/types.ts new file mode 100644 index 00000000..170b9008 --- /dev/null +++ b/typescript/src/types.ts @@ -0,0 +1,20 @@ +import type { KnownBlock } from "@slack/types"; + +export type JsonPrimitive = boolean | number | string | null; +export type JsonValue = JsonPrimitive | JsonObject | JsonValue[]; + +export interface JsonObject { + [key: string]: JsonValue; +} + +export interface FactorySettings { + /** Disable eager validation for this construction only. */ + validate?: boolean; +} + +export type BlockKitPayload = JsonObject; +export type SlackObject = JsonObject & { type: Type }; +export type SlackWire = Type & JsonObject; + +/** Compatibility helper for call sites that accept Slack's official block types. */ +export type SlackCompatibleBlock = SlackWire; diff --git a/typescript/src/validation.ts b/typescript/src/validation.ts new file mode 100644 index 00000000..c882e7cd --- /dev/null +++ b/typescript/src/validation.ts @@ -0,0 +1,253 @@ +import limits from "../../spec/limits.json" with { type: "json" }; + +import { + InvalidUsageError, + LengthError, + MissingRequiredError, + MutualExclusivityError, + RangeError, + TypeMismatchError, +} from "./errors.js"; +import type { BlockKitPayload, JsonObject, JsonValue } from "./types.js"; + +function textValue(value: unknown): string | undefined { + if (typeof value === "string") return value; + if ( + value !== null && + typeof value === "object" && + "text" in value && + typeof value.text === "string" + ) { + return value.text; + } + return undefined; +} + +function objectAt(value: JsonValue | undefined, path: string): JsonObject { + if (value === null || Array.isArray(value) || typeof value !== "object") { + throw new TypeMismatchError(path, "expected an object"); + } + return value; +} + +function child(path: string, field: string): string { + return path ? `${path}.${field}` : field; +} + +function length( + value: string | unknown[] | undefined, + path: string, + minimum?: number, + maximum?: number, +): void { + if (value === undefined) return; + if (minimum !== undefined && value.length < minimum) { + throw new LengthError(path, `${value.length} is less than minimum ${minimum}`); + } + if (maximum !== undefined && value.length > maximum) { + throw new LengthError(path, `${value.length} exceeds maximum ${maximum}`); + } +} + +function validateTextObject(object: JsonObject, path: string): void { + const value = textValue(object); + if (value === undefined) { + throw new TypeMismatchError(child(path, "text"), "expected a string"); + } + length(value, child(path, "text"), limits.text.min_length, limits.text.max_length); +} + +const INPUT_ELEMENT_TYPES = new Set([ + "plain_text_input", + "number_input", + "checkboxes", + "radio_buttons", + "datepicker", + "datetimepicker", + "channels_select", + "multi_channels_select", + "conversations_select", + "multi_conversations_select", + "external_select", + "multi_external_select", + "static_select", + "multi_static_select", + "users_select", + "multi_users_select", + "rich_text_input", + "email_text_input", + "url_text_input", +]); + +function validateKnownObject(object: JsonObject, path: string): void { + const type = object.type; + const actionId = object.action_id; + if (typeof actionId === "string") { + length(actionId, child(path, "action_id"), undefined, limits.action_id.max_length); + } + + switch (type) { + case "plain_text": + case "mrkdwn": + validateTextObject(object, path); + break; + case "section": { + const text = object.text; + const fields = object.fields; + if (text === undefined && fields === undefined) { + throw new MissingRequiredError(path, "expected text, fields, or both"); + } + if (text !== undefined) { + length( + textValue(text), + child(path, "text.text"), + undefined, + limits.section.text.max_length, + ); + } + if (Array.isArray(fields)) { + length(fields, child(path, "fields"), undefined, limits.section.fields.max_items); + fields.forEach((field, index) => + length( + textValue(field), + `${child(path, "fields")}[${index}].text`, + undefined, + limits.section.fields.item_max_length, + ), + ); + } + break; + } + case "header": + length( + textValue(object.text), + child(path, "text.text"), + undefined, + limits.header.text.max_length, + ); + break; + case "button": + case "workflow_button": + length( + textValue(object.text), + child(path, "text.text"), + undefined, + limits.button.text.max_length, + ); + if (typeof object.url === "string") { + length(object.url, child(path, "url"), undefined, limits.button.url.max_length); + } + if (typeof object.value === "string") { + length(object.value, child(path, "value"), undefined, limits.button.value.max_length); + } + break; + case "overflow": + if (Array.isArray(object.options)) { + length( + object.options, + child(path, "options"), + limits.overflow.options.min_items, + limits.overflow.options.max_items, + ); + } + break; + case "static_select": + case "multi_static_select": + if (object.options !== undefined && object.option_groups !== undefined) { + throw new MutualExclusivityError( + path, + "options and option_groups cannot be provided together", + ); + } + break; + case "number_input": + if ( + typeof object.min_value === "number" && + typeof object.max_value === "number" && + object.min_value > object.max_value + ) { + throw new RangeError(path, "min_value cannot exceed max_value"); + } + break; + case "image": + if (object.image_url !== undefined && object.slack_file !== undefined) { + throw new MutualExclusivityError( + path, + "image_url and slack_file cannot be provided together", + ); + } + break; + case "context": + if (Array.isArray(object.elements)) { + length(object.elements, child(path, "elements"), undefined, limits.context.elements.max_items); + object.elements.forEach((element, index) => { + const elementPath = `${child(path, "elements")}[${index}]`; + const nested = objectAt(element, elementPath); + if (!["plain_text", "mrkdwn", "image"].includes(String(nested.type))) { + throw new TypeMismatchError( + elementPath, + "expected text or image element", + ); + } + }); + } + break; + case "actions": + if (Array.isArray(object.elements)) { + length(object.elements, child(path, "elements"), undefined, limits.actions.elements.max_items); + } + break; + case "input": { + const elementPath = child(path, "element"); + const element = objectAt(object.element, elementPath); + if (!INPUT_ELEMENT_TYPES.has(String(element.type))) { + throw new TypeMismatchError(elementPath, "expected an input-compatible element"); + } + break; + } + case "modal": + case "home": + if (!Array.isArray(object.blocks)) { + throw new TypeMismatchError(child(path, "blocks"), "expected an array"); + } + length( + object.blocks, + child(path, "blocks"), + limits.view.blocks.min_items, + limits.view.blocks.max_items, + ); + break; + default: + break; + } +} + +function visit(value: JsonValue, path: string): void { + if (Array.isArray(value)) { + value.forEach((nested, index) => visit(nested, `${path}[${index}]`)); + return; + } + if (value !== null && typeof value === "object") { + validateKnownObject(value, path); + for (const [key, nested] of Object.entries(value)) { + visit(nested, path ? `${path}.${key}` : key); + } + } +} + +export function assertValid(payload: JsonValue): asserts payload is BlockKitPayload { + if (payload === null || Array.isArray(payload) || typeof payload !== "object") { + throw new TypeMismatchError("payload", "expected a Block Kit object"); + } + visit(payload, ""); +} + +export function validate(payload: unknown): payload is BlockKitPayload { + try { + assertValid(payload as JsonValue); + return true; + } catch (error) { + if (error instanceof InvalidUsageError) return false; + throw error; + } +} diff --git a/typescript/src/views.ts b/typescript/src/views.ts new file mode 100644 index 00000000..a7b1e344 --- /dev/null +++ b/typescript/src/views.ts @@ -0,0 +1,43 @@ +import { create } from "./internal.js"; +import { asText, type TextLike } from "./objects.js"; +import type { FactorySettings, JsonObject } from "./types.js"; + +export function modal( + input: { + title: TextLike; + blocks: JsonObject[]; + close?: TextLike; + submit?: TextLike; + privateMetadata?: string; + callbackId?: string; + clearOnClose?: boolean; + notifyOnClose?: boolean; + externalId?: string; + submitDisabled?: boolean; + }, + settings: FactorySettings = {}, +) { + return create( + "modal", + { + ...input, + title: asText(input.title, "plain_text", settings), + close: input.close === undefined ? undefined : asText(input.close, "plain_text", settings), + submit: + input.submit === undefined ? undefined : asText(input.submit, "plain_text", settings), + }, + settings, + ); +} + +export function homeTab( + input: { + blocks: JsonObject[]; + privateMetadata?: string; + callbackId?: string; + externalId?: string; + }, + settings: FactorySettings = {}, +) { + return create("home", input, settings); +} diff --git a/typescript/test/conformance.test.ts b/typescript/test/conformance.test.ts new file mode 100644 index 00000000..e2df259e --- /dev/null +++ b/typescript/test/conformance.test.ts @@ -0,0 +1,305 @@ +import { readFileSync, readdirSync } from "node:fs"; +import { dirname, resolve } from "node:path"; +import { fileURLToPath } from "node:url"; + +import { describe, expect, it } from "vitest"; + +import { + actions, + attachment, + button, + channelMultiSelect, + channelSelect, + checkboxes, + confirmation, + context, + conversationFilter, + conversationMultiSelect, + conversationSelect, + datePicker, + dateTimePicker, + dispatchActionConfiguration, + divider, + emailInput, + externalMultiSelect, + externalSelect, + fileBlock, + fileInput, + header, + homeTab, + imageElement, + imageBlock, + input, + inputParameter, + markdownBlock, + message, + messageResponse, + modal, + mrkdwn, + numberInput, + option, + optionGroup, + overflow, + plainTextInput, + radioButtons, + richText, + richTextBlock, + richTextChannel, + richTextCodeBlock, + richTextEmoji, + richTextInput, + richTextLink, + richTextList, + richTextQuote, + richTextSection, + richTextUser, + richTextUserGroup, + section, + staticMultiSelect, + staticSelect, + table, + timePicker, + trigger, + type ErrorCategory, + InvalidUsageError, + plainText, + urlInput, + userMultiSelect, + userSelect, + video, + webhookMessage, + workflow, + workflowButton, +} from "../src/index.js"; + +const PACKAGE_ROOT = resolve(dirname(fileURLToPath(import.meta.url)), ".."); +const SPEC_ROOT = resolve(PACKAGE_ROOT, "../spec"); + +interface Manifest { + spec_version: string; + fixtures: Array<{ id: string }>; +} + +interface InvalidManifest { + spec_version: string; + cases: Array<{ id: string; category: ErrorCategory }>; +} + +function readJson(path: string): T { + return JSON.parse(readFileSync(path, "utf8")) as T; +} + +function camelCase(key: string): string { + return key.replace(/_([a-z])/g, (_, letter: string) => letter.toUpperCase()); +} + +function toCamel(value: unknown): unknown { + if (Array.isArray(value)) return value.map(toCamel); + if (value !== null && typeof value === "object") { + return Object.fromEntries( + Object.entries(value).map(([key, nested]) => [camelCase(key), toCamel(nested)]), + ); + } + return value; +} + +type FixtureInput = any; + +function withoutType(input: FixtureInput): FixtureInput { + const { type: _type, ...rest } = input; + return rest; +} + +function constructBlock(payload: FixtureInput): unknown { + const value = withoutType(payload); + switch (payload.type) { + case "actions": return actions(value); + case "context": return context(value); + case "divider": return divider(value); + case "file": return fileBlock(value); + case "header": return header(value); + case "image": return imageBlock(value); + case "input": return input(value); + case "markdown": return markdownBlock(value); + case "rich_text": return richTextBlock(value); + case "section": return section(value); + case "table": return table(value); + case "video": return video(value); + default: throw new Error(`No block factory for ${String(payload.type)}`); + } +} + +function constructElement(input: FixtureInput): unknown { + const value = withoutType(input); + switch (input.type) { + case "button": return button(value); + case "channels_select": return channelSelect(value); + case "checkboxes": return checkboxes(value); + case "conversations_select": return conversationSelect(value); + case "datepicker": return datePicker(value); + case "datetimepicker": return dateTimePicker(value); + case "email_text_input": return emailInput(value); + case "external_select": return externalSelect(value); + case "image": return imageElement(value); + case "multi_channels_select": return channelMultiSelect(value); + case "multi_conversations_select": return conversationMultiSelect(value); + case "multi_external_select": return externalMultiSelect(value); + case "multi_static_select": return staticMultiSelect(value); + case "multi_users_select": return userMultiSelect(value); + case "number_input": return numberInput(value); + case "overflow": return overflow(value); + case "plain_text_input": return plainTextInput(value); + case "radio_buttons": return radioButtons(value); + case "rich_text_input": return richTextInput(value); + case "static_select": return staticSelect(value); + case "timepicker": return timePicker(value); + case "url_text_input": return urlInput(value); + case "users_select": return userSelect(value); + case "workflow_button": return workflowButton(value); + default: throw new Error(`No element factory for ${String(input.type)}`); + } +} + +function constructObject(id: string, input: FixtureInput): unknown { + switch (id) { + case "confirmation_dialogue_basic": return confirmation(input); + case "conversation_filter_basic": return conversationFilter(input); + case "dispatch_action_configuration_basic": return dispatchActionConfiguration(input); + case "input_parameter_basic": return inputParameter(input); + case "option_basic": return option(input); + case "option_group_basic": return optionGroup(input); + case "text_markdown_basic": + case "text_markdown_verbatim": return mrkdwn(input.text, withoutType(input)); + case "text_plaintext_basic": + case "text_plaintext_emoji": return plainText(input.text, withoutType(input)); + case "trigger_basic": return trigger(input); + case "workflow_basic": return workflow(input); + default: throw new Error(`No composition-object factory for ${id}`); + } +} + +function constructRichText(input: FixtureInput): unknown { + const value = withoutType(input); + switch (input.type) { + case "channel": return richTextChannel(value.channelId, value.style); + case "emoji": return richTextEmoji(value.name); + case "link": return richTextLink(value); + case "rich_text_list": return richTextList(value); + case "rich_text_preformatted": return richTextCodeBlock(value.elements, { border: value.border }); + case "rich_text_quote": return richTextQuote(value.elements, { border: value.border }); + case "rich_text_section": return richTextSection(value.elements); + case "text": return richText(value.text, value.style); + case "user": return richTextUser(value.userId, value.style); + case "usergroup": return richTextUserGroup(value.usergroupId, value.style); + default: throw new Error(`No rich-text factory for ${String(input.type)}`); + } +} + +function constructFixture(id: string, expected: FixtureInput): unknown { + const [category, name] = id.split("/") as [string, string]; + const input = toCamel(expected) as FixtureInput; + switch (category) { + case "attachments": return attachment(input); + case "blocks": return constructBlock(input); + case "elements": return name === "file_input_basic" ? fileInput(input) : constructElement(input); + case "messages": + if (name === "message_response") return messageResponse(input); + return name.startsWith("webhook_") ? webhookMessage(input) : message(input); + case "objects": return constructObject(name, input); + case "rich_text": return constructRichText(input); + case "views": return input.type === "modal" ? modal(withoutType(input)) : homeTab(withoutType(input)); + default: throw new Error(`Unknown fixture category ${category}`); + } +} + +const manifest = readJson(resolve(SPEC_ROOT, "manifest.json")); + +describe("valid conformance corpus", () => { + it("declares spec 1.0.0 and all 79 fixtures", () => { + expect(manifest.spec_version).toBe("1.0.0"); + expect(manifest.fixtures).toHaveLength(79); + }); + + for (const fixture of manifest.fixtures) { + it(fixture.id, () => { + const expected = readJson>( + resolve(SPEC_ROOT, "fixtures/valid", `${fixture.id}.json`), + ); + expect(constructFixture(fixture.id, expected)).toEqual(expected); + }); + } + + it("has an empty TypeScript skip list", () => { + const entries = readFileSync(resolve(PACKAGE_ROOT, "conformance/skiplist.txt"), "utf8") + .split("\n") + .filter((line) => line !== "" && !line.startsWith("#")); + expect(entries).toEqual([]); + }); + + it("contains no undeclared fixture files", () => { + const ids = new Set(manifest.fixtures.map(({ id }) => id)); + const categories = readdirSync(resolve(SPEC_ROOT, "fixtures/valid")); + const files = categories.flatMap((category) => + readdirSync(resolve(SPEC_ROOT, "fixtures/valid", category)).map( + (file) => `${category}/${file.replace(/\.json$/, "")}`, + ), + ); + expect(new Set(files)).toEqual(ids); + }); +}); + +const choice = () => option({ text: "A", value: "a" }); + +const invalidCases: Record unknown> = { + "text-empty": () => plainText(""), + "text-too-long": () => plainText("x".repeat(3001)), + "section-missing-content": () => section({}), + "section-text-too-long": () => section({ text: "x".repeat(3001) }), + "section-too-many-fields": () => section({ fields: Array(11).fill("x") }), + "section-field-too-long": () => section({ fields: ["x".repeat(2001)] }), + "header-text-too-long": () => header({ text: "x".repeat(151) }), + "button-text-too-long": () => button({ text: "x".repeat(76), actionId: "a" }), + "button-action-id-too-long": () => button({ text: "A", actionId: "x".repeat(256) }), + "option-value-too-long": () => option({ text: "A", value: "x".repeat(76) }), + "overflow-too-many-options": () => + overflow({ actionId: "a", options: Array.from({ length: 6 }, choice) }), + "static-select-options-and-groups": () => + staticSelect({ actionId: "a", options: [choice()], optionGroups: [{ label: plainText("A") }] }), + "image-url-and-slack-file": () => + imageElement({ + altText: "image", + imageUrl: "https://example.com/image.png", + slackFile: { id: "F123" }, + } as any), + "number-input-inverted-range": () => + numberInput({ actionId: "a", isDecimalAllowed: true, minValue: 2, maxValue: 1 }), + "file-input-max-files-out-of-range": () => fileInput({ actionId: "a", maxFiles: 11 }), + "context-invalid-element": () => context({ elements: [divider()] }), + "input-invalid-element": () => + input({ label: "Label", element: button({ text: "A", actionId: "a" }) }), + "view-missing-blocks": () => homeTab({ blocks: [] }), +}; + +const invalidManifest = readJson( + resolve(SPEC_ROOT, "fixtures/invalid/manifest.json"), +); + +describe("invalid conformance corpus", () => { + it("has a construction for every case", () => { + expect(Object.keys(invalidCases).sort()).toEqual( + invalidManifest.cases.map(({ id }) => id).sort(), + ); + }); + + for (const invalidCase of invalidManifest.cases) { + it(`${invalidCase.id} -> ${invalidCase.category}`, () => { + try { + invalidCases[invalidCase.id]?.(); + expect.fail("construction did not throw"); + } catch (error) { + expect(error).toBeInstanceOf(InvalidUsageError); + expect((error as InvalidUsageError).category).toBe(invalidCase.category); + } + }); + } +}); diff --git a/typescript/test/factories.test.ts b/typescript/test/factories.test.ts new file mode 100644 index 00000000..64c716d6 --- /dev/null +++ b/typescript/test/factories.test.ts @@ -0,0 +1,90 @@ +import { describe, expect, it } from "vitest"; +import type { KnownBlock } from "@slack/types"; + +import { + blockKitBuilderUrl, + button, + LengthError, + message, + mrkdwn, + section, + validate, +} from "../src/index.js"; + +describe("data-first factories", () => { + it("returns objects assignable to Slack's official block types", () => { + const block: KnownBlock = section({ text: "Typed" }); + expect(block.type).toBe("section"); + }); + + it("converts camelCase input to a Slack-shaped plain object", () => { + const payload = message({ + channel: "C0123456", + blocks: [ + section({ + blockId: "deploy", + text: mrkdwn("*Deploy complete* :rocket:"), + accessory: button({ + text: "View logs", + actionId: "logs", + url: "https://example.com/logs", + }), + }), + ], + }); + + expect(payload).toEqual({ + channel: "C0123456", + mrkdwn: true, + text: "", + blocks: [ + { + type: "section", + block_id: "deploy", + text: { type: "mrkdwn", text: "*Deploy complete* :rocket:" }, + accessory: { + type: "button", + text: { type: "plain_text", text: "View logs" }, + action_id: "logs", + url: "https://example.com/logs", + }, + }, + ], + }); + }); + + it("reports a field path for validation errors", () => { + expect(() => + section({ + blockId: "bad", + accessory: button({ text: "A", actionId: "a" }), + text: "x".repeat(3001), + }), + ).toThrowError(LengthError); + + try { + section({ text: "x".repeat(3001) }); + } catch (error) { + expect((error as LengthError).path).toBe("text"); + } + }); + + it("allows validation to be disabled explicitly", () => { + expect(section({ text: "x".repeat(3001) }, { validate: false }).type).toBe("section"); + }); + + it("validates arbitrary existing JSON with a type guard", () => { + expect(validate({ type: "section", text: { type: "mrkdwn", text: "Hi" } })).toBe(true); + expect(validate({ type: "section" })).toBe(false); + }); +}); + +describe("Block Kit Builder URL", () => { + it("wraps a block list and accepts a team ID", () => { + const url = blockKitBuilderUrl([section({ text: "Hi" })], "T123"); + expect(url).toMatch(/^https:\/\/app\.slack\.com\/block-kit-builder\/T123#/); + expect(decodeURIComponent(url.split("#")[1] ?? "")).toBe( + JSON.stringify({ blocks: [section({ text: "Hi" })] }), + ); + }); +}); diff --git a/typescript/tsconfig.json b/typescript/tsconfig.json new file mode 100644 index 00000000..da984fcb --- /dev/null +++ b/typescript/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "target": "ES2022", + "module": "NodeNext", + "moduleResolution": "NodeNext", + "strict": true, + "noUncheckedIndexedAccess": true, + "exactOptionalPropertyTypes": true, + "declaration": true, + "resolveJsonModule": true, + "verbatimModuleSyntax": true, + "skipLibCheck": true, + "types": ["node", "vitest/globals"] + }, + "include": ["src", "test", "conformance"] +} diff --git a/typescript/tsconfig.typedoc.json b/typescript/tsconfig.typedoc.json new file mode 100644 index 00000000..029fb353 --- /dev/null +++ b/typescript/tsconfig.typedoc.json @@ -0,0 +1,5 @@ +{ + "extends": "./tsconfig.json", + "include": ["src"], + "exclude": ["test", "conformance", "../docs"] +} diff --git a/typescript/tsdown.config.ts b/typescript/tsdown.config.ts new file mode 100644 index 00000000..d149b572 --- /dev/null +++ b/typescript/tsdown.config.ts @@ -0,0 +1,9 @@ +import { defineConfig } from "tsdown"; + +export default defineConfig({ + entry: ["src/index.ts"], + format: ["esm"], + dts: true, + clean: true, + sourcemap: true, +}); diff --git a/typescript/vitest.config.ts b/typescript/vitest.config.ts new file mode 100644 index 00000000..cd373e01 --- /dev/null +++ b/typescript/vitest.config.ts @@ -0,0 +1,10 @@ +import { defineConfig } from "vitest/config"; + +export default defineConfig({ + test: { + coverage: { + provider: "v8", + reporter: ["text"], + }, + }, +}); From 9feb1da633e45e737a213699f2bab0b376e34952 Mon Sep 17 00:00:00 2001 From: Nicholas Lambourne Date: Fri, 14 Aug 2026 02:56:53 +1000 Subject: [PATCH 04/23] ci: add coordinated package release automation --- .github/workflows/package-check.yml | 29 +++++++---- .github/workflows/publish-npm.yml | 60 +++++++++++++++++++++ .github/workflows/publish.yml | 81 +++++++++++++++++++---------- .github/workflows/typescript.yml | 39 ++++++++------ 4 files changed, 156 insertions(+), 53 deletions(-) create mode 100644 .github/workflows/publish-npm.yml diff --git a/.github/workflows/package-check.yml b/.github/workflows/package-check.yml index 5ade8b18..e03ad199 100644 --- a/.github/workflows/package-check.yml +++ b/.github/workflows/package-check.yml @@ -1,4 +1,5 @@ name: Package Check + on: push: paths: @@ -10,32 +11,42 @@ on: - "python/**" - ".github/workflows/package-check.yml" +permissions: + contents: read + concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: package-check: + name: Build sdist/wheel and validate metadata runs-on: ubuntu-latest - name: Build sdist/wheel and validate README rendering defaults: run: working-directory: python steps: - - name: Check Out Source Repository - uses: actions/checkout@v5 + - name: Check out repository + uses: actions/checkout@v7 - - name: Install uv - uses: astral-sh/setup-uv@v4 + - name: Install uv and Python + uses: astral-sh/setup-uv@v10.0.0 with: enable-cache: true cache-dependency-glob: python/uv.lock + python-version: "3.14" - - name: Install Dependencies - run: uv sync + - name: Install dependencies + run: uv sync --frozen --group dev - name: Build sdist and wheel - run: uv build + run: uv build --clear - name: Validate package metadata and README - run: uv run twine check --strict dist/* + run: uv run --frozen twine check --strict dist/* + + - name: Smoke test wheel + run: uv run --isolated --no-project --with dist/*.whl python -c "import slackblocks; print(slackblocks.__name__)" + + - name: Smoke test source distribution + run: uv run --isolated --no-project --with dist/*.tar.gz python -c "import slackblocks; print(slackblocks.__name__)" diff --git a/.github/workflows/publish-npm.yml b/.github/workflows/publish-npm.yml new file mode 100644 index 00000000..2a4b30b4 --- /dev/null +++ b/.github/workflows/publish-npm.yml @@ -0,0 +1,60 @@ +name: Publish TypeScript Package + +on: + push: + tags: + - "ts/v*" + +permissions: + contents: read + id-token: write + +jobs: + publish: + name: Build, verify, and publish to npm + runs-on: ubuntu-latest + environment: + name: npm + url: https://www.npmjs.com/package/slackblocks + steps: + - name: Check out repository + uses: actions/checkout@v7 + + - name: Install pnpm + uses: pnpm/action-setup@v6 + with: + version: 11.16.0 + run_install: false + + - name: Install Node.js + uses: actions/setup-node@v7 + with: + node-version: "24" + registry-url: https://registry.npmjs.org + package-manager-cache: false + + - name: Update npm for trusted publishing + run: npm install --global npm@latest + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Verify tag matches package version + run: | + set -euo pipefail + tag="${GITHUB_REF_NAME#ts/v}" + package=$(node -p "require('./typescript/package.json').version") + if [ "$tag" != "$package" ]; then + echo "::error::Tag '$tag' does not match package version '$package'." + exit 1 + fi + + - name: Run checks + run: | + pnpm --filter slackblocks typecheck + pnpm --filter slackblocks test + pnpm --filter slackblocks check:package + + - name: Publish with trusted publishing + working-directory: typescript + run: npm publish --access public diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 78b9bce2..1952ce14 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -1,50 +1,77 @@ -name: Publish SlackBlocks Python Package +name: Publish Python Package + on: push: - # Trigger on every version tag: final releases (v2.0.0) and pre-releases - # (v2.0.0rc1, v2.0.0b1, v2.0.0a1, v2.0.0.dev0, etc.). PyPI itself classifies - # pre-releases per PEP 440 from the version string in pyproject.toml, so - # 'pip install slackblocks' continues to skip them by default. tags: - - "v*" + - "python/v*" permissions: contents: read jobs: - publish: - name: Build and publish to PyPI + build: + name: Build and verify Python release runs-on: ubuntu-latest defaults: run: working-directory: python steps: - - uses: actions/checkout@v5 + - name: Check out repository + uses: actions/checkout@v7 - - name: Install uv - uses: astral-sh/setup-uv@v4 + - name: Install uv and Python + uses: astral-sh/setup-uv@v10.0.0 with: - enable-cache: true - - - name: Install Dependencies - run: uv sync + python-version: "3.14" - - name: Build Package - run: uv build + - name: Install dependencies + run: uv sync --frozen --group dev - name: Verify tag matches package version - # Guards against publishing if a tag is pushed without the - # corresponding pyproject.toml bump. Fail loudly rather than upload - # the wrong version. run: | set -euo pipefail - tag="${GITHUB_REF_NAME#v}" - pkg=$(uv run python -c "import importlib.metadata; print(importlib.metadata.version('slackblocks'))") - if [ "$tag" != "$pkg" ]; then - echo "::error::Tag '$tag' does not match package version '$pkg' in pyproject.toml." + tag="${GITHUB_REF_NAME#python/v}" + package=$(uv run --frozen python -c "import importlib.metadata; print(importlib.metadata.version('slackblocks'))") + if [ "$tag" != "$package" ]; then + echo "::error::Tag '$tag' does not match package version '$package'." exit 1 fi - echo "Tag $tag matches package version $pkg." - - name: Publish Package - run: uv publish --token ${{ secrets.PYPI_TOKEN }} + - name: Run tests + run: uv run --frozen pytest test/unit test/conformance + + - name: Build sdist and wheel + run: uv build --clear + + - name: Validate package metadata + run: uv run --frozen twine check --strict dist/* + + - name: Upload release artifacts + uses: actions/upload-artifact@v7 + with: + name: python-distributions + path: python/dist/ + if-no-files-found: error + + publish: + name: Publish to PyPI + needs: build + runs-on: ubuntu-latest + environment: + name: pypi + url: https://pypi.org/project/slackblocks/ + permissions: + contents: read + id-token: write + steps: + - name: Download release artifacts + uses: actions/download-artifact@v8 + with: + name: python-distributions + path: dist + + - name: Install uv + uses: astral-sh/setup-uv@v10.0.0 + + - name: Publish with trusted publishing + run: uv publish dist/* diff --git a/.github/workflows/typescript.yml b/.github/workflows/typescript.yml index afd6b08b..610ba29f 100644 --- a/.github/workflows/typescript.yml +++ b/.github/workflows/typescript.yml @@ -63,44 +63,49 @@ jobs: - name: Validate package run: pnpm --filter slackblocks check:package + - name: Pack package + run: | + mkdir -p artifacts + pnpm --dir typescript pack --pack-destination ../artifacts + + - name: Upload package + uses: actions/upload-artifact@v7.0.1 + with: + name: slackblocks-package + path: artifacts/*.tgz + if-no-files-found: error + runtime-smoke: name: Runtime smoke (Node ${{ matrix.node-version }}) + needs: quality runs-on: ubuntu-latest strategy: fail-fast: false matrix: node-version: ["20.19.0", "22", "24"] steps: - - name: Check out repository - uses: actions/checkout@v7 - - - name: Install pnpm - uses: pnpm/action-setup@v6 - with: - version: 11.16.0 - run_install: false - - name: Install Node.js ${{ matrix.node-version }} uses: actions/setup-node@v7 with: node-version: ${{ matrix.node-version }} - cache: pnpm - cache-dependency-path: pnpm-lock.yaml - - name: Install dependencies - run: pnpm install --frozen-lockfile + - name: Download package + uses: actions/download-artifact@v8.0.1 + with: + name: slackblocks-package + path: package - - name: Build package - run: pnpm --filter slackblocks build + - name: Install package + run: npm install --ignore-scripts ./package/slackblocks-*.tgz - name: Import from ESM run: >- node --input-type=module -e - 'import("./typescript/dist/index.mjs").then(({section}) => + 'import("slackblocks").then(({section}) => console.log(JSON.stringify(section({text:"smoke"}))))' - name: Require ESM from CommonJS run: >- node -e - 'const { section } = require("./typescript/dist/index.mjs"); + 'const { section } = require("slackblocks"); console.log(JSON.stringify(section({text:"smoke"})))' From 26d8e0ab70ccdc4e2802173214a51cf7c7c928fb Mon Sep 17 00:00:00 2001 From: Nicholas Lambourne Date: Fri, 14 Aug 2026 03:00:52 +1000 Subject: [PATCH 05/23] docs: migrate site to Docusaurus --- .github/workflows/docs.yml | 141 ++-- .gitignore | 8 +- README.md | 7 +- docs/blog/.gitkeep | 1 + docs/docs/contributing.mdx | 74 ++ docs/docs/index.mdx | 109 +++ docs/docs/reference/index.md | 7 + .../docs/usage/compatibility.mdx | 53 +- .../docs/usage/cookbook.mdx | 46 ++ docs/docs/usage/installation.mdx | 102 +++ .../docs/usage/migration.mdx | 41 +- docs/docs/usage/multilanguage.mdx | 23 + docs/docs/usage/sending_messages.mdx | 243 ++++++ .../docs}/usage/troubleshooting.md | 0 docs/docs/usage/using_blocks.mdx | 718 ++++++++++++++++++ docs/docusaurus.config.ts | 123 +++ docs/examples/python/section_hello.py | 6 + docs/examples/section_hello.json | 15 + docs/examples/typescript/package.json | 3 + docs/examples/typescript/section_hello.ts | 6 + docs/package.json | 33 + docs/scripts/generate_python_reference.py | 100 +++ docs/sidebars.ts | 7 + docs/src/components/LanguageTabs/index.tsx | 49 ++ docs/src/css/custom.css | 29 + {docs_src => docs/static}/img/hello_world.png | Bin {docs_src => docs/static}/img/sb.png | Bin {docs_src => docs/static}/img/sb.svg | 0 .../static}/img/usage/actions.png | Bin .../static}/img/usage/context.png | Bin .../static}/img/usage/divider.png | Bin .../static}/img/usage/header.png | Bin {docs_src => docs/static}/img/usage/image.png | Bin {docs_src => docs/static}/img/usage/input.png | Bin .../static}/img/usage/rich_text.png | Bin .../static}/img/usage/section.png | Bin {docs_src => docs/static}/img/usage/table.png | Bin docs/tsconfig.json | 10 + docs_src/contributing.md | 215 ------ docs_src/index.md | 95 --- docs_src/reference/attachments.md | 15 - docs_src/reference/blocks.md | 14 - docs_src/reference/elements.md | 12 - docs_src/reference/messages.md | 18 - docs_src/reference/modals.md | 11 - docs_src/reference/objects.md | 16 - docs_src/reference/rich_text.md | 27 - docs_src/reference/utils.md | 27 - docs_src/reference/views.md | 15 - docs_src/usage/installation.md | 80 -- docs_src/usage/sending_messages.md | 143 ---- docs_src/usage/using_blocks.md | 634 ---------------- mkdocs.yml | 95 --- pnpm-workspace.yaml | 1 + python/README.md | 20 +- python/pyproject.toml | 6 +- python/test/docs/__init__.py | 1 + python/test/docs/test_examples.py | 13 + python/uv.lock | 519 +------------ scripts/sort_versions.py | 94 --- typescript/test/docs-examples.test.ts | 13 + 61 files changed, 1917 insertions(+), 2121 deletions(-) create mode 100644 docs/blog/.gitkeep create mode 100644 docs/docs/contributing.mdx create mode 100644 docs/docs/index.mdx create mode 100644 docs/docs/reference/index.md rename docs_src/usage/compatibility.md => docs/docs/usage/compatibility.mdx (54%) rename docs_src/usage/cookbook.md => docs/docs/usage/cookbook.mdx (91%) create mode 100644 docs/docs/usage/installation.mdx rename docs_src/usage/migration.md => docs/docs/usage/migration.mdx (93%) create mode 100644 docs/docs/usage/multilanguage.mdx create mode 100644 docs/docs/usage/sending_messages.mdx rename {docs_src => docs/docs}/usage/troubleshooting.md (100%) create mode 100644 docs/docs/usage/using_blocks.mdx create mode 100644 docs/docusaurus.config.ts create mode 100644 docs/examples/python/section_hello.py create mode 100644 docs/examples/section_hello.json create mode 100644 docs/examples/typescript/package.json create mode 100644 docs/examples/typescript/section_hello.ts create mode 100644 docs/package.json create mode 100644 docs/scripts/generate_python_reference.py create mode 100644 docs/sidebars.ts create mode 100644 docs/src/components/LanguageTabs/index.tsx create mode 100644 docs/src/css/custom.css rename {docs_src => docs/static}/img/hello_world.png (100%) rename {docs_src => docs/static}/img/sb.png (100%) rename {docs_src => docs/static}/img/sb.svg (100%) rename {docs_src => docs/static}/img/usage/actions.png (100%) rename {docs_src => docs/static}/img/usage/context.png (100%) rename {docs_src => docs/static}/img/usage/divider.png (100%) rename {docs_src => docs/static}/img/usage/header.png (100%) rename {docs_src => docs/static}/img/usage/image.png (100%) rename {docs_src => docs/static}/img/usage/input.png (100%) rename {docs_src => docs/static}/img/usage/rich_text.png (100%) rename {docs_src => docs/static}/img/usage/section.png (100%) rename {docs_src => docs/static}/img/usage/table.png (100%) create mode 100644 docs/tsconfig.json delete mode 100644 docs_src/contributing.md delete mode 100644 docs_src/index.md delete mode 100644 docs_src/reference/attachments.md delete mode 100644 docs_src/reference/blocks.md delete mode 100644 docs_src/reference/elements.md delete mode 100644 docs_src/reference/messages.md delete mode 100644 docs_src/reference/modals.md delete mode 100644 docs_src/reference/objects.md delete mode 100644 docs_src/reference/rich_text.md delete mode 100644 docs_src/reference/utils.md delete mode 100644 docs_src/reference/views.md delete mode 100644 docs_src/usage/installation.md delete mode 100644 docs_src/usage/sending_messages.md delete mode 100644 docs_src/usage/using_blocks.md delete mode 100644 mkdocs.yml create mode 100644 python/test/docs/__init__.py create mode 100644 python/test/docs/test_examples.py delete mode 100755 scripts/sort_versions.py create mode 100644 typescript/test/docs-examples.test.ts diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index a455e883..27ddb178 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -1,52 +1,95 @@ -name: Publish Docs On Release +name: Documentation + on: - release: - types: [published] - workflow_dispatch: + push: + paths: + - "docs/**" + - "python/**" + - "typescript/src/**" + - "typescript/tsconfig.typedoc.json" + - "spec/**" + - "package.json" + - "pnpm-lock.yaml" + - "pnpm-workspace.yaml" + - ".github/workflows/docs.yml" + pull_request: + branches: [master] + paths: + - "docs/**" + - "python/**" + - "typescript/src/**" + - "typescript/tsconfig.typedoc.json" + - "spec/**" + - "package.json" + - "pnpm-lock.yaml" + - "pnpm-workspace.yaml" + - ".github/workflows/docs.yml" + workflow_dispatch: + permissions: - contents: write + contents: read + +concurrency: + group: pages-${{ github.ref }} + cancel-in-progress: true + jobs: - deploy: - runs-on: ubuntu-latest - steps: - - name: Check Out Source Repository - uses: actions/checkout@v5 - with: - fetch-depth: 0 - - - name: Install uv - uses: astral-sh/setup-uv@v4 - with: - enable-cache: true - - - name: Configure Git - run: | - git config --global user.name "github-actions[bot]" - git config --global user.email "github-actions[bot]@users.noreply.github.com" - - - name: Install Docs Dependencies - run: uv sync --project python --group docs - - - name: Build and Deploy Docs - run: uv run --project python mike deploy --push --update-aliases ${{ github.ref_name }} latest - - - name: Sort versions.json on gh-pages by PEP 440 semver - # ``mike deploy`` appends each new deploy to the end of - # versions.json; without this step the version selector quickly - # falls back into deploy-time order instead of release-version - # order. The script is idempotent: if the file is already sorted - # it is a no-op and the commit/push below skips. - run: | - set -euo pipefail - git fetch origin gh-pages - tmpdir=$(mktemp -d) - git worktree add "$tmpdir" gh-pages - uv run --project python --with packaging python scripts/sort_versions.py "$tmpdir/versions.json" - cd "$tmpdir" - if git diff --quiet versions.json; then - echo "versions.json already sorted; nothing to commit." - else - git add versions.json - git commit -m "docs: re-sort versions.json after deploy of ${GITHUB_REF_NAME}" - git push origin gh-pages - fi + build: + name: Build Docusaurus site + runs-on: ubuntu-latest + steps: + - name: Check out repository + uses: actions/checkout@v7 + + - name: Install pnpm + uses: pnpm/action-setup@v6 + with: + version: 11.16.0 + run_install: false + + - name: Install Node.js + uses: actions/setup-node@v7 + with: + node-version: "22" + cache: pnpm + cache-dependency-path: pnpm-lock.yaml + + - name: Install uv and Python + uses: astral-sh/setup-uv@v10 + with: + enable-cache: true + cache-dependency-glob: python/uv.lock + python-version: "3.14" + + - name: Install JavaScript dependencies + run: pnpm install --frozen-lockfile + + - name: Build documentation + run: pnpm --filter @slackblocks/docs build + + - name: Configure GitHub Pages + uses: actions/configure-pages@v6 + + - name: Upload GitHub Pages artifact + uses: actions/upload-pages-artifact@v5 + with: + path: docs/build + + deploy: + name: Deploy GitHub Pages + if: >- + github.ref == 'refs/heads/master' && + (github.event_name == 'push' || github.event_name == 'workflow_dispatch') + needs: build + runs-on: ubuntu-latest + permissions: + contents: read + pages: write + id-token: write + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v5 diff --git a/.gitignore b/.gitignore index 9ed6cb10..db39f0ce 100644 --- a/.gitignore +++ b/.gitignore @@ -106,8 +106,10 @@ venv.bak/ .idea .vscode -docs/ - -# JavaScript workspace build state +# JavaScript / Docusaurus build state node_modules/ .pnpm-store/ +/docs/.docusaurus/ +/docs/docs/reference/python/ +/docs/docs/reference/typescript/ +/docs/docs/reference/parity.mdx diff --git a/README.md b/README.md index 29936ba3..9915bb2c 100644 --- a/README.md +++ b/README.md @@ -35,13 +35,10 @@ const payload = message({ - `python/` — the established Python package. - `typescript/` — the ESM TypeScript package. - `spec/` — 79 valid fixtures, shared invalid cases, and limits. -- `docs_src/` — the current documentation source. Its Docusaurus migration is - reviewed separately from the language implementation. +- `docs/` — the Docusaurus documentation site. See the [documentation site](https://nicklambourne.github.io/slackblocks/) for installation and usage. ## Development -Run Python checks from `python/` with uv and TypeScript checks from the -repository root with pnpm. The full commands and fixture workflow are in the -[contributing guide](https://nicklambourne.github.io/slackblocks/contributing). +Run Python checks from `python/` with uv. Run TypeScript and docs checks from the repository root with pnpm. The full commands and fixture workflow are in the [contributing guide](https://nicklambourne.github.io/slackblocks/contributing). diff --git a/docs/blog/.gitkeep b/docs/blog/.gitkeep new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/docs/blog/.gitkeep @@ -0,0 +1 @@ + diff --git a/docs/docs/contributing.mdx b/docs/docs/contributing.mdx new file mode 100644 index 00000000..f119547d --- /dev/null +++ b/docs/docs/contributing.mdx @@ -0,0 +1,74 @@ +# Contributing + +`slackblocks` is a monorepo containing two handwritten implementations and one shared conformance contract. A feature is complete when its wire output and validation category agree in Python and TypeScript. + +## Repository layout + +- `spec/` contains the normative fixtures, validation cases, limits, and principles. +- `python/` contains the Python package and its tests. +- `typescript/` contains the ESM TypeScript package and its tests. +- `docs/` contains this Docusaurus site and executable examples. + +## Set up the workspace + +Python development uses [uv](https://docs.astral.sh/uv/): + +```bash +cd python +uv sync --all-groups +``` + +JavaScript development uses the pnpm workspace from the repository root: + +```bash +pnpm install --frozen-lockfile +``` + +## Run the checks + +From `python/`: + +```bash +uv run pytest test/unit test/conformance test/docs +uv run ruff check slackblocks test +uv run mypy slackblocks +uv build --clear +uv run twine check --strict dist/* +``` + +From the repository root: + +```bash +pnpm --filter slackblocks typecheck +pnpm --filter slackblocks test +pnpm --filter slackblocks check:package +pnpm --filter @slackblocks/docs build +``` + +The Python and TypeScript conformance suites both exercise every ID in `spec/manifest.json`. A checked-in `conformance/skiplist.txt` may document an intentional language gap, but unknown failures and stale skips fail the suite. + +## Add or change a Block Kit feature + +1. Add or update canonical JSON in `spec/fixtures/valid/` and register it in `spec/manifest.json`. +2. Add invalid behavior to `spec/fixtures/invalid/manifest.json` when the feature introduces a validation rule. +3. Update `spec/limits.json` for shared scalar constraints. +4. Implement the feature idiomatically in both packages, or record a reason in the affected skip list. +5. Add language-native tests and update the relevant guide or executable example. + +Read the [conformance principles](/reference/parity) before introducing a cross-language API. Serialized JSON and validation outcomes are shared; public naming and construction style are language-native. + +## Documentation + +Run the local site from the repository root: + +```bash +pnpm --filter @slackblocks/docs start +``` + +Narrative pages live in `docs/docs/`. Python and TypeScript API pages, plus the parity matrix, are generated during every docs build. Reusable examples live one-per-file under `docs/examples/python/` and `docs/examples/typescript/`; tests execute them and compare their output with `docs/examples/section_hello.json`. + +Use `LanguageTabs` for language-specific prose or examples. Its shared `language` group persists the selected language and mirrors it into the `?language=` query parameter. + +## Pull requests + +Keep changes scoped, add a regression test for bug fixes, and include fixture changes whenever wire behavior changes. All local checks relevant to the changed package should pass before review. diff --git a/docs/docs/index.mdx b/docs/docs/index.mdx new file mode 100644 index 00000000..e6847880 --- /dev/null +++ b/docs/docs/index.mdx @@ -0,0 +1,109 @@ +import LanguageTabs, { PythonTab, TypeScriptTab } from '@site/src/components/LanguageTabs'; + +# Welcome to `slackblocks`! + +

+ slackblocks logo +

+ +`slackblocks` builds Slack messages with the [Block Kit API](https://api.slack.com/block-kit) in Python and TypeScript — without writing JSON by hand. + +It exists because Block Kit JSON is verbose, easy to get subtly wrong, and unpleasant to maintain in source control. `slackblocks` gives you: + +- **Typed, idiomatic APIs** for Python and TypeScript. +- **Validation as you build** — character limits, required fields, mutually-exclusive options, and element-type restrictions are enforced at construction time, so you find out *before* hitting Slack's API. +- **Drop-in compatibility** with the official Slack SDKs and their plain JSON payloads. +- **Zero runtime dependencies.** + +## Quickstart + + + + +```bash +pip install slackblocks +``` + +```python +from slackblocks import Message, SectionBlock + +message = Message(channel="#general", blocks=SectionBlock("Hello, world!")) +``` + + + + +```bash +pnpm add slackblocks +``` + +```ts +import { message, section } from "slackblocks"; + +const payload = message({ + channel: "C0123456", + blocks: [section({ text: "Hello, world!" })], +}); +``` + + + + +See the [installation guide](usage/installation) and [sending messages guide](usage/sending_messages) to take it from here. + +## Components + +The [Slack Block Kit API](https://api.slack.com/block-kit) defines several resource types (all defined in JSON) that work together to build block-based messages. `slackblocks` mirrors that hierarchy with Python classes. + +### Objects + +[Objects](reference/python/objects) (e.g. [`Text`](reference/python/objects#text), [`Option`](reference/python/objects#option), [`Confirm`](reference/python/objects#confirm)) are the lowest-level primitives — small composable pieces that populate [Elements](reference/python/elements) and [Blocks](reference/python/blocks). + +For convenience, [`PlainText`](reference/python/objects#plaintext) and [`Markdown`](reference/python/objects#markdown) are thin subclasses of `Text` that you can use anywhere a `Text` is expected — `PlainText("Hi", emoji=True)` reads more naturally than `Text("Hi", type_=TextType.PLAINTEXT, emoji=True)`. + +### Elements + +[Elements](reference/python/elements) are typically interactive UI controls that go *inside* blocks. The [`CheckboxGroup`](reference/python/elements#checkboxgroup) element, for instance, takes one or more [`Option`](reference/python/objects#option) items and presents a checkbox menu. + +### Blocks + +[Blocks](reference/python/blocks) are the core visual unit of a message. Different block classes produce different UI: + +- [`SectionBlock`](reference/python/blocks#sectionblock) — a chunk of markdown text, optionally with an accessory element. +- [`HeaderBlock`](reference/python/blocks#headerblock) — a large bold title. +- [`DividerBlock`](reference/python/blocks#dividerblock) — a visual separator (like an HTML `
`). +- [`MarkdownBlock`](reference/python/blocks#markdownblock) — GitHub-flavored Markdown (Slack 2024+; richer formatting than `mrkdwn`). +- [`RichTextBlock`](reference/python/blocks#richtextblock) — formatted text with inline styling, lists, code blocks, and quotes. +- [`ActionsBlock`](reference/python/blocks#actionsblock) — a row of interactive elements like buttons or menus. +- [`VideoBlock`](reference/python/blocks#videoblock) — embed a video from a Slack-supported provider. +- [`ImageBlock`](reference/python/blocks#imageblock), [`ContextBlock`](reference/python/blocks#contextblock), [`InputBlock`](reference/python/blocks#inputblock), [`FileBlock`](reference/python/blocks#fileblock), [`TableBlock`](reference/python/blocks#tableblock). + +See [Using Blocks](usage/using_blocks) for examples of all block types side-by-side with their JSON output and Slack rendering. + +### Messages + +[Messages](reference/python/messages) are a convenience wrapper around blocks that can be unpacked directly into the Slack SDK's `chat_postMessage` (and friends). + +- [`Message`](reference/python/messages#message) — a normal channel message. +- [`WebhookMessage`](reference/python/messages#webhookmessage) — for incoming webhooks. +- [`MessageResponse`](reference/python/messages#messageresponse) — replies to slash commands and interactions. + +### Views + +[Views](reference/python/views) are an alternative usage of blocks that build custom UI surfaces in Slack — modal dialogs and the App Home tab — typically used by interactive Slack apps. + +### Utilities + +- [`block_kit_builder_url(payload, team_id=None)`](reference/python/builder#block_kit_builder_url) — turn any block, list of blocks, message, or view into a [Block Kit Builder](https://app.slack.com/block-kit-builder) URL for browser-based preview. +- [`Block.from_dict(data)`](reference/python/blocks#block) — parse a Slack-shaped block payload back into a `slackblocks` object. Per-class `from_dict` parsers are also available on every composition object. + +## Guides + +- [Installation](usage/installation) +- [Compatibility](usage/compatibility) — which Python versions each release line supports. +- [Using Blocks](usage/using_blocks) +- [Sending Messages](usage/sending_messages) +- [Cookbook](usage/cookbook) — complete end-to-end recipes for common message patterns. +- [Migrating from 1.x](usage/migration) — upgrade guide for `1.x` users. +- [Troubleshooting & FAQ](usage/troubleshooting.md) +- [Contributing](contributing) — developing and contributing to `slackblocks` itself. diff --git a/docs/docs/reference/index.md b/docs/docs/reference/index.md new file mode 100644 index 00000000..98b24300 --- /dev/null +++ b/docs/docs/reference/index.md @@ -0,0 +1,7 @@ +# API reference + +- [Python API](/reference/python) +- [TypeScript API](/reference/typescript) +- [Language parity](/reference/parity) + +Both implementations conform to the shared spec. API naming and construction patterns remain idiomatic to each language. diff --git a/docs_src/usage/compatibility.md b/docs/docs/usage/compatibility.mdx similarity index 54% rename from docs_src/usage/compatibility.md rename to docs/docs/usage/compatibility.mdx index e273b63b..7b3edf81 100644 --- a/docs_src/usage/compatibility.md +++ b/docs/docs/usage/compatibility.mdx @@ -1,3 +1,6 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + # Compatibility This page documents which Python versions are supported by each `slackblocks` release line, so you can choose the right line for your runtime. @@ -6,28 +9,40 @@ This page documents which Python versions are supported by each `slackblocks` re | `slackblocks` version | Minimum Python | Notes | | --- | --- | --- | -| `1.x` (current stable) | 3.8.1 | The last release line to support Python 3.8 and 3.9. | -| `2.x` (in development) | 3.10 | Modern typing (`X | Y`, `list[X]`), dataclasses with `slots`, `match` statements, and other Python 3.10+ features used internally. | +| `1.x` (maintenance) | 3.8.1 | The last release line to support Python 3.8 and 3.9. | +| `2.x` (current) | 3.10 | Modern typing (`X | Y`, `list[X]`), dataclasses with `slots`, `match` statements, and other Python 3.10+ features used internally. | If you cannot upgrade Python, pin to the appropriate major version: -=== "pip (`requirements.txt`)" - ``` - slackblocks>=1,<2 # Python 3.8/3.9 friendly - slackblocks>=2,<3 # Python 3.10+ only - ``` + + + +``` +slackblocks>=1,<2 # Python 3.8/3.9 friendly +slackblocks>=2,<3 # Python 3.10+ only +``` + + + + + +```toml +slackblocks = "^1" # Python 3.8/3.9 friendly +slackblocks = "^2" # Python 3.10+ only +``` + + + + + +```toml +"slackblocks>=1,<2" # Python 3.8/3.9 friendly +"slackblocks>=2,<3" # Python 3.10+ only +``` -=== "poetry (`pyproject.toml`)" - ```toml - slackblocks = "^1" # Python 3.8/3.9 friendly - slackblocks = "^2" # Python 3.10+ only - ``` -=== "uv (`pyproject.toml`)" - ```toml - "slackblocks>=1,<2" # Python 3.8/3.9 friendly - "slackblocks>=2,<3" # Python 3.10+ only - ``` + + ## Why we move forward @@ -48,8 +63,8 @@ Bugfix releases on existing lines may continue past these dates on a best-effort ## Choosing a version - **You're on Python 3.8 or 3.9**: install the latest `1.x`. -- **You're on Python 3.10 or newer**: install `2.x` once released; `1.x` will continue to work for the foreseeable future. +- **You're on Python 3.10 or newer**: install the current `2.x` release line. - **You're starting a new project on a modern Python**: prefer `2.x` to take advantage of the improved typing surface. For an upgrade walkthrough from `1.x` to `2.x`, see the -[Migration Guide](migration.md). +[Migration Guide](migration). diff --git a/docs_src/usage/cookbook.md b/docs/docs/usage/cookbook.mdx similarity index 91% rename from docs_src/usage/cookbook.md rename to docs/docs/usage/cookbook.mdx index a5069e2d..c07898b0 100644 --- a/docs_src/usage/cookbook.md +++ b/docs/docs/usage/cookbook.mdx @@ -1,3 +1,5 @@ +import LanguageTabs, { PythonTab, TypeScriptTab } from '@site/src/components/LanguageTabs'; + # Cookbook End-to-end recipes for common Slack messaging patterns. Each example produces a complete, valid `Message` (or `Modal`) you can pass directly to the Slack SDK. @@ -8,6 +10,9 @@ The reference docs cover *what* each class does in isolation; this page is for * A typical CI/CD success or failure notification: header, summary fields, divider, contextual footer. + + + ```python from slackblocks import ( ContextBlock, @@ -55,6 +60,47 @@ def build_status_message( ) ``` + + + +```ts +import { context, divider, header, message, mrkdwn, section } from "slackblocks"; + +function buildStatusMessage(input: { + channel: string; + project: string; + branch: string; + commit: string; + author: string; + duration: string; + passed: boolean; +}) { + const icon = input.passed ? ":white_check_mark:" : ":x:"; + const status = input.passed ? "passed" : "failed"; + + return message({ + channel: input.channel, + text: `Build ${status} for ${input.project}@${input.branch}`, + blocks: [ + header({ text: `${icon} ${input.project} build ${status}` }), + section({ + fields: [ + `*Branch*\n\`${input.branch}\``, + `*Commit*\n\`${input.commit.slice(0, 7)}\``, + `*Author*\n${input.author}`, + `*Duration*\n${input.duration}`, + ], + }), + divider(), + context({ elements: [mrkdwn(`:calendar: Triggered by push to \`${input.branch}\``)] }), + ], + }); +} +``` + + + + Tips: - Always pass a `text=` fallback to `Message` — Slack uses it for desktop and mobile push notifications. diff --git a/docs/docs/usage/installation.mdx b/docs/docs/usage/installation.mdx new file mode 100644 index 00000000..799689c5 --- /dev/null +++ b/docs/docs/usage/installation.mdx @@ -0,0 +1,102 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import LanguageTabs, { PythonTab, TypeScriptTab } from '@site/src/components/LanguageTabs'; + +# Installation + +Choose your language once; every language group across the site follows the same selection and the URL carries it as `?language=...`. + + + + +Install the Python package from [PyPI](https://pypi.org/project/slackblocks/): + + + + +```bash +pip install slackblocks +``` + + + + +```bash +poetry add slackblocks +``` + + + + +```bash +pipenv install slackblocks +``` + + + + +```bash +uv add slackblocks +``` + + + + +Python 2.x requires Python 3.10 or newer and has no runtime dependencies. See [Compatibility](compatibility) for the support matrix and 1.x migration guidance. + +Verify the installation: + +```python +from slackblocks import Message, SectionBlock + +print(Message(channel="#general", blocks=SectionBlock("Hello, world!")).json()) +``` + +Pin the current major release with `slackblocks~=2.0`, and uninstall with `pip uninstall slackblocks` (or the equivalent command for your package manager). + + + + +Install the ESM package from npm: + + + + +```bash +pnpm add slackblocks +``` + + + + +```bash +npm install slackblocks +``` + + + + +```bash +yarn add slackblocks +``` + + + + +The package requires Node 20.19 or newer, is ESM-only, and emits no runtime imports beyond your own code. + +Verify the installation in `hello.mjs`: + +```js +import { message, section } from "slackblocks"; + +console.log(message({ + channel: "C0123456", + blocks: [section({ text: "Hello, world!" })], +})); +``` + +Run it with `node hello.mjs`. Pin the pre-1.0 line with `slackblocks~0.1.0`, and uninstall with `pnpm remove slackblocks` (or your package manager's equivalent). + + + diff --git a/docs_src/usage/migration.md b/docs/docs/usage/migration.mdx similarity index 93% rename from docs_src/usage/migration.md rename to docs/docs/usage/migration.mdx index b93a0b5f..f16b5a4c 100644 --- a/docs_src/usage/migration.md +++ b/docs/docs/usage/migration.mdx @@ -1,3 +1,6 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + # Migrating from 1.x to 2.x `slackblocks 2.0` is a major version bump that focuses on cleaning up internal @@ -32,23 +35,35 @@ If you are still on either: - **Stay on the `1.x` line** until you can upgrade Python. The 1.x line is maintained on a best-effort basis for bugfixes; see the - [Compatibility](compatibility.md) page. + [Compatibility](compatibility) page. - Pin via your package manager: -=== "pip (`requirements.txt`)" - ``` - slackblocks>=1,<2 - ``` + + + +``` +slackblocks>=1,<2 +``` + + + + + +```toml +slackblocks = "^1" +``` + + + + + +```toml +"slackblocks>=1,<2" +``` -=== "poetry (`pyproject.toml`)" - ```toml - slackblocks = "^1" - ``` -=== "uv (`pyproject.toml`)" - ```toml - "slackblocks>=1,<2" - ``` + + That's it for breaking changes. Nothing else in the public API was removed or renamed. diff --git a/docs/docs/usage/multilanguage.mdx b/docs/docs/usage/multilanguage.mdx new file mode 100644 index 00000000..ba641ffd --- /dev/null +++ b/docs/docs/usage/multilanguage.mdx @@ -0,0 +1,23 @@ +import CodeBlock from '@theme/CodeBlock'; +import LanguageTabs, { JsonTab, PythonTab, TypeScriptTab } from '@site/src/components/LanguageTabs'; +import pyHello from '!!raw-loader!@site/examples/python/section_hello.py'; +import tsHello from '!!raw-loader!@site/examples/typescript/section_hello.ts'; +import jsonHello from '!!raw-loader!@site/examples/section_hello.json'; + +# Python and TypeScript + +The public APIs are independently idiomatic, while the output and validation categories follow one shared specification. + + + +{pyHello} + + +{tsHello} + + +{jsonHello} + + + +The example files are executed by their native test suites, and both results are compared with the JSON tab. diff --git a/docs/docs/usage/sending_messages.mdx b/docs/docs/usage/sending_messages.mdx new file mode 100644 index 00000000..f47ae311 --- /dev/null +++ b/docs/docs/usage/sending_messages.mdx @@ -0,0 +1,243 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import LanguageTabs, { PythonTab, TypeScriptTab } from '@site/src/components/LanguageTabs'; + +# Sending Messages + +`slackblocks` produces the JSON payloads that Slack APIs accept; it does **not** make HTTP calls itself. Send those payloads with Slack's official SDK or any HTTP client. + + + + +The trick is the `**` operator: a `slackblocks.Message` is a mapping, so you can unpack it directly into `client.chat_postMessage(...)`. + +## With the modern `slack-sdk` + + + + +```python +from os import environ +from slack_sdk import WebClient +from slackblocks import Message, SectionBlock + + +client = WebClient(token=environ["SLACK_API_TOKEN"]) +block = SectionBlock("Hello, world!") +message = Message(channel="#general", blocks=block) + +response = client.chat_postMessage(**message) +``` + + + + + +```json +{ + "channel": "#general", + "mrkdwn": true, + "blocks": [ + { + "type": "section", + "block_id": "992ceb6b-9ad4-496b-b8e6-1bd8a632e8b3", + "text": { + "type": "mrkdwn", + "text": "Hello, world!" + } + } + ] +} +``` +Note: the `block_id` field is a pseudorandomly generated UUID. Pass an explicit `block_id` to any block constructor if you need deterministic IDs (e.g. for testing or interaction handling). + + + + + +```bash +curl -H "Content-type: application/json" \ + --data '{"channel":"#general","blocks":[{"type":"section","block_id":"992ceb6b-9ad4-496b-b8e6-1bd8a632e8b3","text":{"type":"mrkdwn","text":"Hello, world!"}}]}' \ + -H "Authorization: Bearer ${SLACK_API_TOKEN}" \ + -X POST https://slack.com/api/chat.postMessage +``` + + + + + +![Hello World rendered in Slack](/img/hello_world.png) + + + + + +## With the legacy `slackclient` + +The API is identical — only the import path changes: + +```python +from os import environ +from slack import WebClient # legacy slackclient package +from slackblocks import Message, SectionBlock + + +client = WebClient(token=environ["SLACK_API_TOKEN"]) +message = Message(channel="#general", blocks=SectionBlock("Hello, world!")) + +response = client.chat_postMessage(**message) +``` + +## Other delivery surfaces + +`slackblocks` provides specialized message classes for each Slack delivery surface. They all unpack the same way as `Message`. + +### Incoming webhooks + +```python +from slack_sdk.webhook import WebhookClient +from slackblocks import WebhookMessage, SectionBlock + +webhook = WebhookClient(url="https://hooks.slack.com/services/...") +message = WebhookMessage(blocks=SectionBlock("Build complete :white_check_mark:")) + +webhook.send(**message) +``` + +`WebhookMessage` supports webhook-only options like `response_type`, `replace_original`, and `delete_original`. + +### Slash command / interaction responses + +When responding to a slash command or interactive payload, use `MessageResponse`: + +```python +from slackblocks import MessageResponse, SectionBlock + +response_body = MessageResponse( + blocks=SectionBlock("Got it! Working on that now..."), + ephemeral=True, # only visible to the invoking user +).json() +``` + +### Modals & home tabs + +For modals and home tab views, build a `Modal` (or `HomeTabView`) and pass it to `views_open` / `views_publish`: + +```python +from slack_sdk import WebClient +from slackblocks import Modal, SectionBlock + +client = WebClient(token=environ["SLACK_API_TOKEN"]) +modal = Modal( + title="Confirm action", + blocks=[SectionBlock("Are you sure?")], + submit="Yes", + close="Cancel", +) + +client.views_open(trigger_id=trigger_id, view=modal.to_dict()) +``` + +See [Modals reference](../reference/python/modals) and [Views reference](../reference/python/views) for the full surface. + +## Sending without an SDK + +Because `Message` renders to a plain dict, you can also send it directly: + +```python +import json +import os +import urllib.request + +from slackblocks import Message, SectionBlock + +message = Message(channel="#general", blocks=SectionBlock("Hello, world!")) + +req = urllib.request.Request( + "https://slack.com/api/chat.postMessage", + data=message.json().encode("utf-8"), + headers={ + "Content-Type": "application/json; charset=utf-8", + "Authorization": f"Bearer {os.environ['SLACK_API_TOKEN']}", + }, +) +urllib.request.urlopen(req) +``` + + + + +## With `@slack/web-api` + +Factories return plain Slack-shaped objects, so pass the payload directly to the official client: + +```ts +import { WebClient } from "@slack/web-api"; +import { message, section } from "slackblocks"; + +const client = new WebClient(process.env.SLACK_API_TOKEN); +const payload = message({ + channel: "C0123456", + blocks: [section({ text: "Hello, world!" })], +}); + +await client.chat.postMessage(payload); +``` + +Use a channel ID rather than a display name when possible. Provide a `text` fallback for notifications and accessibility in production messages. + +## Incoming webhooks + +```ts +import { IncomingWebhook } from "@slack/webhook"; +import { section, webhookMessage } from "slackblocks"; + +const webhook = new IncomingWebhook(process.env.SLACK_WEBHOOK_URL!); +await webhook.send(webhookMessage({ + blocks: [section({ text: "Build complete :white_check_mark:" })], +})); +``` + +## Slash-command and interaction responses + +Construct the response body, then return it through your web framework: + +```ts +import { messageResponse, section } from "slackblocks"; + +const responseBody = messageResponse({ + blocks: [section({ text: "Got it! Working on that now..." })], + responseType: "ephemeral", +}); +``` + +## Modals and home tabs + +```ts +import { modal, section } from "slackblocks"; + +const view = modal({ + title: "Confirm action", + blocks: [section({ text: "Are you sure?" })], + submit: "Yes", + close: "Cancel", +}); + +await client.views.open({ trigger_id: triggerId, view }); +``` + +## Sending without an SDK + +```ts +await fetch("https://slack.com/api/chat.postMessage", { + method: "POST", + headers: { + authorization: `Bearer ${process.env.SLACK_API_TOKEN}`, + "content-type": "application/json", + }, + body: JSON.stringify(payload), +}); +``` + + + diff --git a/docs_src/usage/troubleshooting.md b/docs/docs/usage/troubleshooting.md similarity index 100% rename from docs_src/usage/troubleshooting.md rename to docs/docs/usage/troubleshooting.md diff --git a/docs/docs/usage/using_blocks.mdx b/docs/docs/usage/using_blocks.mdx new file mode 100644 index 00000000..56ae999e --- /dev/null +++ b/docs/docs/usage/using_blocks.mdx @@ -0,0 +1,718 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Using Blocks + +Blocks are the fundamental visual units of a Slack message. Each block type renders as a different UI component (a section of text, a header, a divider, an image, a row of buttons, and so on). A `Message` is composed of one or more blocks, rendered top-to-bottom. + +This page lists every block type supported by `slackblocks`, with: + +- A short description of what the block is for. +- The `slackblocks` Python code to construct it. +- The JSON payload that's produced. +- A screenshot of how it looks in Slack. + +For the reverse mapping — looking up a class by name — see the [Blocks reference](../reference/python/blocks). For interactive UI bits (buttons, menus, date pickers) that go *inside* blocks, see [Elements](../reference/python/elements). + +## Section Block + + + + + + +```python +from slackblocks import CheckboxGroup, Option, SectionBlock + +SectionBlock( + text="This is a section block with a checkbox accessory.", + block_id="fake_block_id", + accessory=CheckboxGroup( + action_id="checkboxes-action", + options=[ + Option( + text="*Your Only Option*", + value="option_one" + ) + ] + ) +) +``` + + + + + +```json +{ + "type": "section", + "block_id": "fake_block_id", + "text": { + "type": "mrkdwn", + "text": "This is a section block with a checkbox accessory." + }, + "accessory": { + "type": "checkboxes", + "options": [ + { + "text": { + "type": "mrkdwn", + "text": "*Your Only Option*" + }, + "value": "option_one" + } + ], + "action_id": "checkboxes-action" + } +} +``` + + + + + +![An example of the UI output of a Section Block](/img/usage/section.png) + + + + + +## Rich Text Block + + + + +```python +from slackblocks import RichTextBlock, RichTextSection, RichText + +RichTextBlock( + RichTextSection( + [ + RichText( + "You 'bout to witness hip-hop in its most purest", + bold=True, + ), + RichText( + "Most rawest form, flow almost flawless", + strike=True, + ), + RichText( + "Most hardest, most honest known artist", + italic=True, + ), + ] + ), + block_id="fake_block_id", +) +``` + + + + + +```json +{ + "type": "rich_text", + "block_id": "fake_block_id", + "elements": [ + { + "type": "rich_text_section", + "elements": [ + { + "type": "text", + "text": "You 'bout to witness hip-hop in its most purest\n", + "style": { + "bold": true + } + }, + { + "type": "text", + "text": "Most rawest form, flow almost flawless\n", + "style": { + "strike": true + } + }, + { + "type": "text", + "text": "Most hardest, most honest known artist\n", + "style": { + "italic": true + } + } + ] + } + ] +} +``` + + + + + +![An example of the UI output of a Rich Text Block](/img/usage/rich_text.png) + + + + + +## Header Block + + + + + +```python +from slackblocks import HeaderBlock + +HeaderBlock( + "This is a header block", +) +``` + + + + + +```json +{ + "type": "header", + "text": { + "type": "plain_text", + "text": "This is a header block", + "emoji": true + } +} +``` + + + + + +![An example of the UI output of a Header Block](/img/usage/header.png) + + + + + +## Markdown Block + + +Slack added the `markdown` block type in 2024, primarily for AI / agentic apps. Unlike the `mrkdwn` text inside a [Section Block](#section-block), `MarkdownBlock` renders **GitHub-flavored Markdown**, supporting tables, code blocks, and richer list semantics. + +`text` is required (1 - 12,000 characters). + + + + +```python +from slackblocks import MarkdownBlock + +MarkdownBlock( + text="**Hello!** Markdown blocks support _GitHub-flavored_ syntax.", +) +``` + + + + + +```json +{ + "type": "markdown", + "text": "**Hello!** Markdown blocks support _GitHub-flavored_ syntax." +} +``` + + + + + +See the [Slack reference](https://api.slack.com/reference/block-kit/blocks#markdown) for the supported Markdown features. + + +## Image Block + + + + + +```python +from slackblocks import ImageBlock + +ImageBlock( + image_url="https://api.slack.com/img/blocks/bkb_template_images/beagle.png", + alt_text="a beagle", + title="dog", + block_id="fake_block_id", +) +``` + + + + + +```json +{ + "type": "image", + "block_id": "fake_block_id", + "image_url": "https://api.slack.com/img/blocks/bkb_template_images/beagle.png", + "alt_text": "a beagle", + "title": { + "type": "plain_text", + "text": "dog" + } +} +``` + + + + + +![An example of the UI output of an Image Block](/img/usage/image.png) + + + + + +## Input Block + + + + + +```python +from slackblocks import InputBlock, Text, TextType, PlainTextInput + +InputBlock( + label=Text("Label", type_=TextType.PLAINTEXT, emoji=True), + hint=Text("Hint", type_=TextType.PLAINTEXT, emoji=True), + element=PlainTextInput(action_id="action"), + block_id="fake_block_id", + optional=True, +) +``` + + + + + +```json +{ + "type": "input", + "block_id": "fake_block_id", + "label": { + "type": "plain_text", + "text": "Label", + "emoji": true + }, + "element": { + "type": "plain_text_input", + "action_id": "action" + }, + "hint": { + "type": "plain_text", + "text": "Hint", + "emoji": true + }, + "optional": true +} +``` + + + + + +![An example of the UI output of an Input Block](/img/usage/input.png) + + + + + +## Divider Block + + + + + +```python +from slackblocks import DividerBlock + +DividerBlock() +``` + + + + + +```json +{ + "type": "divider" +} +``` + + + + + +![An example of the UI output of an Divider Block](/img/usage/divider.png) + + + + + +## File Block + + + + + +```python +from slackblocks import FileBlock + +FileBlock( + external_id="external_id", + block_id="fake_block_id", +) +``` + + + + + +```json +{ + "type": "file", + "external_id": "external_id", + "source": "remote", + "block_id": "fake_block_id" +} +``` + + + + + +![An example of the UI output of an File Block](https://a.slack-edge.com/f156a3/img/api/file_upload_remote_file.png) +* Note that this example comes from the Slack Web API docs. + + + + + +## Context Block + + + + + +```python +from slackblocks import ContextBlock, Text + +ContextBlock( + elements=[ + Text("Hello, world!"), + ], + block_id="fake_block_id" +) +``` + + + + + +```json +{ + "type": "context", + "block_id": "fake_block_id", + "elements": [ + { + "type": "mrkdwn", + "text": "Hello, world!" + } + ] +} +``` + + + + + +![An example of the UI output of a Context Block](/img/usage/context.png) + + + + + +## Actions Block + + + + +```python +from slackblocks import ActionsBlock, CheckboxGroup, Option + +ActionsBlock( + block_id="fake_block_id", + elements=CheckboxGroup( + action_id="actionId-0", + options=[ + Option(text="*a*", value="a", description="*a*"), + Option(text="*b*", value="b", description="*b*"), + Option(text="*c*", value="c", description="*c*"), + ], + ), +) +``` + + + + + +```json +{ + "type": "actions", + "block_id": "fake_block_id", + "elements": [ + { + "type": "checkboxes", + "action_id": "actionId-0", + "options": [ + { + "text": { + "type": "mrkdwn", + "text": "*a*" + }, + "value": "a", + "description": { + "type": "plain_text", + "text": "*a*" + } + }, + { + "text": { + "type": "mrkdwn", + "text": "*b*" + }, + "value": "b", + "description": { + "type": "plain_text", + "text": "*b*" + } + }, + { + "text": { + "type": "mrkdwn", + "text": "*c*" + }, + "value": "c", + "description": { + "type": "plain_text", + "text": "*c*" + } + } + ] + } + ] +} +``` + + + + + +![An example of the UI output of an Actions Block](/img/usage/actions.png) + + + + + +## Table Block + + + + +```python +from slackblocks import ( + ColumnSettings, + RawText, + RichText, + RichTextLink, + RichTextSection, + TableBlock, +) + +TableBlock( + column_settings=[ + ColumnSettings(align="right", is_wrapped=True), + ColumnSettings(align="left"), + ], + rows=[ + [ + RichTextSection( + elements=[RichText(text="Header 1", bold=True)], + ), + RichTextSection( + elements=[RichText(text="Header 2", bold=True)], + ), + ], + [ + RawText(text="Datum 1"), + RichTextSection( + elements=[ + RichTextLink( + url="https://slack.com", + text="Datum 2", + ) + ], + ), + ], + ], +) +``` + + + + + +```json +{ + "blocks": [ + { + "type": "table", + "rows": [ + [ + { + "type": "rich_text", + "elements": [ + { + "type": "rich_text_section", + "elements": [ + { + "type": "text", + "text": "Header 1", + "style": { + "bold": true + } + } + ] + } + ] + }, + { + "type": "rich_text", + "elements": [ + { + "type": "rich_text_section", + "elements": [ + { + "type": "text", + "text": "Header 2", + "style": { + "bold": true + } + } + ] + } + ] + } + ], + [ + { + "type": "rich_text", + "elements": [ + { + "type": "rich_text_section", + "elements": [ + { + "type": "text", + "text": "Datum 1" + } + ] + } + ] + }, + { + "type": "rich_text", + "elements": [ + { + "type": "rich_text_section", + "elements": [ + { + "type": "text", + "text": "Datum 2" + } + ] + } + ] + } + ] + ] + } + ] +} +``` + + + + + +![An example of the UI output of a Table Block](/img/usage/table.png) + + + + + +## Video Block + + +Embeds a video from a Slack-supported provider (e.g. YouTube, Vimeo). The `title` accepts either a `str` (coerced to plain-text) or a `Text` instance; `description` works the same way. + +Required: `alt_text`, `thumbnail_url`, `title`, `video_url`. Slack restricts which domains may be embedded — supplying an unsupported URL will produce a Slack API error rather than an `InvalidUsageError` at construction. + + + + +```python +from slackblocks import VideoBlock + +VideoBlock( + alt_text="How to use slackblocks", + thumbnail_url="https://example.com/thumb.png", + title="Getting Started", + video_url="https://example.com/video.mp4", + author_name="The slackblocks docs", + description="A short walkthrough.", + provider_name="example.com", + title_url="https://example.com", +) +``` + + + + + +```json +{ + "type": "video", + "alt_text": "How to use slackblocks", + "thumbnail_url": "https://example.com/thumb.png", + "title": { + "type": "plain_text", + "text": "Getting Started" + }, + "video_url": "https://example.com/video.mp4", + "author_name": "The slackblocks docs", + "description": { + "type": "plain_text", + "text": "A short walkthrough." + }, + "provider_name": "example.com", + "title_url": "https://example.com" +} +``` + + + + + +See the [Slack reference](https://api.slack.com/reference/block-kit/blocks#video) for the full list of optional fields and provider requirements. diff --git a/docs/docusaurus.config.ts b/docs/docusaurus.config.ts new file mode 100644 index 00000000..eff574d6 --- /dev/null +++ b/docs/docusaurus.config.ts @@ -0,0 +1,123 @@ +import type { Config } from "@docusaurus/types"; +import type { Options as ClassicPresetOptions } from "@docusaurus/preset-classic"; + +const config: Config = { + title: "slackblocks", + tagline: "Validated Slack Block Kit construction for Python and TypeScript", + favicon: "img/sb.png", + url: "https://nicklambourne.github.io", + baseUrl: "/slackblocks/", + organizationName: "nicklambourne", + projectName: "slackblocks", + trailingSlash: false, + onBrokenLinks: "throw", + onBrokenAnchors: "throw", + markdown: { + format: "detect", + hooks: { + onBrokenMarkdownLinks: "throw", + }, + }, + presets: [ + [ + "classic", + { + docs: { + routeBasePath: "/", + sidebarPath: "./sidebars.ts", + editUrl: "https://github.com/nicklambourne/slackblocks/tree/master/docs/", + showLastUpdateTime: true, + }, + blog: false, + theme: { + customCss: "./src/css/custom.css", + }, + } satisfies ClassicPresetOptions, + ], + ], + plugins: [ + [ + "docusaurus-plugin-typedoc", + { + entryPoints: ["../typescript/src/index.ts"], + tsconfig: "../typescript/tsconfig.typedoc.json", + out: "docs/reference/typescript", + readme: "none", + excludePrivate: true, + excludeInternal: true, + sidebar: { + autoConfiguration: false, + }, + }, + ], + [ + "@docusaurus/plugin-client-redirects", + { + redirects: [ + { from: "/latest", to: "/" }, + { from: "/latest/contributing", to: "/contributing" }, + { from: "/latest/usage/compatibility", to: "/usage/compatibility" }, + { from: "/latest/usage/cookbook", to: "/usage/cookbook" }, + { from: "/latest/usage/installation", to: "/usage/installation" }, + { from: "/latest/usage/migration", to: "/usage/migration" }, + { from: "/latest/usage/sending_messages", to: "/usage/sending_messages" }, + { from: "/latest/usage/troubleshooting", to: "/usage/troubleshooting" }, + { from: "/latest/usage/using_blocks", to: "/usage/using_blocks" }, + { from: "/latest/reference/attachments", to: "/reference/python/attachments" }, + { from: "/latest/reference/blocks", to: "/reference/python/blocks" }, + { from: "/latest/reference/elements", to: "/reference/python/elements" }, + { from: "/latest/reference/messages", to: "/reference/python/messages" }, + { from: "/latest/reference/modals", to: "/reference/python/modals" }, + { from: "/latest/reference/objects", to: "/reference/python/objects" }, + { from: "/latest/reference/rich_text", to: "/reference/python/rich_text" }, + { from: "/latest/reference/utils", to: "/reference/python/builder" }, + { from: "/latest/reference/views", to: "/reference/python/views" }, + { from: "/reference/attachments", to: "/reference/python/attachments" }, + { from: "/reference/blocks", to: "/reference/python/blocks" }, + { from: "/reference/elements", to: "/reference/python/elements" }, + { from: "/reference/messages", to: "/reference/python/messages" }, + { from: "/reference/modals", to: "/reference/python/modals" }, + { from: "/reference/objects", to: "/reference/python/objects" }, + { from: "/reference/rich_text", to: "/reference/python/rich_text" }, + { from: "/reference/utils", to: "/reference/python/builder" }, + { from: "/reference/views", to: "/reference/python/views" }, + ], + }, + ], + ], + themes: [ + [ + "@easyops-cn/docusaurus-search-local", + { + hashed: true, + indexDocs: true, + }, + ], + ], + themeConfig: { + image: "img/sb.png", + navbar: { + title: "slackblocks", + logo: { alt: "slackblocks logo", src: "img/sb.png" }, + items: [ + { to: "/usage/installation", label: "Guides", position: "left" }, + { to: "/reference", label: "Reference", position: "left" }, + { + href: "https://github.com/nicklambourne/slackblocks", + label: "GitHub", + position: "right", + }, + ], + }, + colorMode: { + defaultMode: "light", + respectPrefersColorScheme: true, + }, + footer: { + style: "dark", + copyright: `Copyright © ${new Date().getFullYear()} Nicholas Lambourne`, + }, + }, +}; + +export default config; diff --git a/docs/examples/python/section_hello.py b/docs/examples/python/section_hello.py new file mode 100644 index 00000000..3d469e23 --- /dev/null +++ b/docs/examples/python/section_hello.py @@ -0,0 +1,6 @@ +from slackblocks import Message, SectionBlock + +payload = Message( + channel="C0123456", + blocks=SectionBlock("Hello from slackblocks!", block_id="hello"), +).to_dict() diff --git a/docs/examples/section_hello.json b/docs/examples/section_hello.json new file mode 100644 index 00000000..57d654e0 --- /dev/null +++ b/docs/examples/section_hello.json @@ -0,0 +1,15 @@ +{ + "channel": "C0123456", + "mrkdwn": true, + "blocks": [ + { + "type": "section", + "block_id": "hello", + "text": { + "type": "mrkdwn", + "text": "Hello from slackblocks!" + } + } + ], + "text": "" +} diff --git a/docs/examples/typescript/package.json b/docs/examples/typescript/package.json new file mode 100644 index 00000000..3dbc1ca5 --- /dev/null +++ b/docs/examples/typescript/package.json @@ -0,0 +1,3 @@ +{ + "type": "module" +} diff --git a/docs/examples/typescript/section_hello.ts b/docs/examples/typescript/section_hello.ts new file mode 100644 index 00000000..dae22bc5 --- /dev/null +++ b/docs/examples/typescript/section_hello.ts @@ -0,0 +1,6 @@ +import { message, section } from "slackblocks"; + +export const payload = message({ + channel: "C0123456", + blocks: [section({ text: "Hello from slackblocks!", blockId: "hello" })], +}); diff --git a/docs/package.json b/docs/package.json new file mode 100644 index 00000000..0723577f --- /dev/null +++ b/docs/package.json @@ -0,0 +1,33 @@ +{ + "name": "@slackblocks/docs", + "version": "1.0.0", + "private": true, + "scripts": { + "generate:python": "UV_CACHE_DIR=../.uv-cache uv run --project ../python --group docs python scripts/generate_python_reference.py", + "generate:parity": "UV_CACHE_DIR=../.uv-cache uv run --project ../python python ../spec/tools/parity.py docs/reference/parity.mdx", + "generate": "pnpm generate:python && pnpm generate:parity", + "start": "pnpm generate && docusaurus start", + "build": "pnpm generate && docusaurus build", + "typecheck": "tsc --noEmit", + "test": "pnpm typecheck" + }, + "dependencies": { + "@docusaurus/core": "^3.10.2", + "@docusaurus/plugin-client-redirects": "^3.10.2", + "@docusaurus/preset-classic": "^3.10.2", + "@docusaurus/types": "^3.10.2", + "@easyops-cn/docusaurus-search-local": "^0.55.3", + "docusaurus-plugin-typedoc": "^1.4.2", + "prism-react-renderer": "^2.4.1", + "raw-loader": "^4.0.2", + "slackblocks": "workspace:*", + "typedoc-plugin-markdown": "^4.12.0" + }, + "devDependencies": { + "@docusaurus/tsconfig": "^3.10.2", + "@types/react": "^18.3.28", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "typescript": "^5.9.3" + } +} diff --git a/docs/scripts/generate_python_reference.py b/docs/scripts/generate_python_reference.py new file mode 100644 index 00000000..77867989 --- /dev/null +++ b/docs/scripts/generate_python_reference.py @@ -0,0 +1,100 @@ +"""Generate Docusaurus Markdown reference pages from Griffe-discovered exports.""" + +from __future__ import annotations + +import importlib +import inspect +import json +import sys +from collections import defaultdict +from pathlib import Path +from typing import Any + +import griffe + +DOCS_ROOT = Path(__file__).resolve().parents[1] +REPO_ROOT = DOCS_ROOT.parent +PYTHON_ROOT = REPO_ROOT / "python" +OUTPUT_ROOT = DOCS_ROOT / "docs" / "reference" / "python" + +CATEGORIES = { + "attachments": "Attachments", + "blocks": "Blocks", + "builder": "Utilities", + "elements": "Elements", + "errors": "Errors", + "messages": "Messages", + "modals": "Modals", + "objects": "Composition objects", + "rich_text": "Rich text", + "utils": "Utilities", + "views": "Views", +} + + +def category_for(value: Any) -> str: + module = getattr(value, "__module__", "slackblocks") + tail = module.removeprefix("slackblocks.").split(".", 1)[0] + return tail if tail in CATEGORIES else "objects" + + +def signature(value: Any) -> str: + try: + return str(inspect.signature(value)) + except (TypeError, ValueError): + return "" + + +def render_symbol(name: str, value: Any) -> str: + kind = "Class" if inspect.isclass(value) else "Function" if callable(value) else "Value" + definition = f"{name}{signature(value)}" if callable(value) else name + doc = inspect.getdoc(value) or "No public documentation is available." + return "\n".join( + [ + f"## `{name}`", + "", + f"**{kind}**", + "", + "```python", + definition, + "```", + "", + f'
{{{json.dumps(doc)}}}
', + "", + ] + ) + + +def main() -> None: + analysis = griffe.load(PYTHON_ROOT / "slackblocks", submodules=True) + sys.path.insert(0, str(PYTHON_ROOT)) + package = importlib.import_module("slackblocks") + discovered = { + name for name in analysis.members if not name.startswith("_") and hasattr(package, name) + } + runtime_exports = { + name for name in vars(package) if not name.startswith("_") and name != "name" + } + exports = sorted(discovered | runtime_exports) + + grouped: dict[str, list[tuple[str, Any]]] = defaultdict(list) + for name in exports: + grouped[category_for(getattr(package, name))].append((name, getattr(package, name))) + + OUTPUT_ROOT.mkdir(parents=True, exist_ok=True) + index = ["# Python API reference", "", f"{len(exports)} public symbols are documented.", ""] + for category in sorted(grouped): + title = CATEGORIES[category] + index.append(f"- [{title}](/reference/python/{category})") + page = [f"# {title}", ""] + page.extend(render_symbol(name, value) for name, value in grouped[category]) + (OUTPUT_ROOT / f"{category}.mdx").write_text("\n".join(page)) + (OUTPUT_ROOT / "index.mdx").write_text("\n".join(index) + "\n") + + if len(exports) < 86: + raise RuntimeError(f"Expected at least 86 public symbols, generated {len(exports)}") + print(f"Generated Python reference for {len(exports)} public symbols") + + +if __name__ == "__main__": + main() diff --git a/docs/sidebars.ts b/docs/sidebars.ts new file mode 100644 index 00000000..040e34de --- /dev/null +++ b/docs/sidebars.ts @@ -0,0 +1,7 @@ +import type { SidebarsConfig } from "@docusaurus/plugin-content-docs"; + +const sidebars: SidebarsConfig = { + docs: [{ type: "autogenerated", dirName: "." }], +}; + +export default sidebars; diff --git a/docs/src/components/LanguageTabs/index.tsx b/docs/src/components/LanguageTabs/index.tsx new file mode 100644 index 00000000..0e08565d --- /dev/null +++ b/docs/src/components/LanguageTabs/index.tsx @@ -0,0 +1,49 @@ +import { Children, isValidElement, type PropsWithChildren } from "react"; +import TabItem from "@theme/TabItem"; +import Tabs from "@theme/Tabs"; + +export default function LanguageTabs({ children }: PropsWithChildren) { + const items = Children.toArray(children).map((child, index) => { + if (!isValidElement(child)) return null; + if (child.type === PythonTab) { + return ( + + {child.props.children} + + ); + } + if (child.type === TypeScriptTab) { + return ( + + {child.props.children} + + ); + } + if (child.type === JsonTab) { + return ( + + {child.props.children} + + ); + } + return null; + }); + + return ( + + {items} + + ); +} + +export function PythonTab({ children }: PropsWithChildren) { + return <>{children}; +} + +export function TypeScriptTab({ children }: PropsWithChildren) { + return <>{children}; +} + +export function JsonTab({ children }: PropsWithChildren) { + return <>{children}; +} diff --git a/docs/src/css/custom.css b/docs/src/css/custom.css new file mode 100644 index 00000000..6e769a46 --- /dev/null +++ b/docs/src/css/custom.css @@ -0,0 +1,29 @@ +:root { + --ifm-color-primary: #4a154b; + --ifm-color-primary-dark: #431344; + --ifm-color-primary-darker: #3f1240; + --ifm-color-primary-darkest: #340f35; + --ifm-color-primary-light: #511752; + --ifm-color-primary-lighter: #551856; + --ifm-color-primary-lightest: #601b61; + --ifm-code-font-size: 92%; +} + +[data-theme="dark"] { + --ifm-color-primary: #d8a7db; + --ifm-color-primary-dark: #ca8bce; + --ifm-color-primary-darker: #c47dc8; + --ifm-color-primary-darkest: #af53b4; + --ifm-color-primary-light: #e6c3e8; + --ifm-color-primary-lighter: #ecd1ee; + --ifm-color-primary-lightest: #fff; +} + +.api-docstring { + font-family: var(--ifm-font-family-base); + white-space: pre-wrap; +} + +.typedoc-sidebar-item-deprecated { + text-decoration: line-through; +} diff --git a/docs_src/img/hello_world.png b/docs/static/img/hello_world.png similarity index 100% rename from docs_src/img/hello_world.png rename to docs/static/img/hello_world.png diff --git a/docs_src/img/sb.png b/docs/static/img/sb.png similarity index 100% rename from docs_src/img/sb.png rename to docs/static/img/sb.png diff --git a/docs_src/img/sb.svg b/docs/static/img/sb.svg similarity index 100% rename from docs_src/img/sb.svg rename to docs/static/img/sb.svg diff --git a/docs_src/img/usage/actions.png b/docs/static/img/usage/actions.png similarity index 100% rename from docs_src/img/usage/actions.png rename to docs/static/img/usage/actions.png diff --git a/docs_src/img/usage/context.png b/docs/static/img/usage/context.png similarity index 100% rename from docs_src/img/usage/context.png rename to docs/static/img/usage/context.png diff --git a/docs_src/img/usage/divider.png b/docs/static/img/usage/divider.png similarity index 100% rename from docs_src/img/usage/divider.png rename to docs/static/img/usage/divider.png diff --git a/docs_src/img/usage/header.png b/docs/static/img/usage/header.png similarity index 100% rename from docs_src/img/usage/header.png rename to docs/static/img/usage/header.png diff --git a/docs_src/img/usage/image.png b/docs/static/img/usage/image.png similarity index 100% rename from docs_src/img/usage/image.png rename to docs/static/img/usage/image.png diff --git a/docs_src/img/usage/input.png b/docs/static/img/usage/input.png similarity index 100% rename from docs_src/img/usage/input.png rename to docs/static/img/usage/input.png diff --git a/docs_src/img/usage/rich_text.png b/docs/static/img/usage/rich_text.png similarity index 100% rename from docs_src/img/usage/rich_text.png rename to docs/static/img/usage/rich_text.png diff --git a/docs_src/img/usage/section.png b/docs/static/img/usage/section.png similarity index 100% rename from docs_src/img/usage/section.png rename to docs/static/img/usage/section.png diff --git a/docs_src/img/usage/table.png b/docs/static/img/usage/table.png similarity index 100% rename from docs_src/img/usage/table.png rename to docs/static/img/usage/table.png diff --git a/docs/tsconfig.json b/docs/tsconfig.json new file mode 100644 index 00000000..0130b76d --- /dev/null +++ b/docs/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "@docusaurus/tsconfig", + "compilerOptions": { + "baseUrl": ".", + "module": "ESNext", + "moduleResolution": "Bundler", + "verbatimModuleSyntax": false + }, + "exclude": ["build", ".docusaurus"] +} diff --git a/docs_src/contributing.md b/docs_src/contributing.md deleted file mode 100644 index c5f91ce3..00000000 --- a/docs_src/contributing.md +++ /dev/null @@ -1,215 +0,0 @@ -# Contributing - -Contributions are welcome — bug fixes, new block/element support, documentation improvements, and test coverage are all appreciated. - -This page covers everything you need to develop, test, and submit changes to `slackblocks` itself. If you're looking for help *using* the library, see [Troubleshooting & FAQ](usage/troubleshooting.md) instead. - -## Where to start - -- **Bugs and feature requests:** open an issue at . -- **Small fixes** (typos, docstrings, missed validation): a PR is fine; no issue needed first. -- **Larger changes** (new block types, behaviour changes, API additions): please open an issue first to discuss the approach. Block Kit evolves and not every Slack-side feature is a clean fit. - -## Local development setup - -`slackblocks` uses [uv](https://docs.astral.sh/uv/) to manage dependencies and the dev environment. Install uv first if you don't have it: - -```bash -curl -LsSf https://astral.sh/uv/install.sh | sh -# or: brew install uv -``` - -Then clone and sync: - -```bash -git clone https://github.com/nicklambourne/slackblocks.git -cd slackblocks -uv sync --all-groups -``` - -`uv sync --all-groups` installs the library in editable mode along with the `dev` group (test, lint, type-check tooling) and the `docs` group (mkdocs and friends). If you only need one of those groups, use `uv sync --group dev` or `uv sync --group docs`. - -All commands below should be prefixed with `uv run ` so they execute inside the project's virtual environment. - -### Python version - -The library targets **Python 3.8.1+** and is tested against 3.8 through 3.14 in CI. You can develop against any supported version, but check that anything you add doesn't accidentally rely on a newer Python feature (e.g. `match` statements, the `|` union syntax in annotations evaluated at runtime, `from __future__ import annotations` is OK). - -## Running checks - -The project enforces five CI gates on every PR. Run them locally before pushing: - -### Unit tests - -```bash -uv run pytest test/unit -``` - -Tests live in `test/unit/` and assert that `slackblocks` constructs valid Block Kit JSON by comparing against fixture files in `test/samples/`. When adding or modifying a block/element/object, add a corresponding test that: - -1. Constructs the object. -2. Compares its `repr()` (or `_resolve()`) against a JSON fixture file. - -The shared helpers in `test/unit/utils.py` (`fetch_sample`, `OPTION_A`/`B`/`C`) keep tests concise. - -!!! note - `pyproject.toml` configures pytest to **turn warnings into errors** (`filterwarnings = ["error"]`). If a dependency emits a deprecation warning, the tests will fail. This applies only to this repository's CI — it doesn't affect your application. - -### Black formatting - -```bash -uv run black . # format -uv run black . --check # CI mode: fail if formatting changes are needed -``` - -CI runs `black . --check` and will fail the PR if anything is unformatted. - -### flake8 linting - -```bash -uv run flake8 slackblocks -``` - -Configuration lives in `pyproject.toml` under `[tool.flake8]`. Per-file ignores already cover the unavoidable cases (re-exports in `__init__.py`, escape sequences in regex literals). - -### mypy type checking - -```bash -uv run mypy slackblocks -``` - -`slackblocks` ships `py.typed`, so type hints are part of the public API. New public classes and functions should be fully annotated. - -### twine package check - -```bash -uv build -uv run twine check --strict dist/* -``` - -This validates that the package metadata and rendered README are accepted by PyPI. CI runs this on every PR — see [`.github/workflows/package-check.yml`](https://github.com/nicklambourne/slackblocks/blob/master/.github/workflows/package-check.yml). - -### Run everything in one go - -```bash -uv run pytest test/unit \ - && uv run black . --check \ - && uv run flake8 slackblocks \ - && uv run mypy slackblocks \ - && uv build \ - && uv run twine check --strict dist/* -``` - -## Working on the docs - -The documentation site uses [MkDocs Material](https://squidfunk.github.io/mkdocs-material/) with [mkdocstrings](https://mkdocstrings.github.io/) for auto-generated API reference pages from the source docstrings. - -```bash -uv run mkdocs serve -# visit http://127.0.0.1:8000/ -``` - -Source files live in `docs_src/`: - -- `docs_src/index.md` — landing page. -- `docs_src/usage/` — narrative guides (Installation, Using Blocks, Sending Messages, Cookbook, Troubleshooting). -- `docs_src/reference/` — auto-generated API reference. Each page is mostly a `:::` mkdocstrings include with a short orientation intro. -- `docs_src/img/` — images, including per-block screenshots in `docs_src/img/usage/`. - -Navigation order is configured in `mkdocs.yml`. If you add a new page, remember to register it under `nav:`. - -### Updating docstrings - -The reference pages render directly from the docstrings on classes and functions. `slackblocks` uses **Google-style docstrings**: - -```python -def something(arg: str, optional: int = 0) -> bool: - """ - Short, single-sentence summary. - - Longer description if needed. Mention behaviour, edge cases, and the - relevant Slack API doc page (with a URL). - - Args: - arg: what `arg` is and what valid values look like. - optional: defaults to `0`. Note the limit if Slack imposes one. - - Throws: - InvalidUsageError: if `arg` exceeds the 255-character limit. - """ -``` - -When linking between docs, **use relative `.md` paths** (e.g. `[Blocks](reference/blocks.md)`) rather than absolute `/slackblocks/latest/...` URLs — relative links work in local previews, on GitHub, and on the deployed site; absolute URLs only work on the deployed site. - -### Versioned docs - -The deployed docs are versioned with [mike](https://github.com/jimporter/mike). The `docs.yml` workflow runs on each release and publishes a new versioned site under `latest/`. You don't need to run `mike` manually as part of a normal contribution. - -## Validation in the library - -A core selling point of `slackblocks` is that constructing an invalid object raises `InvalidUsageError` eagerly rather than letting it fail server-side at Slack. When adding a new field or block, check Slack's reference page (linked in every docstring) for: - -- **Character limits** on text fields — use the helpers in `slackblocks/utils.py` (e.g. `validate_string`, `validate_action_id`) rather than duplicating limit checks. -- **Min/max counts** on collections — validate in `__init__` and raise `InvalidUsageError` with a message that includes the actual length and the limit. -- **Mutually exclusive arguments** — raise `InvalidUsageError` with both possibilities named. -- **Allowed element types** in containers (e.g. `ContextBlock` only accepts `Text` and `Image`). - -Validation tests live in `test/unit/test_errors.py` and the per-module test files. Add a test for each new error path. - -## Pull request checklist - -Before opening a PR: - -- [ ] The change is covered by a unit test (or has a clear reason not to be). -- [ ] `uv run pytest test/unit` passes. -- [ ] `uv run black . --check` passes. -- [ ] `uv run flake8 slackblocks` passes. -- [ ] `uv run mypy slackblocks` passes. -- [ ] `uv run twine check --strict dist/*` passes (after `uv build`). -- [ ] If you added or modified a public class/function, its docstring is updated in Google style. -- [ ] If you added a new block, element, or object, it's exported from `slackblocks/__init__.py`. -- [ ] If you added a new feature surface, the relevant `docs_src/usage/` page (and possibly the [Cookbook](usage/cookbook.md)) is updated. - -PRs are reviewed against `master`. Keep changes focused — separate refactors from feature additions where practical. - -## Project layout - -``` -slackblocks/ # the library -├── __init__.py # public API surface (re-exports) -├── attachments.py # Attachment, Color, Field -├── blocks.py # all *Block classes -├── elements.py # all interactive elements -├── errors.py # InvalidUsageError -├── messages.py # Message, WebhookMessage, MessageResponse -├── modals.py # Modal (legacy alias for ModalView) -├── objects.py # composition objects: Text, Option, etc. -├── rich_text/ # rich text elements + containers -├── utils.py # shared validation helpers -└── views.py # ModalView, HomeTabView - -test/ -├── unit/ # unit tests (run in CI) -├── integration/ # live Slack API tests (not run in CI) -└── samples/ # JSON fixtures for unit tests - -docs_src/ # mkdocs source -.github/workflows/ # CI pipelines -pyproject.toml # project metadata, dep groups, tool config -uv.lock # locked dependency versions -``` - -## Releases - -Releases are cut by the maintainer: - -1. Bump `version` in `pyproject.toml` (under `[project]`). -2. Tag the commit (`v1.x.y`). -3. Push the tag — `publish.yml` runs `uv build` and publishes the resulting sdist and wheel to PyPI. -4. The GitHub release triggers `docs.yml`, which deploys the versioned docs. - -Contributors don't need to do anything for a release; just open PRs and the maintainer will batch them. - -## Questions? - -Open a GitHub issue or start a discussion at . diff --git a/docs_src/index.md b/docs_src/index.md deleted file mode 100644 index 58fb778f..00000000 --- a/docs_src/index.md +++ /dev/null @@ -1,95 +0,0 @@ -# Welcome to `slackblocks`! - -

- -

- -`slackblocks` is a Python library for building Slack messages with the [Block Kit API](https://api.slack.com/block-kit) — without writing JSON by hand. - -It exists because Block Kit JSON is verbose, easy to get subtly wrong, and unpleasant to maintain in source control. `slackblocks` gives you: - -- **Typed Python classes** for every block, element, and object Slack supports. -- **Validation as you build** — character limits, required fields, mutually-exclusive options, and element-type restrictions are enforced at construction time, so you find out *before* hitting Slack's API. -- **Drop-in compatibility** with both the official [`slack-sdk`](https://pypi.org/project/slack-sdk/) and the legacy [`slackclient`](https://pypi.org/project/slackclient/) — unpack a `Message` directly into `client.chat_postMessage(**message)`. -- **Zero runtime dependencies.** - -## Quickstart - -```bash -pip install slackblocks -``` - -```python -from slackblocks import HeaderBlock, Message, SectionBlock, DividerBlock - -message = Message( - channel="#general", - blocks=[ - HeaderBlock("Build #482 passed :white_check_mark:"), - SectionBlock("All 1,247 tests green in 3m 12s."), - DividerBlock(), - SectionBlock("*Author:* @nick • *Branch:* `main`"), - ], -) - -print(message.json()) -``` - -See the [installation guide](usage/installation.md) and [sending messages guide](usage/sending_messages.md) to take it from here. - -## Components - -The [Slack Block Kit API](https://api.slack.com/block-kit) defines several resource types (all defined in JSON) that work together to build block-based messages. `slackblocks` mirrors that hierarchy with Python classes. - -### Objects - -[Objects](reference/objects.md) (e.g. [`Text`](reference/objects.md#objects.Text), [`Option`](reference/objects.md#objects.Option), [`Confirm`](reference/objects.md#objects.Confirm)) are the lowest-level primitives — small composable pieces that populate [Elements](reference/elements.md) and [Blocks](reference/blocks.md). - -For convenience, [`PlainText`](reference/objects.md#objects.PlainText) and [`Markdown`](reference/objects.md#objects.Markdown) are thin subclasses of `Text` that you can use anywhere a `Text` is expected — `PlainText("Hi", emoji=True)` reads more naturally than `Text("Hi", type_=TextType.PLAINTEXT, emoji=True)`. - -### Elements - -[Elements](reference/elements.md) are typically interactive UI controls that go *inside* blocks. The [`CheckboxGroup`](reference/elements.md#elements.CheckboxGroup) element, for instance, takes one or more [`Option`](reference/objects.md#objects.Option) items and presents a checkbox menu. - -### Blocks - -[Blocks](reference/blocks.md) are the core visual unit of a message. Different block classes produce different UI: - -- [`SectionBlock`](reference/blocks.md#blocks.SectionBlock) — a chunk of markdown text, optionally with an accessory element. -- [`HeaderBlock`](reference/blocks.md#blocks.HeaderBlock) — a large bold title. -- [`DividerBlock`](reference/blocks.md#blocks.DividerBlock) — a visual separator (like an HTML `
`). -- [`MarkdownBlock`](reference/blocks.md#blocks.MarkdownBlock) — GitHub-flavored Markdown (Slack 2024+; richer formatting than `mrkdwn`). -- [`RichTextBlock`](reference/blocks.md#blocks.RichTextBlock) — formatted text with inline styling, lists, code blocks, and quotes. -- [`ActionsBlock`](reference/blocks.md#blocks.ActionsBlock) — a row of interactive elements like buttons or menus. -- [`VideoBlock`](reference/blocks.md#blocks.VideoBlock) — embed a video from a Slack-supported provider. -- [`ImageBlock`](reference/blocks.md#blocks.ImageBlock), [`ContextBlock`](reference/blocks.md#blocks.ContextBlock), [`InputBlock`](reference/blocks.md#blocks.InputBlock), [`FileBlock`](reference/blocks.md#blocks.FileBlock), [`TableBlock`](reference/blocks.md#blocks.TableBlock). - -See [Using Blocks](usage/using_blocks.md) for examples of all block types side-by-side with their JSON output and Slack rendering. - -### Messages - -[Messages](reference/messages.md) are a convenience wrapper around blocks that can be unpacked directly into the Slack SDK's `chat_postMessage` (and friends). - -- [`Message`](reference/messages.md#messages.Message) — a normal channel message. -- [`WebhookMessage`](reference/messages.md#messages.WebhookMessage) — for incoming webhooks. -- [`MessageResponse`](reference/messages.md#messages.MessageResponse) — replies to slash commands and interactions. - -### Views - -[Views](reference/views.md) are an alternative usage of blocks that build custom UI surfaces in Slack — modal dialogs and the App Home tab — typically used by interactive Slack apps. - -### Utilities - -- [`block_kit_builder_url(payload, team_id=None)`](reference/utils.md#builder.block_kit_builder_url) — turn any block, list of blocks, message, or view into a [Block Kit Builder](https://app.slack.com/block-kit-builder) URL for browser-based preview. -- [`Block.from_dict(data)`](reference/blocks.md#blocks.Block.from_dict) — parse a Slack-shaped block payload back into a `slackblocks` object. Per-class `from_dict` parsers are also available on every composition object. - -## Guides - -- [Installation](usage/installation.md) -- [Compatibility](usage/compatibility.md) — which Python versions each release line supports. -- [Using Blocks](usage/using_blocks.md) -- [Sending Messages](usage/sending_messages.md) -- [Cookbook](usage/cookbook.md) — complete end-to-end recipes for common message patterns. -- [Migrating from 1.x](usage/migration.md) — upgrade guide for `1.x` users. -- [Troubleshooting & FAQ](usage/troubleshooting.md) -- [Contributing](contributing.md) — developing and contributing to `slackblocks` itself. diff --git a/docs_src/reference/attachments.md b/docs_src/reference/attachments.md deleted file mode 100644 index e6d7de9a..00000000 --- a/docs_src/reference/attachments.md +++ /dev/null @@ -1,15 +0,0 @@ -# Attachments - -!!! warning "Deprecated by Slack" - - Attachments, while still accepted by the Slack API, have been considered a deprecated feature for years. Prefer plain blocks where possible. - - The one remaining reason to use attachments is the colored vertical bar to the left of the content — this styling can't currently be achieved with blocks. - -See the [colored-bar attachment cookbook recipe](../usage/cookbook.md#deprecated-colored-bar-attachment) for usage. - -Slack reference: - -::: attachments - options: - show_bases: false diff --git a/docs_src/reference/blocks.md b/docs_src/reference/blocks.md deleted file mode 100644 index 20276334..00000000 --- a/docs_src/reference/blocks.md +++ /dev/null @@ -1,14 +0,0 @@ -# Blocks - -**Blocks** are the top-level visual building units of a Slack message. A `Message` is a list of blocks, rendered top-to-bottom in Slack. - -For a side-by-side gallery of every block type with code, JSON, and Slack screenshots, see [Using Blocks](../usage/using_blocks.md). - -For the elements that go *inside* blocks (buttons, menus, date pickers, etc.) see [Elements](elements.md). - -Slack reference: - -::: blocks - options: - filters: ["!^BlockType$", "!^_block_from_dict_registry$"] - show_bases: false diff --git a/docs_src/reference/elements.md b/docs_src/reference/elements.md deleted file mode 100644 index 243813a1..00000000 --- a/docs_src/reference/elements.md +++ /dev/null @@ -1,12 +0,0 @@ -# Elements - -**Elements** are interactive UI controls that go inside blocks — buttons, select menus, date pickers, text inputs, and so on. They're typically embedded in a [`SectionBlock`](blocks.md#blocks.SectionBlock) (as an `accessory`), an [`ActionsBlock`](blocks.md#blocks.ActionsBlock) (as one of several elements), or an [`InputBlock`](blocks.md#blocks.InputBlock) (as the input control). - -Many elements take [`Option`](objects.md#objects.Option) or [`ConfirmationDialogue`](objects.md#objects.ConfirmationDialogue) objects as parameters — see [Objects](objects.md). - -Slack reference: - -::: elements - options: - filters: ["!^Element", "!^ElementType"] - show_bases: false diff --git a/docs_src/reference/messages.md b/docs_src/reference/messages.md deleted file mode 100644 index a8089657..00000000 --- a/docs_src/reference/messages.md +++ /dev/null @@ -1,18 +0,0 @@ -# Messages - -**Messages** are the top-level objects you send to Slack. `slackblocks` provides several message types depending on the API surface you're targeting: - -| Class | When to use it | -|----------------------|-------------------------------------------------------------------------------------------------| -| `Message` | Posting a normal message via `chat.postMessage` (the most common case). | -| `WebhookMessage` | Sending to an [Incoming Webhook](https://api.slack.com/messaging/webhooks) URL. | -| `MessageResponse` | Replying to a slash command or an interaction `response_url`. | - -All three implement `__getitem__`/`keys()`, so you can unpack them with `**message` straight into the Slack SDK. See [Sending Messages](../usage/sending_messages.md) for end-to-end examples. - -Slack reference: - -::: messages - options: - filters: ["!^BaseMessage"] - show_bases: false diff --git a/docs_src/reference/modals.md b/docs_src/reference/modals.md deleted file mode 100644 index 53c989bc..00000000 --- a/docs_src/reference/modals.md +++ /dev/null @@ -1,11 +0,0 @@ -# Modals - -A **Modal** is a pop-up dialog used to collect input from a user. Modals are opened in response to an interaction (button click, slash command) using a `trigger_id` returned by Slack. - -`Modal` is kept as a thin compatibility wrapper around [`ModalView`](views.md#views.ModalView) — new code can use either. See the [Confirmation modal cookbook recipe](../usage/cookbook.md#confirmation-modal) for a complete example. - -Slack reference: - -::: modals - options: - show_bases: false diff --git a/docs_src/reference/objects.md b/docs_src/reference/objects.md deleted file mode 100644 index 2e3fe699..00000000 --- a/docs_src/reference/objects.md +++ /dev/null @@ -1,16 +0,0 @@ -# Objects - -**Objects** are the lowest-level composable primitives in `slackblocks`. They don't render on their own — instead, they're passed into [Elements](elements.md) and [Blocks](blocks.md) to populate them with text, choices, confirmations, and so on. - -The most important ones: - -- [`Text`](#objects.Text) — a piece of `mrkdwn` or `plain_text` content. Most fields that accept a `str` will also accept a `Text` for fine-grained control. -- [`Option`](#objects.Option) — a single selectable choice in a select menu, checkbox, or radio group. -- [`ConfirmationDialogue`](#objects.ConfirmationDialogue) — a "Are you sure?" prompt shown before destructive actions. - -Slack reference: - -::: objects - options: - filters: ["!^CompositionObject"] - show_bases: false diff --git a/docs_src/reference/rich_text.md b/docs_src/reference/rich_text.md deleted file mode 100644 index 082ee67f..00000000 --- a/docs_src/reference/rich_text.md +++ /dev/null @@ -1,27 +0,0 @@ -# Rich Text - -The **Rich Text** API lets you build inline-formatted content (bold, italic, strikethrough, code, links, mentions, lists, quotes, code blocks) without writing markdown by hand. - -Structure: - -- A [`RichTextBlock`](blocks.md#blocks.RichTextBlock) wraps one or more *containers*. -- **Containers** group elements: [`RichTextSection`](#rich_text.objects.RichTextSection), [`RichTextList`](#rich_text.objects.RichTextList), [`RichTextQuote`](#rich_text.objects.RichTextQuote), [`RichTextCodeBlock`](#rich_text.objects.RichTextCodeBlock). -- **Elements** are the leaf primitives: [`RichText`](#rich_text.elements.RichText) (styled text), [`RichTextLink`](#rich_text.elements.RichTextLink), [`RichTextUser`](#rich_text.elements.RichTextUser), [`RichTextChannel`](#rich_text.elements.RichTextChannel), [`RichTextEmoji`](#rich_text.elements.RichTextEmoji), [`RichTextUserGroup`](#rich_text.elements.RichTextUserGroup). - -See the [Rich-formatted alert cookbook recipe](../usage/cookbook.md#rich-formatted-alert) for a complete example. - -Slack reference: - -::: rich_text - -## Rich Text Elements (Primitives) -::: rich_text.elements - options: - filters: ["!^RichTextElement"] - show_bases: false - -## Rich Text Objects (Containers) -::: rich_text.objects - options: - filters: ["!^RichTextObject"] - show_bases: false diff --git a/docs_src/reference/utils.md b/docs_src/reference/utils.md deleted file mode 100644 index 997d77c7..00000000 --- a/docs_src/reference/utils.md +++ /dev/null @@ -1,27 +0,0 @@ -# Utilities - -This page documents top-level helper utilities shipped with `slackblocks`. - -## Block Kit Builder URL - -`block_kit_builder_url(payload, team_id=None)` builds a [Slack Block Kit Builder](https://app.slack.com/block-kit-builder) URL containing the supplied payload, so you can preview a message, view, or block list in the browser. - -Accepted payload shapes: - -- A single [`Block`](blocks.md) — wrapped in `{"blocks": [block]}` automatically. -- A list of `Block` — also wrapped. -- Anything with a `_resolve()` method ([`Message`](messages.md), [`WebhookMessage`](messages.md), [`MessageResponse`](messages.md), [`View`](views.md), [`ModalView`](views.md), [`HomeTabView`](views.md)). -- A raw `dict` — used verbatim. This is the escape hatch for callers building payloads outside the type hierarchy. - -For a `team_id`-specific Builder URL (e.g. `https://app.slack.com/block-kit-builder/T0123#…`), pass `team_id="T0123ABCD"`. - -::: builder - options: - show_root_heading: false - show_root_toc_entry: false - -## Validation helpers - -Lower-level helper functions used across `slackblocks` for validation and coercion. Most users won't need to call these directly, but they're documented here for completeness and for anyone extending `slackblocks` with custom block or element types. - -::: utils diff --git a/docs_src/reference/views.md b/docs_src/reference/views.md deleted file mode 100644 index 49015557..00000000 --- a/docs_src/reference/views.md +++ /dev/null @@ -1,15 +0,0 @@ -# Views - -**Views** are app-customised UI surfaces inside Slack — the contents of a modal dialog or the App Home tab. - -- `ModalView` — content of a modal opened with `views.open` / `views.update` / `views.push`. -- `HomeTabView` — content of the App Home tab, published with `views.publish`. - -Pass `view.to_dict()` as the `view` argument to the Slack SDK's view methods. - -Slack reference: - -::: views - options: - filters: ["!^View$", "!^ViewType"] - show_bases: false diff --git a/docs_src/usage/installation.md b/docs_src/usage/installation.md deleted file mode 100644 index 9c3589c2..00000000 --- a/docs_src/usage/installation.md +++ /dev/null @@ -1,80 +0,0 @@ -# Installation - -You can install `slackblocks` using any Python package manager with access to PyPI. Installation commands for some of the more popular ones are included below. - -=== "pip" - ```bash - pip install slackblocks - ``` - -=== "poetry" - ```bash - poetry add slackblocks - ``` - -=== "Pipenv" - ```bash - pipenv install slackblocks - ``` - -=== "uv" - ```bash - uv add slackblocks - ``` - -`slackblocks` is a pure Python package and is published to [PyPI](https://pypi.org/project/slackblocks/) as a wheel on every release. As of `v0.1.0` it has no dependencies outside of the Python standard library. - -## Requirements - -- Python 3.8.1 or newer for the `1.x` release line. -- Python 3.10 or newer for the `2.x` release line (in development). -- No runtime dependencies. - -For the full Python version support matrix and how to pin to a release line that -matches your runtime, see [Compatibility](compatibility.md). - -## Verifying your installation - -```python -from slackblocks import Message, SectionBlock - -print(Message(channel="#general", blocks=SectionBlock("Hello, world!")).json()) -``` - -If this prints a formatted JSON object describing a message, you're ready to go. - -## Version pinning - -`slackblocks` follows semantic versioning. Pinning to a major version is recommended: - -=== "pip (`requirements.txt`)" - ``` - slackblocks~=1.2 - ``` - -=== "poetry (`pyproject.toml`)" - ```toml - slackblocks = "^1.2" - ``` - -## Uninstalling - -=== "pip" - ```bash - pip uninstall slackblocks - ``` - -=== "poetry" - ```bash - poetry remove slackblocks - ``` - -=== "Pipenv" - ```bash - pipenv uninstall slackblocks - ``` - -=== "uv" - ```bash - uv remove slackblocks - ``` diff --git a/docs_src/usage/sending_messages.md b/docs_src/usage/sending_messages.md deleted file mode 100644 index 53979cd2..00000000 --- a/docs_src/usage/sending_messages.md +++ /dev/null @@ -1,143 +0,0 @@ -# Sending Messages - -`slackblocks` produces the JSON payloads that the Slack APIs accept; it does **not** make HTTP calls itself. You're free to send the rendered messages with any HTTP client (`curl`, `requests`, `httpx`), but the recommended path is to combine `slackblocks` with the official [`slack-sdk`](https://pypi.org/project/slack-sdk/) (or its legacy [`slackclient`](https://pypi.org/project/slackclient/) predecessor). - -The trick is the `**` operator: a `slackblocks.Message` is a mapping, so you can unpack it directly into `client.chat_postMessage(...)`. - -## With the modern `slack-sdk` - -=== "Python (`slackblocks`)" - ```python - from os import environ - from slack_sdk import WebClient - from slackblocks import Message, SectionBlock - - - client = WebClient(token=environ["SLACK_API_TOKEN"]) - block = SectionBlock("Hello, world!") - message = Message(channel="#general", blocks=block) - - response = client.chat_postMessage(**message) - ``` - -=== "JSON Message" - ```json - { - "channel": "#general", - "mrkdwn": true, - "blocks": [ - { - "type": "section", - "block_id": "992ceb6b-9ad4-496b-b8e6-1bd8a632e8b3", - "text": { - "type": "mrkdwn", - "text": "Hello, world!" - } - } - ] - } - ``` - Note: the `block_id` field is a pseudorandomly generated UUID. Pass an explicit `block_id` to any block constructor if you need deterministic IDs (e.g. for testing or interaction handling). - -=== "Equivalent `curl`" - ```bash - curl -H "Content-type: application/json" \ - --data '{"channel":"#general","blocks":[{"type":"section","block_id":"992ceb6b-9ad4-496b-b8e6-1bd8a632e8b3","text":{"type":"mrkdwn","text":"Hello, world!"}}]}' \ - -H "Authorization: Bearer ${SLACK_API_TOKEN}" \ - -X POST https://slack.com/api/chat.postMessage - ``` - -=== "Slack UI" - ![Hello World rendered in Slack](../img/hello_world.png) - -## With the legacy `slackclient` - -The API is identical — only the import path changes: - -```python -from os import environ -from slack import WebClient # legacy slackclient package -from slackblocks import Message, SectionBlock - - -client = WebClient(token=environ["SLACK_API_TOKEN"]) -message = Message(channel="#general", blocks=SectionBlock("Hello, world!")) - -response = client.chat_postMessage(**message) -``` - -## Other delivery surfaces - -`slackblocks` provides specialized message classes for each Slack delivery surface. They all unpack the same way as `Message`. - -### Incoming webhooks - -```python -from slack_sdk.webhook import WebhookClient -from slackblocks import WebhookMessage, SectionBlock - -webhook = WebhookClient(url="https://hooks.slack.com/services/...") -message = WebhookMessage(blocks=SectionBlock("Build complete :white_check_mark:")) - -webhook.send(**message) -``` - -`WebhookMessage` supports webhook-only options like `response_type`, `replace_original`, and `delete_original`. - -### Slash command / interaction responses - -When responding to a slash command or interactive payload, use `MessageResponse`: - -```python -from slackblocks import MessageResponse, SectionBlock - -response_body = MessageResponse( - blocks=SectionBlock("Got it! Working on that now..."), - ephemeral=True, # only visible to the invoking user -).json() -``` - -### Modals & home tabs - -For modals and home tab views, build a `Modal` (or `HomeTabView`) and pass it to `views_open` / `views_publish`: - -```python -from slack_sdk import WebClient -from slackblocks import Modal, SectionBlock - -client = WebClient(token=environ["SLACK_API_TOKEN"]) -modal = Modal( - title="Confirm action", - blocks=[SectionBlock("Are you sure?")], - submit="Yes", - close="Cancel", -) - -client.views_open(trigger_id=trigger_id, view=modal.to_dict()) -``` - -See [Modals reference](../reference/modals.md) and [Views reference](../reference/views.md) for the full surface. - -## Sending without an SDK - -Because `Message` renders to a plain dict, you can also send it directly: - -```python -import json -import os -import urllib.request - -from slackblocks import Message, SectionBlock - -message = Message(channel="#general", blocks=SectionBlock("Hello, world!")) - -req = urllib.request.Request( - "https://slack.com/api/chat.postMessage", - data=message.json().encode("utf-8"), - headers={ - "Content-Type": "application/json; charset=utf-8", - "Authorization": f"Bearer {os.environ['SLACK_API_TOKEN']}", - }, -) -urllib.request.urlopen(req) -``` diff --git a/docs_src/usage/using_blocks.md b/docs_src/usage/using_blocks.md deleted file mode 100644 index fbed6fc4..00000000 --- a/docs_src/usage/using_blocks.md +++ /dev/null @@ -1,634 +0,0 @@ -# Using Blocks - -Blocks are the fundamental visual units of a Slack message. Each block type renders as a different UI component (a section of text, a header, a divider, an image, a row of buttons, and so on). A `Message` is composed of one or more blocks, rendered top-to-bottom. - -This page lists every block type supported by `slackblocks`, with: - -- A short description of what the block is for. -- The `slackblocks` Python code to construct it. -- The JSON payload that's produced. -- A screenshot of how it looks in Slack. - -For the reverse mapping — looking up a class by name — see the [Blocks reference](../reference/blocks.md). For interactive UI bits (buttons, menus, date pickers) that go *inside* blocks, see [Elements](../reference/elements.md). - -## Section Block -:::blocks.SectionBlock - options: - show_bases: false - show_source: false - - -=== "`slackblocks`" - - ```python - from slackblocks import CheckboxGroup, Option, SectionBlock - - SectionBlock( - text="This is a section block with a checkbox accessory.", - block_id="fake_block_id", - accessory=CheckboxGroup( - action_id="checkboxes-action", - options=[ - Option( - text="*Your Only Option*", - value="option_one" - ) - ] - ) - ) - ``` - -=== "JSON" - ```json - { - "type": "section", - "block_id": "fake_block_id", - "text": { - "type": "mrkdwn", - "text": "This is a section block with a checkbox accessory." - }, - "accessory": { - "type": "checkboxes", - "options": [ - { - "text": { - "type": "mrkdwn", - "text": "*Your Only Option*" - }, - "value": "option_one" - } - ], - "action_id": "checkboxes-action" - } - } - ``` - -=== "Slack UI" - ![An example of the UI output of a Section Block](../img/usage/section.png) - - - -## Rich Text Block -:::blocks.RichTextBlock - options: - show_bases: false - show_source: false - -=== "`slackblocks`" - ```python - from slackblocks import RichTextBlock, RichTextSection, RichText - - RichTextBlock( - RichTextSection( - [ - RichText( - "You 'bout to witness hip-hop in its most purest", - bold=True, - ), - RichText( - "Most rawest form, flow almost flawless", - strike=True, - ), - RichText( - "Most hardest, most honest known artist", - italic=True, - ), - ] - ), - block_id="fake_block_id", - ) - ``` - -=== "JSON" - ```json - { - "type": "rich_text", - "block_id": "fake_block_id", - "elements": [ - { - "type": "rich_text_section", - "elements": [ - { - "type": "text", - "text": "You 'bout to witness hip-hop in its most purest\n", - "style": { - "bold": true - } - }, - { - "type": "text", - "text": "Most rawest form, flow almost flawless\n", - "style": { - "strike": true - } - }, - { - "type": "text", - "text": "Most hardest, most honest known artist\n", - "style": { - "italic": true - } - } - ] - } - ] - } - ``` - -=== "Slack UI" - ![An example of the UI output of a Rich Text Block](../img/usage/rich_text.png) - - -## Header Block -:::blocks.HeaderBlock - options: - show_bases: false - show_source: false - - -=== "`slackblocks`" - ```python - from slackblocks import HeaderBlock - - HeaderBlock( - "This is a header block", - ) - ``` - -=== "JSON" - ```json - { - "type": "header", - "text": { - "type": "plain_text", - "text": "This is a header block", - "emoji": true - } - } - ``` - -=== "Slack UI" - ![An example of the UI output of a Header Block](../img/usage/header.png) - - -## Markdown Block -:::blocks.MarkdownBlock - options: - show_bases: false - show_source: false - - -Slack added the `markdown` block type in 2024, primarily for AI / agentic apps. Unlike the `mrkdwn` text inside a [Section Block](#section-block), `MarkdownBlock` renders **GitHub-flavored Markdown**, supporting tables, code blocks, and richer list semantics. - -`text` is required (1 - 12,000 characters). - -=== "`slackblocks`" - ```python - from slackblocks import MarkdownBlock - - MarkdownBlock( - text="**Hello!** Markdown blocks support _GitHub-flavored_ syntax.", - ) - ``` - -=== "JSON" - ```json - { - "type": "markdown", - "text": "**Hello!** Markdown blocks support _GitHub-flavored_ syntax." - } - ``` - -See the [Slack reference](https://api.slack.com/reference/block-kit/blocks#markdown) for the supported Markdown features. - - -## Image Block -:::blocks.ImageBlock - options: - show_bases: false - show_source: false - - -=== "`slackblocks`" - ```python - from slackblocks import ImageBlock - - ImageBlock( - image_url="https://api.slack.com/img/blocks/bkb_template_images/beagle.png", - alt_text="a beagle", - title="dog", - block_id="fake_block_id", - ) - ``` - -=== "JSON" - ```json - { - "type": "image", - "block_id": "fake_block_id", - "image_url": "https://api.slack.com/img/blocks/bkb_template_images/beagle.png", - "alt_text": "a beagle", - "title": { - "type": "plain_text", - "text": "dog" - } - } - ``` - -=== "Slack UI" - ![An example of the UI output of an Image Block](../img/usage/image.png) - - -## Input Block -:::blocks.InputBlock - options: - show_bases: false - show_source: false - - -=== "`slackblocks`" - ```python - from slackblocks import InputBlock, Text, TextType, PlainTextInput - - InputBlock( - label=Text("Label", type_=TextType.PLAINTEXT, emoji=True), - hint=Text("Hint", type_=TextType.PLAINTEXT, emoji=True), - element=PlainTextInput(action_id="action"), - block_id="fake_block_id", - optional=True, - ) - ``` - -=== "JSON" - ```json - { - "type": "input", - "block_id": "fake_block_id", - "label": { - "type": "plain_text", - "text": "Label", - "emoji": true - }, - "element": { - "type": "plain_text_input", - "action_id": "action" - }, - "hint": { - "type": "plain_text", - "text": "Hint", - "emoji": true - }, - "optional": true - } - ``` - -=== "Slack UI" - ![An example of the UI output of an Input Block](../img/usage/input.png) - - -## Divider Block -:::blocks.DividerBlock - options: - show_bases: false - show_source: false - - -=== "`slackblocks`" - ```python - from slackblocks import DividerBlock - - DividerBlock() - ``` - -=== "JSON" - ```json - { - "type": "divider" - } - ``` - -=== "Slack UI" - ![An example of the UI output of an Divider Block](../img/usage/divider.png) - - -## File Block -:::blocks.FileBlock - options: - show_bases: false - show_source: false - - -=== "`slackblocks`" - ```python - from slackblocks import FileBlock - - FileBlock( - external_id="external_id", - block_id="fake_block_id", - ) - ``` - -=== "JSON" - ```json - { - "type": "file", - "external_id": "external_id", - "source": "remote", - "block_id": "fake_block_id" - } - ``` - -=== "Slack UI" - ![An example of the UI output of an File Block](https://a.slack-edge.com/f156a3/img/api/file_upload_remote_file.png) - * Note that this example comes from the Slack Web API docs. - - -## Context Block -:::blocks.ContextBlock - options: - show_bases: false - show_source: false - - -=== "`slackblocks`" - ```python - from slackblocks import ContextBlock, Text - - ContextBlock( - elements=[ - Text("Hello, world!"), - ], - block_id="fake_block_id" - ) - ``` - -=== "JSON" - ```json - { - "type": "context", - "block_id": "fake_block_id", - "elements": [ - { - "type": "mrkdwn", - "text": "Hello, world!" - } - ] - } - ``` - -=== "Slack UI" - ![An example of the UI output of a Context Block](../img/usage/context.png) - -## Actions Block -:::blocks.ActionsBlock - options: - show_bases: false - show_source: false - -=== "`slackblocks`" - ```python - from slackblocks import ActionsBlock, CheckboxGroup, Option - - ActionsBlock( - block_id="fake_block_id", - elements=CheckboxGroup( - action_id="actionId-0", - options=[ - Option(text="*a*", value="a", description="*a*"), - Option(text="*b*", value="b", description="*b*"), - Option(text="*c*", value="c", description="*c*"), - ], - ), - ) - ``` - -=== "JSON" - ```json - { - "type": "actions", - "block_id": "fake_block_id", - "elements": [ - { - "type": "checkboxes", - "action_id": "actionId-0", - "options": [ - { - "text": { - "type": "mrkdwn", - "text": "*a*" - }, - "value": "a", - "description": { - "type": "plain_text", - "text": "*a*" - } - }, - { - "text": { - "type": "mrkdwn", - "text": "*b*" - }, - "value": "b", - "description": { - "type": "plain_text", - "text": "*b*" - } - }, - { - "text": { - "type": "mrkdwn", - "text": "*c*" - }, - "value": "c", - "description": { - "type": "plain_text", - "text": "*c*" - } - } - ] - } - ] - } - ``` - -=== "Slack UI" - ![An example of the UI output of an Actions Block](../img/usage/actions.png) - -## Table Block -:::blocks.TableBlock - options: - show_bases: false - show_source: false - -=== "`slackblocks`" - ```python - from slackblocks import ( - ColumnSettings, - RawText, - RichText, - RichTextLink, - RichTextSection, - TableBlock, - ) - - TableBlock( - column_settings=[ - ColumnSettings(align="right", is_wrapped=True), - ColumnSettings(align="left"), - ], - rows=[ - [ - RichTextSection( - elements=[RichText(text="Header 1", bold=True)], - ), - RichTextSection( - elements=[RichText(text="Header 2", bold=True)], - ), - ], - [ - RawText(text="Datum 1"), - RichTextSection( - elements=[ - RichTextLink( - url="https://slack.com", - text="Datum 2", - ) - ], - ), - ], - ], - ) - ``` - -=== "JSON" - ```json - { - "blocks": [ - { - "type": "table", - "rows": [ - [ - { - "type": "rich_text", - "elements": [ - { - "type": "rich_text_section", - "elements": [ - { - "type": "text", - "text": "Header 1", - "style": { - "bold": true - } - } - ] - } - ] - }, - { - "type": "rich_text", - "elements": [ - { - "type": "rich_text_section", - "elements": [ - { - "type": "text", - "text": "Header 2", - "style": { - "bold": true - } - } - ] - } - ] - } - ], - [ - { - "type": "rich_text", - "elements": [ - { - "type": "rich_text_section", - "elements": [ - { - "type": "text", - "text": "Datum 1" - } - ] - } - ] - }, - { - "type": "rich_text", - "elements": [ - { - "type": "rich_text_section", - "elements": [ - { - "type": "text", - "text": "Datum 2" - } - ] - } - ] - } - ] - ] - } - ] - } - ``` - -=== "Slack UI" - ![An example of the UI output of a Table Block](../img/usage/table.png) - - -## Video Block -:::blocks.VideoBlock - options: - show_bases: false - show_source: false - - -Embeds a video from a Slack-supported provider (e.g. YouTube, Vimeo). The `title` accepts either a `str` (coerced to plain-text) or a `Text` instance; `description` works the same way. - -Required: `alt_text`, `thumbnail_url`, `title`, `video_url`. Slack restricts which domains may be embedded — supplying an unsupported URL will produce a Slack API error rather than an `InvalidUsageError` at construction. - -=== "`slackblocks`" - ```python - from slackblocks import VideoBlock - - VideoBlock( - alt_text="How to use slackblocks", - thumbnail_url="https://example.com/thumb.png", - title="Getting Started", - video_url="https://example.com/video.mp4", - author_name="The slackblocks docs", - description="A short walkthrough.", - provider_name="example.com", - title_url="https://example.com", - ) - ``` - -=== "JSON" - ```json - { - "type": "video", - "alt_text": "How to use slackblocks", - "thumbnail_url": "https://example.com/thumb.png", - "title": { - "type": "plain_text", - "text": "Getting Started" - }, - "video_url": "https://example.com/video.mp4", - "author_name": "The slackblocks docs", - "description": { - "type": "plain_text", - "text": "A short walkthrough." - }, - "provider_name": "example.com", - "title_url": "https://example.com" - } - ``` - -See the [Slack reference](https://api.slack.com/reference/block-kit/blocks#video) for the full list of optional fields and provider requirements. diff --git a/mkdocs.yml b/mkdocs.yml deleted file mode 100644 index 099b4c8e..00000000 --- a/mkdocs.yml +++ /dev/null @@ -1,95 +0,0 @@ -site_name: slackblocks - -repo_url: https://github.com/nicklambourne/slackblocks/ -site_url: https://nicklambourne.github.io/slackblocks/ -site_dir: docs -docs_dir: docs_src - -theme: - name: "material" - logo: img/sb.png - favicon: img/sb.png - features: - - navigation.expand - - search.suggest - palette: - # Palette toggle for light mode - - scheme: default - toggle: - icon: material/brightness-7 - name: Switch to dark mode - primary: black - accent: indigo - - # Palette toggle for dark mode - - scheme: slate - toggle: - icon: material/brightness-4 - name: Switch to light mode - primary: black - accent: deep-purple - icon: - admonition: - warning: material/alert - -plugins: - - search - - mkdocstrings: - default_handler: python - handlers: - python: - paths: [python/slackblocks] - options: - show_root_heading: false - show_root_toc_entry: false - separate_signature: true - show_signature_annotations: false - show_symbol_type_heading: true - docstring_style: google - heading_level: 3 - - mike: - # These fields are all optional; the defaults are as below... - alias_type: symlink - redirect_template: null - deploy_prefix: null - canonical_version: null - version_selector: true - css_dir: css - javascript_dir: js - -markdown_extensions: - - attr_list - - pymdownx.emoji: - emoji_index: !!python/name:material.extensions.emoji.twemoji - emoji_generator: !!python/name:material.extensions.emoji.to_svg - - admonition - - pymdownx.details - - pymdownx.superfences - - pymdownx.tabbed: - alternate_style: true - -nav: - - Home: index.md - - Usage: - - Installation: usage/installation.md - - Compatibility: usage/compatibility.md - - Using Blocks: usage/using_blocks.md - - Sending Messages: usage/sending_messages.md - - Cookbook: usage/cookbook.md - - Migrating from 1.x: usage/migration.md - - Troubleshooting & FAQ: usage/troubleshooting.md - - Reference: - - Attachments: reference/attachments.md - - Blocks: reference/blocks.md - - Elements: reference/elements.md - - Messages: reference/messages.md - - Modals: reference/modals.md - - Objects: reference/objects.md - - Rich Text: reference/rich_text.md - - Views: reference/views.md - - Utilities: reference/utils.md - - Contributing: contributing.md - -extra: - version: - provider: mike diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index b49ce9f6..6ebaf842 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,4 +1,5 @@ packages: + - docs - typescript allowBuilds: diff --git a/python/README.md b/python/README.md index b7d50f56..e8209e4e 100644 --- a/python/README.md +++ b/python/README.md @@ -1,4 +1,4 @@ -# slackblocks +# slackblocks ![Licence: MIT](https://img.shields.io/badge/License-MIT-green.svg) ![Licence: BSD-3-Clause](https://img.shields.io/badge/License-BSD_3_Clause-green.svg) @@ -12,6 +12,8 @@ `slackblocks` is a typed, validating Python wrapper around the Slack [Block Kit API](https://api.slack.com/block-kit). It exists because Block Kit JSON is verbose, easy to get subtly wrong, and unpleasant to maintain in source control. +This release conforms to the shared slackblocks specification 1.0.0. + ## Why `slackblocks`? - **Concise** — `SectionBlock("Hello, *world*!")` instead of a 10-line JSON object. @@ -77,7 +79,7 @@ client.chat_postMessage(**message) The `**` operator unpacks `slackblocks` `Message` objects directly into the SDK call — no `to_dict()` boilerplate required.

- A simple Slack message rendered in Slack + A simple Slack message rendered in Slack

## What's supported @@ -118,7 +120,7 @@ Existing 1.x code continues to work unchanged; see the [Migration Guide](https:/ - [Cookbook](https://nicklambourne.github.io/slackblocks/latest/usage/cookbook/) — end-to-end recipes for build notifications, approval requests, modals, and more. - [Migrating from 1.x](https://nicklambourne.github.io/slackblocks/latest/usage/migration/) — upgrade guide for `1.x` users. - [Troubleshooting & FAQ](https://nicklambourne.github.io/slackblocks/latest/usage/troubleshooting/) -- [Changelog](https://github.com/nicklambourne/slackblocks/blob/master/CHANGELOG.md) +- [Changelog](https://github.com/nicklambourne/slackblocks/blob/master/python/CHANGELOG.md) ## Comparison with `slack-sdk` block classes @@ -144,17 +146,17 @@ Contributions are welcome. Quick start (the project uses [uv](https://docs.astra ```bash git clone https://github.com/nicklambourne/slackblocks.git -cd slackblocks +cd slackblocks/python uv sync --all-groups -uv run pytest test/unit -uv run ruff format --check . -uv run ruff check . +uv run pytest test/unit test/conformance test/docs +uv run ruff format --check slackblocks test +uv run ruff check slackblocks test uv run mypy slackblocks ``` -Preview the documentation locally with `uv run mkdocs serve`. +Preview the documentation from the repository root with `pnpm --filter @slackblocks/docs start`. -For the full development guide — testing conventions, validation patterns, docstring style, release process, and a PR checklist — see the [Contributing page](https://nicklambourne.github.io/slackblocks/latest/contributing/). +For the full development guide — testing conventions, validation patterns, docstring style, release process, and a PR checklist — see the [Contributing page](https://nicklambourne.github.io/slackblocks/contributing). Bug reports and feature requests: . diff --git a/python/pyproject.toml b/python/pyproject.toml index 0b4c1f2b..76216a0c 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -48,11 +48,7 @@ dev = [ "wheel>=0.45.1,<1.0.0", ] docs = [ - "mike>=2.1.3,<3.0.0", - "mkdocs>=1.6.1,<2.0.0", - "mkdocs-material>=9.5.49,<10.0.0", - "mkdocstrings[python]>=0.27.0", - "mkdocstrings-python>=1.13.0,<2.0.0", + "griffe>=2.1.0,<3.0.0", ] [build-system] diff --git a/python/test/docs/__init__.py b/python/test/docs/__init__.py new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/python/test/docs/__init__.py @@ -0,0 +1 @@ + diff --git a/python/test/docs/test_examples.py b/python/test/docs/test_examples.py new file mode 100644 index 00000000..dabece0e --- /dev/null +++ b/python/test/docs/test_examples.py @@ -0,0 +1,13 @@ +from __future__ import annotations + +import json +import runpy +from pathlib import Path + +REPO_ROOT = Path(__file__).resolve().parents[3] + + +def test_section_hello_example_matches_the_documented_json() -> None: + namespace = runpy.run_path(REPO_ROOT / "docs/examples/python/section_hello.py") + expected = json.loads((REPO_ROOT / "docs/examples/section_hello.json").read_text()) + assert namespace["payload"] == expected diff --git a/python/uv.lock b/python/uv.lock index d3c980a3..7da74cdc 100644 --- a/python/uv.lock +++ b/python/uv.lock @@ -179,15 +179,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl", hash = "sha256:c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309", size = 67548, upload-time = "2026-03-19T14:22:23.645Z" }, ] -[[package]] -name = "babel" -version = "2.18.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/7d/b2/51899539b6ceeeb420d40ed3cd4b7a40519404f9baf3d4ac99dc413a834b/babel-2.18.0.tar.gz", hash = "sha256:b80b99a14bd085fcacfa15c9165f651fbb3406e66cc603abf11c5750937c992d", size = 9959554, upload-time = "2026-02-01T12:30:56.078Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/77/f5/21d2de20e8b8b0408f0681956ca2c69f1320a3848ac50e6e7f39c6159675/babel-2.18.0-py3-none-any.whl", hash = "sha256:e2b422b277c2b9a9630c1d7903c2a00d0830c409c59ac8cae9081c92f1aeba35", size = 10196845, upload-time = "2026-02-01T12:30:53.445Z" }, -] - [[package]] name = "backports-tarfile" version = "1.2.0" @@ -197,19 +188,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/b9/fa/123043af240e49752f1c4bd24da5053b6bd00cad78c2be53c0d1e8b975bc/backports.tarfile-1.2.0-py3-none-any.whl", hash = "sha256:77e284d754527b01fb1e6fa8a1afe577858ebe4e9dad8919e34c862cb399bc34", size = 30181, upload-time = "2024-05-28T17:01:53.112Z" }, ] -[[package]] -name = "backrefs" -version = "7.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/5e/a7/a7dd63622beef68cc0d3c3c36d472e143dd95443d5ebf14cd1a5b4dfbf11/backrefs-7.0.tar.gz", hash = "sha256:4989bb9e1e99eb23647c7160ed51fb21d0b41b5d200f2d3017da41e023097e82", size = 7012453, upload-time = "2026-04-28T16:28:04.215Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/d4/39/39a31d7eae729ea14ed10c3ccef79371197177b9355a86cb3525709e8502/backrefs-7.0-py310-none-any.whl", hash = "sha256:b57cd227ea556b0aed3dc9b8da4628db4eabc0402c6d7fcfc69283a93955f7e9", size = 380824, upload-time = "2026-04-28T16:27:55.647Z" }, - { url = "https://files.pythonhosted.org/packages/c9/b5/9302644225ba7dfa934a2ff2b9c7bb85701313a90dddb3dfaf693fa5bae2/backrefs-7.0-py311-none-any.whl", hash = "sha256:a0fa7360c63509e9e077e174ef4e6d3c21c8db94189b9d957289ae6d794b9475", size = 392626, upload-time = "2026-04-28T16:27:57.42Z" }, - { url = "https://files.pythonhosted.org/packages/36/da/87912ddec6e06feffbaa3d7aa18fc6352bee2e8f1fee185d7d1690f8f4e8/backrefs-7.0-py312-none-any.whl", hash = "sha256:ca42ce6a49ace3d75684dfa9937f3373902a63284ecb385ce36d15e5dcb41c12", size = 398537, upload-time = "2026-04-28T16:27:58.913Z" }, - { url = "https://files.pythonhosted.org/packages/00/bb/90ba423612b6aa0adccc6b1874bcd4a9b44b660c0c16f346611e00f64ac3/backrefs-7.0-py313-none-any.whl", hash = "sha256:f2c52955d631b9e1ac4cd56209f0a3a946d592b98e7790e77699339ae01c102a", size = 400491, upload-time = "2026-04-28T16:28:00.928Z" }, - { url = "https://files.pythonhosted.org/packages/3e/5c/fb93d3092640a24dfb7bd7727a24016d7c01774ca013e60efd3f683c8002/backrefs-7.0-py314-none-any.whl", hash = "sha256:a6448b28180e3ca01134c9cf09dcebafad8531072e09903c5451748a05f24bc9", size = 412349, upload-time = "2026-04-28T16:28:02.412Z" }, -] - [[package]] name = "certifi" version = "2026.4.22" @@ -365,18 +343,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/db/8f/61959034484a4a7c527811f4721e75d02d653a35afb0b6054474d8185d4c/charset_normalizer-3.4.7-py3-none-any.whl", hash = "sha256:3dce51d0f5e7951f8bb4900c257dad282f49190fdbebecd4ba99bcc41fef404d", size = 61958, upload-time = "2026-04-02T09:28:37.794Z" }, ] -[[package]] -name = "click" -version = "8.3.3" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "colorama", marker = "sys_platform == 'win32'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/bb/63/f9e1ea081ce35720d8b92acde70daaedace594dc93b693c869e0d5910718/click-8.3.3.tar.gz", hash = "sha256:398329ad4837b2ff7cbe1dd166a4c0f8900c3ca3a218de04466f38f6497f18a2", size = 328061, upload-time = "2026-04-22T15:11:27.506Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ae/44/c1221527f6a71a01ec6fbad7fa78f1d50dfa02217385cf0fa3eec7087d59/click-8.3.3-py3-none-any.whl", hash = "sha256:a2bf429bb3033c89fa4936ffb35d5cb471e3719e1f3c8a7c3fff0b8314305613", size = 110502, upload-time = "2026-04-22T15:11:25.044Z" }, -] - [[package]] name = "colorama" version = "0.4.6" @@ -561,7 +527,7 @@ name = "exceptiongroup" version = "1.3.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "typing-extensions" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/50/79/66800aadf48771f6b62f7eb014e352e5d06856655206165d775e675a02c9/exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219", size = 30371, upload-time = "2025-11-21T23:01:54.787Z" } wheels = [ @@ -689,51 +655,39 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/9a/9a/e35b4a917281c0b8419d4207f4334c8e8c5dbf4f3f5f9ada73958d937dcc/frozenlist-1.8.0-py3-none-any.whl", hash = "sha256:0c18a16eab41e82c295618a77502e17b195883241c563b00f0aa5106fc4eaa0d", size = 13409, upload-time = "2025-10-06T05:38:16.721Z" }, ] -[[package]] -name = "ghp-import" -version = "2.1.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "python-dateutil" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/d9/29/d40217cbe2f6b1359e00c6c307bb3fc876ba74068cbab3dde77f03ca0dc4/ghp-import-2.1.0.tar.gz", hash = "sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343", size = 10943, upload-time = "2022-05-02T15:47:16.11Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f7/ec/67fbef5d497f86283db54c22eec6f6140243aae73265799baaaa19cd17fb/ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619", size = 11034, upload-time = "2022-05-02T15:47:14.552Z" }, -] - [[package]] name = "griffe" -version = "2.0.2" +version = "2.1.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "griffecli" }, { name = "griffelib" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/4a/49/eb6d2935e27883af92c930ed40cc4c69bcd32c402be43b8ca4ab20510f67/griffe-2.0.2.tar.gz", hash = "sha256:c5d56326d159f274492e9bf93a9895cec101155d944caa66d0fc4e0c13751b92", size = 293757, upload-time = "2026-03-27T11:34:52.205Z" } +sdist = { url = "https://files.pythonhosted.org/packages/00/44/63913c007814cab5ba9d36f25ad40dfc640c2e2931d195bd2d05f774a5d6/griffe-2.1.0.tar.gz", hash = "sha256:c58845df5a364feaabd05ee8c767b97b03e478da8aa18b9923553c812fb0d955", size = 244879, upload-time = "2026-06-19T12:05:41.262Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/94/c0/2bb018eecf9a83c68db9cd9fffd9dab25f102ad30ed869451046e46d1187/griffe-2.0.2-py3-none-any.whl", hash = "sha256:2b31816460aee1996af26050a1fc6927a2e5936486856707f55508e4c9b5960b", size = 5141, upload-time = "2026-03-27T11:34:47.721Z" }, + { url = "https://files.pythonhosted.org/packages/6b/fb/3c65d392feae6c36dc2b55a14dd8270b7b35a3171c93b71a4d2ee4abf241/griffe-2.1.0-py3-none-any.whl", hash = "sha256:2ccdab17fb9cd76f278d7b5611cfc8f68cbe846d8d48df63dff80b62ecfa6f65", size = 5140, upload-time = "2026-06-19T12:05:39.913Z" }, ] [[package]] name = "griffecli" -version = "2.0.2" +version = "2.1.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "colorama" }, { name = "griffelib" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/79/e0/6a7d661d71bb043656a109b91d84a42b5342752542074ec83b16a6eb97f0/griffecli-2.0.2.tar.gz", hash = "sha256:40a1ad4181fc39685d025e119ae2c5b669acdc1f19b705fb9bf971f4e6f6dffb", size = 56281, upload-time = "2026-03-27T11:34:50.087Z" } +sdist = { url = "https://files.pythonhosted.org/packages/8e/c6/90f85d47af96300d629b38c25b71aad9467a620cac964a39280e822efc8a/griffecli-2.1.0.tar.gz", hash = "sha256:2ff68dbee9395fdb668b10374c51683392d697b226ac60159798f4add1ee716c", size = 56913, upload-time = "2026-06-19T12:05:43.119Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2e/e8/90d93356c88ac34c20cb5edffca68138df55ca9bbd1a06eccfbcec8fdbe5/griffecli-2.0.2-py3-none-any.whl", hash = "sha256:0d44d39e59afa81e288a3e1c3bf352cc4fa537483326ac06b8bb6a51fd8303a0", size = 9500, upload-time = "2026-03-27T11:34:48.81Z" }, + { url = "https://files.pythonhosted.org/packages/80/2f/513232ec1d5f5da182e4ce45a11427e37dd210844a9e2bca451fc9661fb3/griffecli-2.1.0-py3-none-any.whl", hash = "sha256:6e22b1423d562ddc510997b4be1fe89de59e19dcff78831c0f4bfc3b8134a718", size = 9500, upload-time = "2026-06-19T12:05:37.517Z" }, ] [[package]] name = "griffelib" -version = "2.0.2" +version = "2.1.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/9d/82/74f4a3310cdabfbb10da554c3a672847f1ed33c6f61dd472681ce7f1fe67/griffelib-2.0.2.tar.gz", hash = "sha256:3cf20b3bc470e83763ffbf236e0076b1211bac1bc67de13daf494640f2de707e", size = 166461, upload-time = "2026-03-27T11:34:51.091Z" } +sdist = { url = "https://files.pythonhosted.org/packages/33/e4/8d187ea29c2e30b3a09505c567513077d6117861bde1fbd997a167f262ec/griffelib-2.1.0.tar.gz", hash = "sha256:762a186d2c6fd6794d4ea20d428d597ffb857cb56b66421651cbba15bdd5e813", size = 216234, upload-time = "2026-06-19T12:05:42.278Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/11/8c/c9138d881c79aa0ea9ed83cbd58d5ca75624378b38cee225dcf5c42cc91f/griffelib-2.0.2-py3-none-any.whl", hash = "sha256:925c857658fb1ba40c0772c37acbc2ab650bd794d9c1b9726922e36ea4117ea1", size = 142357, upload-time = "2026-03-27T11:34:46.275Z" }, + { url = "https://files.pythonhosted.org/packages/e4/d3/5268aeabf2ad82658c4e2ff3a060648d0f02f3926cb53247c0e4d0dab49e/griffelib-2.1.0-py3-none-any.whl", hash = "sha256:cc7b3d2d2865ad0b909fcc38086e3f554b5ea7acbaa7bbb7ecaa3f5dfb7d9f00", size = 142560, upload-time = "2026-06-19T12:05:38.742Z" }, ] [[package]] @@ -836,18 +790,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/b2/a3/e137168c9c44d18eff0376253da9f1e9234d0239e0ee230d2fee6cea8e55/jeepney-0.9.0-py3-none-any.whl", hash = "sha256:97e5714520c16fc0a45695e5365a2e11b81ea79bba796e26f9f1d178cb182683", size = 49010, upload-time = "2025-02-27T18:51:00.104Z" }, ] -[[package]] -name = "jinja2" -version = "3.1.6" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "markupsafe" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" }, -] - [[package]] name = "keyring" version = "25.7.0" @@ -866,15 +808,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/81/db/e655086b7f3a705df045bf0933bdd9c2f79bb3c97bfef1384598bb79a217/keyring-25.7.0-py3-none-any.whl", hash = "sha256:be4a0b195f149690c166e850609a477c532ddbfbaed96a404d4e43f8d5e2689f", size = 39160, upload-time = "2025-11-16T16:26:08.402Z" }, ] -[[package]] -name = "markdown" -version = "3.10.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/2b/f4/69fa6ed85ae003c2378ffa8f6d2e3234662abd02c10d216c0ba96081a238/markdown-3.10.2.tar.gz", hash = "sha256:994d51325d25ad8aa7ce4ebaec003febcce822c3f8c911e3b17c52f7f589f950", size = 368805, upload-time = "2026-02-09T14:57:26.942Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/de/1f/77fa3081e4f66ca3576c896ae5d31c3002ac6607f9747d2e3aa49227e464/markdown-3.10.2-py3-none-any.whl", hash = "sha256:e91464b71ae3ee7afd3017d9f358ef0baf158fd9a298db92f1d4761133824c36", size = 108180, upload-time = "2026-02-09T14:57:25.787Z" }, -] - [[package]] name = "markdown-it-py" version = "4.2.0" @@ -887,91 +820,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/b3/81/4da04ced5a082363ecfa159c010d200ecbd959ae410c10c0264a38cac0f5/markdown_it_py-4.2.0-py3-none-any.whl", hash = "sha256:9f7ebbcd14fe59494226453aed97c1070d83f8d24b6fc3a3bcf9a38092641c4a", size = 91687, upload-time = "2026-05-07T12:08:27.182Z" }, ] -[[package]] -name = "markupsafe" -version = "3.0.3" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz", hash = "sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698", size = 80313, upload-time = "2025-09-27T18:37:40.426Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e8/4b/3541d44f3937ba468b75da9eebcae497dcf67adb65caa16760b0a6807ebb/markupsafe-3.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2f981d352f04553a7171b8e44369f2af4055f888dfb147d55e42d29e29e74559", size = 11631, upload-time = "2025-09-27T18:36:05.558Z" }, - { url = "https://files.pythonhosted.org/packages/98/1b/fbd8eed11021cabd9226c37342fa6ca4e8a98d8188a8d9b66740494960e4/markupsafe-3.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e1c1493fb6e50ab01d20a22826e57520f1284df32f2d8601fdd90b6304601419", size = 12057, upload-time = "2025-09-27T18:36:07.165Z" }, - { url = "https://files.pythonhosted.org/packages/40/01/e560d658dc0bb8ab762670ece35281dec7b6c1b33f5fbc09ebb57a185519/markupsafe-3.0.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1ba88449deb3de88bd40044603fafffb7bc2b055d626a330323a9ed736661695", size = 22050, upload-time = "2025-09-27T18:36:08.005Z" }, - { url = "https://files.pythonhosted.org/packages/af/cd/ce6e848bbf2c32314c9b237839119c5a564a59725b53157c856e90937b7a/markupsafe-3.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f42d0984e947b8adf7dd6dde396e720934d12c506ce84eea8476409563607591", size = 20681, upload-time = "2025-09-27T18:36:08.881Z" }, - { url = "https://files.pythonhosted.org/packages/c9/2a/b5c12c809f1c3045c4d580b035a743d12fcde53cf685dbc44660826308da/markupsafe-3.0.3-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c0c0b3ade1c0b13b936d7970b1d37a57acde9199dc2aecc4c336773e1d86049c", size = 20705, upload-time = "2025-09-27T18:36:10.131Z" }, - { url = "https://files.pythonhosted.org/packages/cf/e3/9427a68c82728d0a88c50f890d0fc072a1484de2f3ac1ad0bfc1a7214fd5/markupsafe-3.0.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:0303439a41979d9e74d18ff5e2dd8c43ed6c6001fd40e5bf2e43f7bd9bbc523f", size = 21524, upload-time = "2025-09-27T18:36:11.324Z" }, - { url = "https://files.pythonhosted.org/packages/bc/36/23578f29e9e582a4d0278e009b38081dbe363c5e7165113fad546918a232/markupsafe-3.0.3-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:d2ee202e79d8ed691ceebae8e0486bd9a2cd4794cec4824e1c99b6f5009502f6", size = 20282, upload-time = "2025-09-27T18:36:12.573Z" }, - { url = "https://files.pythonhosted.org/packages/56/21/dca11354e756ebd03e036bd8ad58d6d7168c80ce1fe5e75218e4945cbab7/markupsafe-3.0.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:177b5253b2834fe3678cb4a5f0059808258584c559193998be2601324fdeafb1", size = 20745, upload-time = "2025-09-27T18:36:13.504Z" }, - { url = "https://files.pythonhosted.org/packages/87/99/faba9369a7ad6e4d10b6a5fbf71fa2a188fe4a593b15f0963b73859a1bbd/markupsafe-3.0.3-cp310-cp310-win32.whl", hash = "sha256:2a15a08b17dd94c53a1da0438822d70ebcd13f8c3a95abe3a9ef9f11a94830aa", size = 14571, upload-time = "2025-09-27T18:36:14.779Z" }, - { url = "https://files.pythonhosted.org/packages/d6/25/55dc3ab959917602c96985cb1253efaa4ff42f71194bddeb61eb7278b8be/markupsafe-3.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:c4ffb7ebf07cfe8931028e3e4c85f0357459a3f9f9490886198848f4fa002ec8", size = 15056, upload-time = "2025-09-27T18:36:16.125Z" }, - { url = "https://files.pythonhosted.org/packages/d0/9e/0a02226640c255d1da0b8d12e24ac2aa6734da68bff14c05dd53b94a0fc3/markupsafe-3.0.3-cp310-cp310-win_arm64.whl", hash = "sha256:e2103a929dfa2fcaf9bb4e7c091983a49c9ac3b19c9061b6d5427dd7d14d81a1", size = 13932, upload-time = "2025-09-27T18:36:17.311Z" }, - { url = "https://files.pythonhosted.org/packages/08/db/fefacb2136439fc8dd20e797950e749aa1f4997ed584c62cfb8ef7c2be0e/markupsafe-3.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1cc7ea17a6824959616c525620e387f6dd30fec8cb44f649e31712db02123dad", size = 11631, upload-time = "2025-09-27T18:36:18.185Z" }, - { url = "https://files.pythonhosted.org/packages/e1/2e/5898933336b61975ce9dc04decbc0a7f2fee78c30353c5efba7f2d6ff27a/markupsafe-3.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4bd4cd07944443f5a265608cc6aab442e4f74dff8088b0dfc8238647b8f6ae9a", size = 12058, upload-time = "2025-09-27T18:36:19.444Z" }, - { url = "https://files.pythonhosted.org/packages/1d/09/adf2df3699d87d1d8184038df46a9c80d78c0148492323f4693df54e17bb/markupsafe-3.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b5420a1d9450023228968e7e6a9ce57f65d148ab56d2313fcd589eee96a7a50", size = 24287, upload-time = "2025-09-27T18:36:20.768Z" }, - { url = "https://files.pythonhosted.org/packages/30/ac/0273f6fcb5f42e314c6d8cd99effae6a5354604d461b8d392b5ec9530a54/markupsafe-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0bf2a864d67e76e5c9a34dc26ec616a66b9888e25e7b9460e1c76d3293bd9dbf", size = 22940, upload-time = "2025-09-27T18:36:22.249Z" }, - { url = "https://files.pythonhosted.org/packages/19/ae/31c1be199ef767124c042c6c3e904da327a2f7f0cd63a0337e1eca2967a8/markupsafe-3.0.3-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc51efed119bc9cfdf792cdeaa4d67e8f6fcccab66ed4bfdd6bde3e59bfcbb2f", size = 21887, upload-time = "2025-09-27T18:36:23.535Z" }, - { url = "https://files.pythonhosted.org/packages/b2/76/7edcab99d5349a4532a459e1fe64f0b0467a3365056ae550d3bcf3f79e1e/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:068f375c472b3e7acbe2d5318dea141359e6900156b5b2ba06a30b169086b91a", size = 23692, upload-time = "2025-09-27T18:36:24.823Z" }, - { url = "https://files.pythonhosted.org/packages/a4/28/6e74cdd26d7514849143d69f0bf2399f929c37dc2b31e6829fd2045b2765/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:7be7b61bb172e1ed687f1754f8e7484f1c8019780f6f6b0786e76bb01c2ae115", size = 21471, upload-time = "2025-09-27T18:36:25.95Z" }, - { url = "https://files.pythonhosted.org/packages/62/7e/a145f36a5c2945673e590850a6f8014318d5577ed7e5920a4b3448e0865d/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f9e130248f4462aaa8e2552d547f36ddadbeaa573879158d721bbd33dfe4743a", size = 22923, upload-time = "2025-09-27T18:36:27.109Z" }, - { url = "https://files.pythonhosted.org/packages/0f/62/d9c46a7f5c9adbeeeda52f5b8d802e1094e9717705a645efc71b0913a0a8/markupsafe-3.0.3-cp311-cp311-win32.whl", hash = "sha256:0db14f5dafddbb6d9208827849fad01f1a2609380add406671a26386cdf15a19", size = 14572, upload-time = "2025-09-27T18:36:28.045Z" }, - { url = "https://files.pythonhosted.org/packages/83/8a/4414c03d3f891739326e1783338e48fb49781cc915b2e0ee052aa490d586/markupsafe-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:de8a88e63464af587c950061a5e6a67d3632e36df62b986892331d4620a35c01", size = 15077, upload-time = "2025-09-27T18:36:29.025Z" }, - { url = "https://files.pythonhosted.org/packages/35/73/893072b42e6862f319b5207adc9ae06070f095b358655f077f69a35601f0/markupsafe-3.0.3-cp311-cp311-win_arm64.whl", hash = "sha256:3b562dd9e9ea93f13d53989d23a7e775fdfd1066c33494ff43f5418bc8c58a5c", size = 13876, upload-time = "2025-09-27T18:36:29.954Z" }, - { url = "https://files.pythonhosted.org/packages/5a/72/147da192e38635ada20e0a2e1a51cf8823d2119ce8883f7053879c2199b5/markupsafe-3.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d53197da72cc091b024dd97249dfc7794d6a56530370992a5e1a08983ad9230e", size = 11615, upload-time = "2025-09-27T18:36:30.854Z" }, - { url = "https://files.pythonhosted.org/packages/9a/81/7e4e08678a1f98521201c3079f77db69fb552acd56067661f8c2f534a718/markupsafe-3.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1872df69a4de6aead3491198eaf13810b565bdbeec3ae2dc8780f14458ec73ce", size = 12020, upload-time = "2025-09-27T18:36:31.971Z" }, - { url = "https://files.pythonhosted.org/packages/1e/2c/799f4742efc39633a1b54a92eec4082e4f815314869865d876824c257c1e/markupsafe-3.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3a7e8ae81ae39e62a41ec302f972ba6ae23a5c5396c8e60113e9066ef893da0d", size = 24332, upload-time = "2025-09-27T18:36:32.813Z" }, - { url = "https://files.pythonhosted.org/packages/3c/2e/8d0c2ab90a8c1d9a24f0399058ab8519a3279d1bd4289511d74e909f060e/markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d6dd0be5b5b189d31db7cda48b91d7e0a9795f31430b7f271219ab30f1d3ac9d", size = 22947, upload-time = "2025-09-27T18:36:33.86Z" }, - { url = "https://files.pythonhosted.org/packages/2c/54/887f3092a85238093a0b2154bd629c89444f395618842e8b0c41783898ea/markupsafe-3.0.3-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:94c6f0bb423f739146aec64595853541634bde58b2135f27f61c1ffd1cd4d16a", size = 21962, upload-time = "2025-09-27T18:36:35.099Z" }, - { url = "https://files.pythonhosted.org/packages/c9/2f/336b8c7b6f4a4d95e91119dc8521402461b74a485558d8f238a68312f11c/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:be8813b57049a7dc738189df53d69395eba14fb99345e0a5994914a3864c8a4b", size = 23760, upload-time = "2025-09-27T18:36:36.001Z" }, - { url = "https://files.pythonhosted.org/packages/32/43/67935f2b7e4982ffb50a4d169b724d74b62a3964bc1a9a527f5ac4f1ee2b/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:83891d0e9fb81a825d9a6d61e3f07550ca70a076484292a70fde82c4b807286f", size = 21529, upload-time = "2025-09-27T18:36:36.906Z" }, - { url = "https://files.pythonhosted.org/packages/89/e0/4486f11e51bbba8b0c041098859e869e304d1c261e59244baa3d295d47b7/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:77f0643abe7495da77fb436f50f8dab76dbc6e5fd25d39589a0f1fe6548bfa2b", size = 23015, upload-time = "2025-09-27T18:36:37.868Z" }, - { url = "https://files.pythonhosted.org/packages/2f/e1/78ee7a023dac597a5825441ebd17170785a9dab23de95d2c7508ade94e0e/markupsafe-3.0.3-cp312-cp312-win32.whl", hash = "sha256:d88b440e37a16e651bda4c7c2b930eb586fd15ca7406cb39e211fcff3bf3017d", size = 14540, upload-time = "2025-09-27T18:36:38.761Z" }, - { url = "https://files.pythonhosted.org/packages/aa/5b/bec5aa9bbbb2c946ca2733ef9c4ca91c91b6a24580193e891b5f7dbe8e1e/markupsafe-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:26a5784ded40c9e318cfc2bdb30fe164bdb8665ded9cd64d500a34fb42067b1c", size = 15105, upload-time = "2025-09-27T18:36:39.701Z" }, - { url = "https://files.pythonhosted.org/packages/e5/f1/216fc1bbfd74011693a4fd837e7026152e89c4bcf3e77b6692fba9923123/markupsafe-3.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:35add3b638a5d900e807944a078b51922212fb3dedb01633a8defc4b01a3c85f", size = 13906, upload-time = "2025-09-27T18:36:40.689Z" }, - { url = "https://files.pythonhosted.org/packages/38/2f/907b9c7bbba283e68f20259574b13d005c121a0fa4c175f9bed27c4597ff/markupsafe-3.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795", size = 11622, upload-time = "2025-09-27T18:36:41.777Z" }, - { url = "https://files.pythonhosted.org/packages/9c/d9/5f7756922cdd676869eca1c4e3c0cd0df60ed30199ffd775e319089cb3ed/markupsafe-3.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219", size = 12029, upload-time = "2025-09-27T18:36:43.257Z" }, - { url = "https://files.pythonhosted.org/packages/00/07/575a68c754943058c78f30db02ee03a64b3c638586fba6a6dd56830b30a3/markupsafe-3.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6", size = 24374, upload-time = "2025-09-27T18:36:44.508Z" }, - { url = "https://files.pythonhosted.org/packages/a9/21/9b05698b46f218fc0e118e1f8168395c65c8a2c750ae2bab54fc4bd4e0e8/markupsafe-3.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676", size = 22980, upload-time = "2025-09-27T18:36:45.385Z" }, - { url = "https://files.pythonhosted.org/packages/7f/71/544260864f893f18b6827315b988c146b559391e6e7e8f7252839b1b846a/markupsafe-3.0.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9", size = 21990, upload-time = "2025-09-27T18:36:46.916Z" }, - { url = "https://files.pythonhosted.org/packages/c2/28/b50fc2f74d1ad761af2f5dcce7492648b983d00a65b8c0e0cb457c82ebbe/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1", size = 23784, upload-time = "2025-09-27T18:36:47.884Z" }, - { url = "https://files.pythonhosted.org/packages/ed/76/104b2aa106a208da8b17a2fb72e033a5a9d7073c68f7e508b94916ed47a9/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc", size = 21588, upload-time = "2025-09-27T18:36:48.82Z" }, - { url = "https://files.pythonhosted.org/packages/b5/99/16a5eb2d140087ebd97180d95249b00a03aa87e29cc224056274f2e45fd6/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12", size = 23041, upload-time = "2025-09-27T18:36:49.797Z" }, - { url = "https://files.pythonhosted.org/packages/19/bc/e7140ed90c5d61d77cea142eed9f9c303f4c4806f60a1044c13e3f1471d0/markupsafe-3.0.3-cp313-cp313-win32.whl", hash = "sha256:bdd37121970bfd8be76c5fb069c7751683bdf373db1ed6c010162b2a130248ed", size = 14543, upload-time = "2025-09-27T18:36:51.584Z" }, - { url = "https://files.pythonhosted.org/packages/05/73/c4abe620b841b6b791f2edc248f556900667a5a1cf023a6646967ae98335/markupsafe-3.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:9a1abfdc021a164803f4d485104931fb8f8c1efd55bc6b748d2f5774e78b62c5", size = 15113, upload-time = "2025-09-27T18:36:52.537Z" }, - { url = "https://files.pythonhosted.org/packages/f0/3a/fa34a0f7cfef23cf9500d68cb7c32dd64ffd58a12b09225fb03dd37d5b80/markupsafe-3.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:7e68f88e5b8799aa49c85cd116c932a1ac15caaa3f5db09087854d218359e485", size = 13911, upload-time = "2025-09-27T18:36:53.513Z" }, - { url = "https://files.pythonhosted.org/packages/e4/d7/e05cd7efe43a88a17a37b3ae96e79a19e846f3f456fe79c57ca61356ef01/markupsafe-3.0.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73", size = 11658, upload-time = "2025-09-27T18:36:54.819Z" }, - { url = "https://files.pythonhosted.org/packages/99/9e/e412117548182ce2148bdeacdda3bb494260c0b0184360fe0d56389b523b/markupsafe-3.0.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37", size = 12066, upload-time = "2025-09-27T18:36:55.714Z" }, - { url = "https://files.pythonhosted.org/packages/bc/e6/fa0ffcda717ef64a5108eaa7b4f5ed28d56122c9a6d70ab8b72f9f715c80/markupsafe-3.0.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19", size = 25639, upload-time = "2025-09-27T18:36:56.908Z" }, - { url = "https://files.pythonhosted.org/packages/96/ec/2102e881fe9d25fc16cb4b25d5f5cde50970967ffa5dddafdb771237062d/markupsafe-3.0.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025", size = 23569, upload-time = "2025-09-27T18:36:57.913Z" }, - { url = "https://files.pythonhosted.org/packages/4b/30/6f2fce1f1f205fc9323255b216ca8a235b15860c34b6798f810f05828e32/markupsafe-3.0.3-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6", size = 23284, upload-time = "2025-09-27T18:36:58.833Z" }, - { url = "https://files.pythonhosted.org/packages/58/47/4a0ccea4ab9f5dcb6f79c0236d954acb382202721e704223a8aafa38b5c8/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f", size = 24801, upload-time = "2025-09-27T18:36:59.739Z" }, - { url = "https://files.pythonhosted.org/packages/6a/70/3780e9b72180b6fecb83a4814d84c3bf4b4ae4bf0b19c27196104149734c/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb", size = 22769, upload-time = "2025-09-27T18:37:00.719Z" }, - { url = "https://files.pythonhosted.org/packages/98/c5/c03c7f4125180fc215220c035beac6b9cb684bc7a067c84fc69414d315f5/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009", size = 23642, upload-time = "2025-09-27T18:37:01.673Z" }, - { url = "https://files.pythonhosted.org/packages/80/d6/2d1b89f6ca4bff1036499b1e29a1d02d282259f3681540e16563f27ebc23/markupsafe-3.0.3-cp313-cp313t-win32.whl", hash = "sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354", size = 14612, upload-time = "2025-09-27T18:37:02.639Z" }, - { url = "https://files.pythonhosted.org/packages/2b/98/e48a4bfba0a0ffcf9925fe2d69240bfaa19c6f7507b8cd09c70684a53c1e/markupsafe-3.0.3-cp313-cp313t-win_amd64.whl", hash = "sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218", size = 15200, upload-time = "2025-09-27T18:37:03.582Z" }, - { url = "https://files.pythonhosted.org/packages/0e/72/e3cc540f351f316e9ed0f092757459afbc595824ca724cbc5a5d4263713f/markupsafe-3.0.3-cp313-cp313t-win_arm64.whl", hash = "sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287", size = 13973, upload-time = "2025-09-27T18:37:04.929Z" }, - { url = "https://files.pythonhosted.org/packages/33/8a/8e42d4838cd89b7dde187011e97fe6c3af66d8c044997d2183fbd6d31352/markupsafe-3.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe", size = 11619, upload-time = "2025-09-27T18:37:06.342Z" }, - { url = "https://files.pythonhosted.org/packages/b5/64/7660f8a4a8e53c924d0fa05dc3a55c9cee10bbd82b11c5afb27d44b096ce/markupsafe-3.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026", size = 12029, upload-time = "2025-09-27T18:37:07.213Z" }, - { url = "https://files.pythonhosted.org/packages/da/ef/e648bfd021127bef5fa12e1720ffed0c6cbb8310c8d9bea7266337ff06de/markupsafe-3.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737", size = 24408, upload-time = "2025-09-27T18:37:09.572Z" }, - { url = "https://files.pythonhosted.org/packages/41/3c/a36c2450754618e62008bf7435ccb0f88053e07592e6028a34776213d877/markupsafe-3.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97", size = 23005, upload-time = "2025-09-27T18:37:10.58Z" }, - { url = "https://files.pythonhosted.org/packages/bc/20/b7fdf89a8456b099837cd1dc21974632a02a999ec9bf7ca3e490aacd98e7/markupsafe-3.0.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d", size = 22048, upload-time = "2025-09-27T18:37:11.547Z" }, - { url = "https://files.pythonhosted.org/packages/9a/a7/591f592afdc734f47db08a75793a55d7fbcc6902a723ae4cfbab61010cc5/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda", size = 23821, upload-time = "2025-09-27T18:37:12.48Z" }, - { url = "https://files.pythonhosted.org/packages/7d/33/45b24e4f44195b26521bc6f1a82197118f74df348556594bd2262bda1038/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf", size = 21606, upload-time = "2025-09-27T18:37:13.485Z" }, - { url = "https://files.pythonhosted.org/packages/ff/0e/53dfaca23a69fbfbbf17a4b64072090e70717344c52eaaaa9c5ddff1e5f0/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe", size = 23043, upload-time = "2025-09-27T18:37:14.408Z" }, - { url = "https://files.pythonhosted.org/packages/46/11/f333a06fc16236d5238bfe74daccbca41459dcd8d1fa952e8fbd5dccfb70/markupsafe-3.0.3-cp314-cp314-win32.whl", hash = "sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9", size = 14747, upload-time = "2025-09-27T18:37:15.36Z" }, - { url = "https://files.pythonhosted.org/packages/28/52/182836104b33b444e400b14f797212f720cbc9ed6ba34c800639d154e821/markupsafe-3.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581", size = 15341, upload-time = "2025-09-27T18:37:16.496Z" }, - { url = "https://files.pythonhosted.org/packages/6f/18/acf23e91bd94fd7b3031558b1f013adfa21a8e407a3fdb32745538730382/markupsafe-3.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4", size = 14073, upload-time = "2025-09-27T18:37:17.476Z" }, - { url = "https://files.pythonhosted.org/packages/3c/f0/57689aa4076e1b43b15fdfa646b04653969d50cf30c32a102762be2485da/markupsafe-3.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab", size = 11661, upload-time = "2025-09-27T18:37:18.453Z" }, - { url = "https://files.pythonhosted.org/packages/89/c3/2e67a7ca217c6912985ec766c6393b636fb0c2344443ff9d91404dc4c79f/markupsafe-3.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175", size = 12069, upload-time = "2025-09-27T18:37:19.332Z" }, - { url = "https://files.pythonhosted.org/packages/f0/00/be561dce4e6ca66b15276e184ce4b8aec61fe83662cce2f7d72bd3249d28/markupsafe-3.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634", size = 25670, upload-time = "2025-09-27T18:37:20.245Z" }, - { url = "https://files.pythonhosted.org/packages/50/09/c419f6f5a92e5fadde27efd190eca90f05e1261b10dbd8cbcb39cd8ea1dc/markupsafe-3.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50", size = 23598, upload-time = "2025-09-27T18:37:21.177Z" }, - { url = "https://files.pythonhosted.org/packages/22/44/a0681611106e0b2921b3033fc19bc53323e0b50bc70cffdd19f7d679bb66/markupsafe-3.0.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e", size = 23261, upload-time = "2025-09-27T18:37:22.167Z" }, - { url = "https://files.pythonhosted.org/packages/5f/57/1b0b3f100259dc9fffe780cfb60d4be71375510e435efec3d116b6436d43/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5", size = 24835, upload-time = "2025-09-27T18:37:23.296Z" }, - { url = "https://files.pythonhosted.org/packages/26/6a/4bf6d0c97c4920f1597cc14dd720705eca0bf7c787aebc6bb4d1bead5388/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523", size = 22733, upload-time = "2025-09-27T18:37:24.237Z" }, - { url = "https://files.pythonhosted.org/packages/14/c7/ca723101509b518797fedc2fdf79ba57f886b4aca8a7d31857ba3ee8281f/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc", size = 23672, upload-time = "2025-09-27T18:37:25.271Z" }, - { url = "https://files.pythonhosted.org/packages/fb/df/5bd7a48c256faecd1d36edc13133e51397e41b73bb77e1a69deab746ebac/markupsafe-3.0.3-cp314-cp314t-win32.whl", hash = "sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d", size = 14819, upload-time = "2025-09-27T18:37:26.285Z" }, - { url = "https://files.pythonhosted.org/packages/1a/8a/0402ba61a2f16038b48b39bccca271134be00c5c9f0f623208399333c448/markupsafe-3.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9", size = 15426, upload-time = "2025-09-27T18:37:27.316Z" }, - { url = "https://files.pythonhosted.org/packages/70/bc/6f1c2f612465f5fa89b95bead1f44dcb607670fd42891d8fdcd5d039f4f4/markupsafe-3.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa", size = 14146, upload-time = "2025-09-27T18:37:28.327Z" }, -] - [[package]] name = "mdurl" version = "0.1.2" @@ -981,152 +829,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979, upload-time = "2022-08-14T12:40:09.779Z" }, ] -[[package]] -name = "mergedeep" -version = "1.3.4" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/3a/41/580bb4006e3ed0361b8151a01d324fb03f420815446c7def45d02f74c270/mergedeep-1.3.4.tar.gz", hash = "sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8", size = 4661, upload-time = "2021-02-05T18:55:30.623Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/2c/19/04f9b178c2d8a15b076c8b5140708fa6ffc5601fb6f1e975537072df5b2a/mergedeep-1.3.4-py3-none-any.whl", hash = "sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307", size = 6354, upload-time = "2021-02-05T18:55:29.583Z" }, -] - -[[package]] -name = "mike" -version = "2.2.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "jinja2" }, - { name = "mkdocs" }, - { name = "pyparsing" }, - { name = "pyyaml" }, - { name = "pyyaml-env-tag" }, - { name = "verspec" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/b4/47/fa87e9d56bef16cdfe34b059a437e8c6f7ec6f1b9c378871c3cf95ebea9c/mike-2.2.0.tar.gz", hash = "sha256:1e3858e32c0f125aac14432fc7848434358f9ae0962c5c5cde387ad47f6ad25e", size = 38450, upload-time = "2026-04-14T04:59:03.944Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/76/8e/56ccb09c7232a55403a7637caa21922f3b65901a37f5e8bdb405d0de0946/mike-2.2.0-py3-none-any.whl", hash = "sha256:e1f4981c1152eec7c2490a3401142292cc47d686194188416db2648fdfe1d040", size = 34026, upload-time = "2026-04-14T04:59:02.602Z" }, -] - -[[package]] -name = "mkdocs" -version = "1.6.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "click" }, - { name = "colorama", marker = "sys_platform == 'win32'" }, - { name = "ghp-import" }, - { name = "jinja2" }, - { name = "markdown" }, - { name = "markupsafe" }, - { name = "mergedeep" }, - { name = "mkdocs-get-deps" }, - { name = "packaging" }, - { name = "pathspec" }, - { name = "pyyaml" }, - { name = "pyyaml-env-tag" }, - { name = "watchdog" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/bc/c6/bbd4f061bd16b378247f12953ffcb04786a618ce5e904b8c5a01a0309061/mkdocs-1.6.1.tar.gz", hash = "sha256:7b432f01d928c084353ab39c57282f29f92136665bdd6abf7c1ec8d822ef86f2", size = 3889159, upload-time = "2024-08-30T12:24:06.899Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/22/5b/dbc6a8cddc9cfa9c4971d59fb12bb8d42e161b7e7f8cc89e49137c5b279c/mkdocs-1.6.1-py3-none-any.whl", hash = "sha256:db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20e", size = 3864451, upload-time = "2024-08-30T12:24:05.054Z" }, -] - -[[package]] -name = "mkdocs-autorefs" -version = "1.4.4" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "markdown" }, - { name = "markupsafe" }, - { name = "mkdocs" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/52/c0/f641843de3f612a6b48253f39244165acff36657a91cc903633d456ae1ac/mkdocs_autorefs-1.4.4.tar.gz", hash = "sha256:d54a284f27a7346b9c38f1f852177940c222da508e66edc816a0fa55fc6da197", size = 56588, upload-time = "2026-02-10T15:23:55.105Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/28/de/a3e710469772c6a89595fc52816da05c1e164b4c866a89e3cb82fb1b67c5/mkdocs_autorefs-1.4.4-py3-none-any.whl", hash = "sha256:834ef5408d827071ad1bc69e0f39704fa34c7fc05bc8e1c72b227dfdc5c76089", size = 25530, upload-time = "2026-02-10T15:23:53.817Z" }, -] - -[[package]] -name = "mkdocs-get-deps" -version = "0.2.2" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "mergedeep" }, - { name = "platformdirs" }, - { name = "pyyaml" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/ce/25/b3cccb187655b9393572bde9b09261d267c3bf2f2cdabe347673be5976a6/mkdocs_get_deps-0.2.2.tar.gz", hash = "sha256:8ee8d5f316cdbbb2834bc1df6e69c08fe769a83e040060de26d3c19fad3599a1", size = 11047, upload-time = "2026-03-10T02:46:33.632Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/88/29/744136411e785c4b0b744d5413e56555265939ab3a104c6a4b719dad33fd/mkdocs_get_deps-0.2.2-py3-none-any.whl", hash = "sha256:e7878cbeac04860b8b5e0ca31d3abad3df9411a75a32cde82f8e44b6c16ff650", size = 9555, upload-time = "2026-03-10T02:46:32.256Z" }, -] - -[[package]] -name = "mkdocs-material" -version = "9.7.6" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "babel" }, - { name = "backrefs" }, - { name = "colorama" }, - { name = "jinja2" }, - { name = "markdown" }, - { name = "mkdocs" }, - { name = "mkdocs-material-extensions" }, - { name = "paginate" }, - { name = "pygments" }, - { name = "pymdown-extensions" }, - { name = "requests" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/45/29/6d2bcf41ae40802c4beda2432396fff97b8456fb496371d1bc7aad6512ec/mkdocs_material-9.7.6.tar.gz", hash = "sha256:00bdde50574f776d328b1862fe65daeaf581ec309bd150f7bff345a098c64a69", size = 4097959, upload-time = "2026-03-19T15:41:58.161Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/2c/01/bc663630c510822c95c47a66af9fa7a443c295b47d5f041e5e6ae62ef659/mkdocs_material-9.7.6-py3-none-any.whl", hash = "sha256:71b84353921b8ea1ba84fe11c50912cc512da8fe0881038fcc9a0761c0e635ba", size = 9305470, upload-time = "2026-03-19T15:41:55.217Z" }, -] - -[[package]] -name = "mkdocs-material-extensions" -version = "1.3.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/79/9b/9b4c96d6593b2a541e1cb8b34899a6d021d208bb357042823d4d2cabdbe7/mkdocs_material_extensions-1.3.1.tar.gz", hash = "sha256:10c9511cea88f568257f960358a467d12b970e1f7b2c0e5fb2bb48cab1928443", size = 11847, upload-time = "2023-11-22T19:09:45.208Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/5b/54/662a4743aa81d9582ee9339d4ffa3c8fd40a4965e033d77b9da9774d3960/mkdocs_material_extensions-1.3.1-py3-none-any.whl", hash = "sha256:adff8b62700b25cb77b53358dad940f3ef973dd6db797907c49e3c2ef3ab4e31", size = 8728, upload-time = "2023-11-22T19:09:43.465Z" }, -] - -[[package]] -name = "mkdocstrings" -version = "1.0.4" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "jinja2" }, - { name = "markdown" }, - { name = "markupsafe" }, - { name = "mkdocs" }, - { name = "mkdocs-autorefs" }, - { name = "pymdown-extensions" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/1d/5d/f888d4d3eb31359b327bc9b17a212d6ef03fe0b0682fbb3fc2cb849fb12b/mkdocstrings-1.0.4.tar.gz", hash = "sha256:3969a6515b77db65fd097b53c1b7aa4ae840bd71a2ee62a6a3e89503446d7172", size = 100088, upload-time = "2026-04-15T09:16:53.376Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/6e/94/be70f8ee9c45f2f62b39a1f0e9303bc20e138a8f3b8e50ffd89498e177e1/mkdocstrings-1.0.4-py3-none-any.whl", hash = "sha256:63464b4b29053514f32a1dbbf604e52876d5e638111b0c295ab7ed3cac73ca9b", size = 35560, upload-time = "2026-04-15T09:16:51.436Z" }, -] - -[package.optional-dependencies] -python = [ - { name = "mkdocstrings-python" }, -] - -[[package]] -name = "mkdocstrings-python" -version = "1.19.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "griffe" }, - { name = "mkdocs-autorefs" }, - { name = "mkdocstrings" }, - { name = "typing-extensions", marker = "python_full_version < '3.11'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/75/1c/3af8413919b0839b96a78f60e8bd0dfd26c844d3717eeb77f80b43f5be1c/mkdocstrings_python-1.19.0.tar.gz", hash = "sha256:917aac66cf121243c11db5b89f66b0ded6c53ec0de5318ff5e22424eb2f2e57c", size = 204010, upload-time = "2025-11-10T13:30:55.915Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/98/5c/2597cef67b6947b15c47f8dba967a0baf19fbdfdc86f6e4a8ba7af8b581a/mkdocstrings_python-1.19.0-py3-none-any.whl", hash = "sha256:395c1032af8f005234170575cc0c5d4d20980846623b623b35594281be4a3059", size = 143417, upload-time = "2025-11-10T13:30:54.164Z" }, -] - [[package]] name = "more-itertools" version = "11.0.2" @@ -1364,33 +1066,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl", hash = "sha256:5fc45236b9446107ff2415ce77c807cee2862cb6fac22b8a73826d0693b0980e", size = 100195, upload-time = "2026-04-24T20:15:22.081Z" }, ] -[[package]] -name = "paginate" -version = "0.5.7" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ec/46/68dde5b6bc00c1296ec6466ab27dddede6aec9af1b99090e1107091b3b84/paginate-0.5.7.tar.gz", hash = "sha256:22bd083ab41e1a8b4f3690544afb2c60c25e5c9a63a30fa2f483f6c60c8e5945", size = 19252, upload-time = "2024-08-25T14:17:24.139Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/90/96/04b8e52da071d28f5e21a805b19cb9390aa17a47462ac87f5e2696b9566d/paginate-0.5.7-py2.py3-none-any.whl", hash = "sha256:b885e2af73abcf01d9559fd5216b57ef722f8c42affbb63942377668e35c7591", size = 13746, upload-time = "2024-08-25T14:17:22.55Z" }, -] - -[[package]] -name = "pathspec" -version = "1.1.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/5a/82/42f767fc1c1143d6fd36efb827202a2d997a375e160a71eb2888a925aac1/pathspec-1.1.1.tar.gz", hash = "sha256:17db5ecd524104a120e173814c90367a96a98d07c45b2e10c2f3919fff91bf5a", size = 135180, upload-time = "2026-04-27T01:46:08.907Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f1/d9/7fb5aa316bc299258e68c73ba3bddbc499654a07f151cba08f6153988714/pathspec-1.1.1-py3-none-any.whl", hash = "sha256:a00ce642f577bf7f473932318056212bc4f8bfdf53128c78bbd5af0b9b20b189", size = 57328, upload-time = "2026-04-27T01:46:07.06Z" }, -] - -[[package]] -name = "platformdirs" -version = "4.9.6" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/9f/4a/0883b8e3802965322523f0b200ecf33d31f10991d0401162f4b23c698b42/platformdirs-4.9.6.tar.gz", hash = "sha256:3bfa75b0ad0db84096ae777218481852c0ebc6c727b3168c1b9e0118e458cf0a", size = 29400, upload-time = "2026-04-09T00:04:10.812Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/75/a6/a0a304dc33b49145b21f4808d763822111e67d1c3a32b524a1baf947b6e1/platformdirs-4.9.6-py3-none-any.whl", hash = "sha256:e61adb1d5e5cb3441b4b7710bea7e4c12250ca49439228cc1021c00dcfac0917", size = 21348, upload-time = "2026-04-09T00:04:09.463Z" }, -] - [[package]] name = "pluggy" version = "1.6.0" @@ -1546,28 +1221,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl", hash = "sha256:81a9e26dd42fd28a23a2d169d86d7ac03b46e2f8b59ed4698fb4785f946d0176", size = 1231151, upload-time = "2026-03-29T13:29:30.038Z" }, ] -[[package]] -name = "pymdown-extensions" -version = "10.21.3" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "markdown" }, - { name = "pyyaml" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/9e/26/d1015444da4d952a1ca487a236b522eb979766f0295a0bd0c5fc089989a9/pymdown_extensions-10.21.3.tar.gz", hash = "sha256:72cfcf55f07aea0d4af2c4f11dd4e52466ddfb1bb819673146398e0bd3a77354", size = 854140, upload-time = "2026-05-13T12:57:32.267Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/7e/85/545a951eecc270fcd688288c600017e2050a1aacb56c711d208586d3e470/pymdown_extensions-10.21.3-py3-none-any.whl", hash = "sha256:d7a5d08014fc571e80ca21dd6f854e31f94c489800350564d55d15b3c41e76b6", size = 269002, upload-time = "2026-05-13T12:57:30.296Z" }, -] - -[[package]] -name = "pyparsing" -version = "3.3.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f3/91/9c6ee907786a473bf81c5f53cf703ba0957b23ab84c264080fb5a450416f/pyparsing-3.3.2.tar.gz", hash = "sha256:c777f4d763f140633dcb6d8a3eda953bf7a214dc4eff598413c070bcdc117cbc", size = 6851574, upload-time = "2026-01-21T03:57:59.36Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/10/bd/c038d7cc38edc1aa5bf91ab8068b63d4308c66c4c8bb3cbba7dfbc049f9c/pyparsing-3.3.2-py3-none-any.whl", hash = "sha256:850ba148bd908d7e2411587e247a1e4f0327839c40e2e5e6d05a007ecc69911d", size = 122781, upload-time = "2026-01-21T03:57:55.912Z" }, -] - [[package]] name = "pytest" version = "9.0.3" @@ -1600,18 +1253,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/80/b4/bb7263e12aade3842b938bc5c6958cae79c5ee18992f9b9349019579da0f/pytest_cov-6.3.0-py3-none-any.whl", hash = "sha256:440db28156d2468cafc0415b4f8e50856a0d11faefa38f30906048fe490f1749", size = 25115, upload-time = "2025-09-06T15:40:12.44Z" }, ] -[[package]] -name = "python-dateutil" -version = "2.9.0.post0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "six" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, -] - [[package]] name = "pywin32-ctypes" version = "0.2.3" @@ -1621,82 +1262,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/de/3d/8161f7711c017e01ac9f008dfddd9410dff3674334c233bde66e7ba65bbf/pywin32_ctypes-0.2.3-py3-none-any.whl", hash = "sha256:8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30918929e7b8", size = 30756, upload-time = "2024-08-14T10:15:33.187Z" }, ] -[[package]] -name = "pyyaml" -version = "6.0.3" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz", hash = "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f", size = 130960, upload-time = "2025-09-25T21:33:16.546Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f4/a0/39350dd17dd6d6c6507025c0e53aef67a9293a6d37d3511f23ea510d5800/pyyaml-6.0.3-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:214ed4befebe12df36bcc8bc2b64b396ca31be9304b8f59e25c11cf94a4c033b", size = 184227, upload-time = "2025-09-25T21:31:46.04Z" }, - { url = "https://files.pythonhosted.org/packages/05/14/52d505b5c59ce73244f59c7a50ecf47093ce4765f116cdb98286a71eeca2/pyyaml-6.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:02ea2dfa234451bbb8772601d7b8e426c2bfa197136796224e50e35a78777956", size = 174019, upload-time = "2025-09-25T21:31:47.706Z" }, - { url = "https://files.pythonhosted.org/packages/43/f7/0e6a5ae5599c838c696adb4e6330a59f463265bfa1e116cfd1fbb0abaaae/pyyaml-6.0.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b30236e45cf30d2b8e7b3e85881719e98507abed1011bf463a8fa23e9c3e98a8", size = 740646, upload-time = "2025-09-25T21:31:49.21Z" }, - { url = "https://files.pythonhosted.org/packages/2f/3a/61b9db1d28f00f8fd0ae760459a5c4bf1b941baf714e207b6eb0657d2578/pyyaml-6.0.3-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:66291b10affd76d76f54fad28e22e51719ef9ba22b29e1d7d03d6777a9174198", size = 840793, upload-time = "2025-09-25T21:31:50.735Z" }, - { url = "https://files.pythonhosted.org/packages/7a/1e/7acc4f0e74c4b3d9531e24739e0ab832a5edf40e64fbae1a9c01941cabd7/pyyaml-6.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9c7708761fccb9397fe64bbc0395abcae8c4bf7b0eac081e12b809bf47700d0b", size = 770293, upload-time = "2025-09-25T21:31:51.828Z" }, - { url = "https://files.pythonhosted.org/packages/8b/ef/abd085f06853af0cd59fa5f913d61a8eab65d7639ff2a658d18a25d6a89d/pyyaml-6.0.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:418cf3f2111bc80e0933b2cd8cd04f286338bb88bdc7bc8e6dd775ebde60b5e0", size = 732872, upload-time = "2025-09-25T21:31:53.282Z" }, - { url = "https://files.pythonhosted.org/packages/1f/15/2bc9c8faf6450a8b3c9fc5448ed869c599c0a74ba2669772b1f3a0040180/pyyaml-6.0.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5e0b74767e5f8c593e8c9b5912019159ed0533c70051e9cce3e8b6aa699fcd69", size = 758828, upload-time = "2025-09-25T21:31:54.807Z" }, - { url = "https://files.pythonhosted.org/packages/a3/00/531e92e88c00f4333ce359e50c19b8d1de9fe8d581b1534e35ccfbc5f393/pyyaml-6.0.3-cp310-cp310-win32.whl", hash = "sha256:28c8d926f98f432f88adc23edf2e6d4921ac26fb084b028c733d01868d19007e", size = 142415, upload-time = "2025-09-25T21:31:55.885Z" }, - { url = "https://files.pythonhosted.org/packages/2a/fa/926c003379b19fca39dd4634818b00dec6c62d87faf628d1394e137354d4/pyyaml-6.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:bdb2c67c6c1390b63c6ff89f210c8fd09d9a1217a465701eac7316313c915e4c", size = 158561, upload-time = "2025-09-25T21:31:57.406Z" }, - { url = "https://files.pythonhosted.org/packages/6d/16/a95b6757765b7b031c9374925bb718d55e0a9ba8a1b6a12d25962ea44347/pyyaml-6.0.3-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:44edc647873928551a01e7a563d7452ccdebee747728c1080d881d68af7b997e", size = 185826, upload-time = "2025-09-25T21:31:58.655Z" }, - { url = "https://files.pythonhosted.org/packages/16/19/13de8e4377ed53079ee996e1ab0a9c33ec2faf808a4647b7b4c0d46dd239/pyyaml-6.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:652cb6edd41e718550aad172851962662ff2681490a8a711af6a4d288dd96824", size = 175577, upload-time = "2025-09-25T21:32:00.088Z" }, - { url = "https://files.pythonhosted.org/packages/0c/62/d2eb46264d4b157dae1275b573017abec435397aa59cbcdab6fc978a8af4/pyyaml-6.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:10892704fc220243f5305762e276552a0395f7beb4dbf9b14ec8fd43b57f126c", size = 775556, upload-time = "2025-09-25T21:32:01.31Z" }, - { url = "https://files.pythonhosted.org/packages/10/cb/16c3f2cf3266edd25aaa00d6c4350381c8b012ed6f5276675b9eba8d9ff4/pyyaml-6.0.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:850774a7879607d3a6f50d36d04f00ee69e7fc816450e5f7e58d7f17f1ae5c00", size = 882114, upload-time = "2025-09-25T21:32:03.376Z" }, - { url = "https://files.pythonhosted.org/packages/71/60/917329f640924b18ff085ab889a11c763e0b573da888e8404ff486657602/pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b8bb0864c5a28024fac8a632c443c87c5aa6f215c0b126c449ae1a150412f31d", size = 806638, upload-time = "2025-09-25T21:32:04.553Z" }, - { url = "https://files.pythonhosted.org/packages/dd/6f/529b0f316a9fd167281a6c3826b5583e6192dba792dd55e3203d3f8e655a/pyyaml-6.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1d37d57ad971609cf3c53ba6a7e365e40660e3be0e5175fa9f2365a379d6095a", size = 767463, upload-time = "2025-09-25T21:32:06.152Z" }, - { url = "https://files.pythonhosted.org/packages/f2/6a/b627b4e0c1dd03718543519ffb2f1deea4a1e6d42fbab8021936a4d22589/pyyaml-6.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:37503bfbfc9d2c40b344d06b2199cf0e96e97957ab1c1b546fd4f87e53e5d3e4", size = 794986, upload-time = "2025-09-25T21:32:07.367Z" }, - { url = "https://files.pythonhosted.org/packages/45/91/47a6e1c42d9ee337c4839208f30d9f09caa9f720ec7582917b264defc875/pyyaml-6.0.3-cp311-cp311-win32.whl", hash = "sha256:8098f252adfa6c80ab48096053f512f2321f0b998f98150cea9bd23d83e1467b", size = 142543, upload-time = "2025-09-25T21:32:08.95Z" }, - { url = "https://files.pythonhosted.org/packages/da/e3/ea007450a105ae919a72393cb06f122f288ef60bba2dc64b26e2646fa315/pyyaml-6.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:9f3bfb4965eb874431221a3ff3fdcddc7e74e3b07799e0e84ca4a0f867d449bf", size = 158763, upload-time = "2025-09-25T21:32:09.96Z" }, - { url = "https://files.pythonhosted.org/packages/d1/33/422b98d2195232ca1826284a76852ad5a86fe23e31b009c9886b2d0fb8b2/pyyaml-6.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196", size = 182063, upload-time = "2025-09-25T21:32:11.445Z" }, - { url = "https://files.pythonhosted.org/packages/89/a0/6cf41a19a1f2f3feab0e9c0b74134aa2ce6849093d5517a0c550fe37a648/pyyaml-6.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0", size = 173973, upload-time = "2025-09-25T21:32:12.492Z" }, - { url = "https://files.pythonhosted.org/packages/ed/23/7a778b6bd0b9a8039df8b1b1d80e2e2ad78aa04171592c8a5c43a56a6af4/pyyaml-6.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28", size = 775116, upload-time = "2025-09-25T21:32:13.652Z" }, - { url = "https://files.pythonhosted.org/packages/65/30/d7353c338e12baef4ecc1b09e877c1970bd3382789c159b4f89d6a70dc09/pyyaml-6.0.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c", size = 844011, upload-time = "2025-09-25T21:32:15.21Z" }, - { url = "https://files.pythonhosted.org/packages/8b/9d/b3589d3877982d4f2329302ef98a8026e7f4443c765c46cfecc8858c6b4b/pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc", size = 807870, upload-time = "2025-09-25T21:32:16.431Z" }, - { url = "https://files.pythonhosted.org/packages/05/c0/b3be26a015601b822b97d9149ff8cb5ead58c66f981e04fedf4e762f4bd4/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e", size = 761089, upload-time = "2025-09-25T21:32:17.56Z" }, - { url = "https://files.pythonhosted.org/packages/be/8e/98435a21d1d4b46590d5459a22d88128103f8da4c2d4cb8f14f2a96504e1/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea", size = 790181, upload-time = "2025-09-25T21:32:18.834Z" }, - { url = "https://files.pythonhosted.org/packages/74/93/7baea19427dcfbe1e5a372d81473250b379f04b1bd3c4c5ff825e2327202/pyyaml-6.0.3-cp312-cp312-win32.whl", hash = "sha256:96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5", size = 137658, upload-time = "2025-09-25T21:32:20.209Z" }, - { url = "https://files.pythonhosted.org/packages/86/bf/899e81e4cce32febab4fb42bb97dcdf66bc135272882d1987881a4b519e9/pyyaml-6.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b", size = 154003, upload-time = "2025-09-25T21:32:21.167Z" }, - { url = "https://files.pythonhosted.org/packages/1a/08/67bd04656199bbb51dbed1439b7f27601dfb576fb864099c7ef0c3e55531/pyyaml-6.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd", size = 140344, upload-time = "2025-09-25T21:32:22.617Z" }, - { url = "https://files.pythonhosted.org/packages/d1/11/0fd08f8192109f7169db964b5707a2f1e8b745d4e239b784a5a1dd80d1db/pyyaml-6.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8", size = 181669, upload-time = "2025-09-25T21:32:23.673Z" }, - { url = "https://files.pythonhosted.org/packages/b1/16/95309993f1d3748cd644e02e38b75d50cbc0d9561d21f390a76242ce073f/pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1", size = 173252, upload-time = "2025-09-25T21:32:25.149Z" }, - { url = "https://files.pythonhosted.org/packages/50/31/b20f376d3f810b9b2371e72ef5adb33879b25edb7a6d072cb7ca0c486398/pyyaml-6.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c", size = 767081, upload-time = "2025-09-25T21:32:26.575Z" }, - { url = "https://files.pythonhosted.org/packages/49/1e/a55ca81e949270d5d4432fbbd19dfea5321eda7c41a849d443dc92fd1ff7/pyyaml-6.0.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5", size = 841159, upload-time = "2025-09-25T21:32:27.727Z" }, - { url = "https://files.pythonhosted.org/packages/74/27/e5b8f34d02d9995b80abcef563ea1f8b56d20134d8f4e5e81733b1feceb2/pyyaml-6.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6", size = 801626, upload-time = "2025-09-25T21:32:28.878Z" }, - { url = "https://files.pythonhosted.org/packages/f9/11/ba845c23988798f40e52ba45f34849aa8a1f2d4af4b798588010792ebad6/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6", size = 753613, upload-time = "2025-09-25T21:32:30.178Z" }, - { url = "https://files.pythonhosted.org/packages/3d/e0/7966e1a7bfc0a45bf0a7fb6b98ea03fc9b8d84fa7f2229e9659680b69ee3/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be", size = 794115, upload-time = "2025-09-25T21:32:31.353Z" }, - { url = "https://files.pythonhosted.org/packages/de/94/980b50a6531b3019e45ddeada0626d45fa85cbe22300844a7983285bed3b/pyyaml-6.0.3-cp313-cp313-win32.whl", hash = "sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26", size = 137427, upload-time = "2025-09-25T21:32:32.58Z" }, - { url = "https://files.pythonhosted.org/packages/97/c9/39d5b874e8b28845e4ec2202b5da735d0199dbe5b8fb85f91398814a9a46/pyyaml-6.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c", size = 154090, upload-time = "2025-09-25T21:32:33.659Z" }, - { url = "https://files.pythonhosted.org/packages/73/e8/2bdf3ca2090f68bb3d75b44da7bbc71843b19c9f2b9cb9b0f4ab7a5a4329/pyyaml-6.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb", size = 140246, upload-time = "2025-09-25T21:32:34.663Z" }, - { url = "https://files.pythonhosted.org/packages/9d/8c/f4bd7f6465179953d3ac9bc44ac1a8a3e6122cf8ada906b4f96c60172d43/pyyaml-6.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac", size = 181814, upload-time = "2025-09-25T21:32:35.712Z" }, - { url = "https://files.pythonhosted.org/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310", size = 173809, upload-time = "2025-09-25T21:32:36.789Z" }, - { url = "https://files.pythonhosted.org/packages/92/b5/47e807c2623074914e29dabd16cbbdd4bf5e9b2db9f8090fa64411fc5382/pyyaml-6.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7", size = 766454, upload-time = "2025-09-25T21:32:37.966Z" }, - { url = "https://files.pythonhosted.org/packages/02/9e/e5e9b168be58564121efb3de6859c452fccde0ab093d8438905899a3a483/pyyaml-6.0.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788", size = 836355, upload-time = "2025-09-25T21:32:39.178Z" }, - { url = "https://files.pythonhosted.org/packages/88/f9/16491d7ed2a919954993e48aa941b200f38040928474c9e85ea9e64222c3/pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5", size = 794175, upload-time = "2025-09-25T21:32:40.865Z" }, - { url = "https://files.pythonhosted.org/packages/dd/3f/5989debef34dc6397317802b527dbbafb2b4760878a53d4166579111411e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764", size = 755228, upload-time = "2025-09-25T21:32:42.084Z" }, - { url = "https://files.pythonhosted.org/packages/d7/ce/af88a49043cd2e265be63d083fc75b27b6ed062f5f9fd6cdc223ad62f03e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35", size = 789194, upload-time = "2025-09-25T21:32:43.362Z" }, - { url = "https://files.pythonhosted.org/packages/23/20/bb6982b26a40bb43951265ba29d4c246ef0ff59c9fdcdf0ed04e0687de4d/pyyaml-6.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac", size = 156429, upload-time = "2025-09-25T21:32:57.844Z" }, - { url = "https://files.pythonhosted.org/packages/f4/f4/a4541072bb9422c8a883ab55255f918fa378ecf083f5b85e87fc2b4eda1b/pyyaml-6.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3", size = 143912, upload-time = "2025-09-25T21:32:59.247Z" }, - { url = "https://files.pythonhosted.org/packages/7c/f9/07dd09ae774e4616edf6cda684ee78f97777bdd15847253637a6f052a62f/pyyaml-6.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3", size = 189108, upload-time = "2025-09-25T21:32:44.377Z" }, - { url = "https://files.pythonhosted.org/packages/4e/78/8d08c9fb7ce09ad8c38ad533c1191cf27f7ae1effe5bb9400a46d9437fcf/pyyaml-6.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba", size = 183641, upload-time = "2025-09-25T21:32:45.407Z" }, - { url = "https://files.pythonhosted.org/packages/7b/5b/3babb19104a46945cf816d047db2788bcaf8c94527a805610b0289a01c6b/pyyaml-6.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c", size = 831901, upload-time = "2025-09-25T21:32:48.83Z" }, - { url = "https://files.pythonhosted.org/packages/8b/cc/dff0684d8dc44da4d22a13f35f073d558c268780ce3c6ba1b87055bb0b87/pyyaml-6.0.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702", size = 861132, upload-time = "2025-09-25T21:32:50.149Z" }, - { url = "https://files.pythonhosted.org/packages/b1/5e/f77dc6b9036943e285ba76b49e118d9ea929885becb0a29ba8a7c75e29fe/pyyaml-6.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c", size = 839261, upload-time = "2025-09-25T21:32:51.808Z" }, - { url = "https://files.pythonhosted.org/packages/ce/88/a9db1376aa2a228197c58b37302f284b5617f56a5d959fd1763fb1675ce6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065", size = 805272, upload-time = "2025-09-25T21:32:52.941Z" }, - { url = "https://files.pythonhosted.org/packages/da/92/1446574745d74df0c92e6aa4a7b0b3130706a4142b2d1a5869f2eaa423c6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65", size = 829923, upload-time = "2025-09-25T21:32:54.537Z" }, - { url = "https://files.pythonhosted.org/packages/f0/7a/1c7270340330e575b92f397352af856a8c06f230aa3e76f86b39d01b416a/pyyaml-6.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9", size = 174062, upload-time = "2025-09-25T21:32:55.767Z" }, - { url = "https://files.pythonhosted.org/packages/f1/12/de94a39c2ef588c7e6455cfbe7343d3b2dc9d6b6b2f40c4c6565744c873d/pyyaml-6.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b", size = 149341, upload-time = "2025-09-25T21:32:56.828Z" }, -] - -[[package]] -name = "pyyaml-env-tag" -version = "1.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "pyyaml" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/eb/2e/79c822141bfd05a853236b504869ebc6b70159afc570e1d5a20641782eaa/pyyaml_env_tag-1.1.tar.gz", hash = "sha256:2eb38b75a2d21ee0475d6d97ec19c63287a7e140231e4214969d0eac923cd7ff", size = 5737, upload-time = "2025-05-13T15:24:01.64Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/04/11/432f32f8097b03e3cd5fe57e88efb685d964e2e5178a48ed61e841f7fdce/pyyaml_env_tag-1.1-py3-none-any.whl", hash = "sha256:17109e1a528561e32f026364712fee1264bc2ea6715120891174ed1b980d2e04", size = 4722, upload-time = "2025-05-13T15:23:59.629Z" }, -] - [[package]] name = "readme-renderer" version = "44.0" @@ -1798,15 +1363,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/b7/46/f5af3402b579fd5e11573ce652019a67074317e18c1935cc0b4ba9b35552/secretstorage-3.5.0-py3-none-any.whl", hash = "sha256:0ce65888c0725fcb2c5bc0fdb8e5438eece02c523557ea40ce0703c266248137", size = 15554, upload-time = "2025-11-23T19:02:51.545Z" }, ] -[[package]] -name = "six" -version = "1.17.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, -] - [[package]] name = "slack-sdk" version = "3.41.0" @@ -1834,11 +1390,7 @@ dev = [ { name = "wheel" }, ] docs = [ - { name = "mike" }, - { name = "mkdocs" }, - { name = "mkdocs-material" }, - { name = "mkdocstrings", extra = ["python"] }, - { name = "mkdocstrings-python" }, + { name = "griffe" }, ] [package.metadata] @@ -1855,13 +1407,7 @@ dev = [ { name = "twine", specifier = ">=6.0.1,<7.0.0" }, { name = "wheel", specifier = ">=0.45.1,<1.0.0" }, ] -docs = [ - { name = "mike", specifier = ">=2.1.3,<3.0.0" }, - { name = "mkdocs", specifier = ">=1.6.1,<2.0.0" }, - { name = "mkdocs-material", specifier = ">=9.5.49,<10.0.0" }, - { name = "mkdocstrings", extras = ["python"], specifier = ">=0.27.0" }, - { name = "mkdocstrings-python", specifier = ">=1.13.0,<2.0.0" }, -] +docs = [{ name = "griffe", specifier = ">=2.1.0,<3.0.0" }] [[package]] name = "sortedcontainers" @@ -1964,47 +1510,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897", size = 131087, upload-time = "2026-05-07T16:13:17.151Z" }, ] -[[package]] -name = "verspec" -version = "0.1.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e7/44/8126f9f0c44319b2efc65feaad589cadef4d77ece200ae3c9133d58464d0/verspec-0.1.0.tar.gz", hash = "sha256:c4504ca697b2056cdb4bfa7121461f5a0e81809255b41c03dda4ba823637c01e", size = 27123, upload-time = "2020-11-30T02:24:09.646Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/a4/ce/3b6fee91c85626eaf769d617f1be9d2e15c1cca027bbdeb2e0d751469355/verspec-0.1.0-py3-none-any.whl", hash = "sha256:741877d5633cc9464c45a469ae2a31e801e6dbbaa85b9675d481cda100f11c31", size = 19640, upload-time = "2020-11-30T02:24:08.387Z" }, -] - -[[package]] -name = "watchdog" -version = "6.0.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/db/7d/7f3d619e951c88ed75c6037b246ddcf2d322812ee8ea189be89511721d54/watchdog-6.0.0.tar.gz", hash = "sha256:9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282", size = 131220, upload-time = "2024-11-01T14:07:13.037Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/0c/56/90994d789c61df619bfc5ce2ecdabd5eeff564e1eb47512bd01b5e019569/watchdog-6.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d1cdb490583ebd691c012b3d6dae011000fe42edb7a82ece80965b42abd61f26", size = 96390, upload-time = "2024-11-01T14:06:24.793Z" }, - { url = "https://files.pythonhosted.org/packages/55/46/9a67ee697342ddf3c6daa97e3a587a56d6c4052f881ed926a849fcf7371c/watchdog-6.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bc64ab3bdb6a04d69d4023b29422170b74681784ffb9463ed4870cf2f3e66112", size = 88389, upload-time = "2024-11-01T14:06:27.112Z" }, - { url = "https://files.pythonhosted.org/packages/44/65/91b0985747c52064d8701e1075eb96f8c40a79df889e59a399453adfb882/watchdog-6.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c897ac1b55c5a1461e16dae288d22bb2e412ba9807df8397a635d88f671d36c3", size = 89020, upload-time = "2024-11-01T14:06:29.876Z" }, - { url = "https://files.pythonhosted.org/packages/e0/24/d9be5cd6642a6aa68352ded4b4b10fb0d7889cb7f45814fb92cecd35f101/watchdog-6.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6eb11feb5a0d452ee41f824e271ca311a09e250441c262ca2fd7ebcf2461a06c", size = 96393, upload-time = "2024-11-01T14:06:31.756Z" }, - { url = "https://files.pythonhosted.org/packages/63/7a/6013b0d8dbc56adca7fdd4f0beed381c59f6752341b12fa0886fa7afc78b/watchdog-6.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ef810fbf7b781a5a593894e4f439773830bdecb885e6880d957d5b9382a960d2", size = 88392, upload-time = "2024-11-01T14:06:32.99Z" }, - { url = "https://files.pythonhosted.org/packages/d1/40/b75381494851556de56281e053700e46bff5b37bf4c7267e858640af5a7f/watchdog-6.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:afd0fe1b2270917c5e23c2a65ce50c2a4abb63daafb0d419fde368e272a76b7c", size = 89019, upload-time = "2024-11-01T14:06:34.963Z" }, - { url = "https://files.pythonhosted.org/packages/39/ea/3930d07dafc9e286ed356a679aa02d777c06e9bfd1164fa7c19c288a5483/watchdog-6.0.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:bdd4e6f14b8b18c334febb9c4425a878a2ac20efd1e0b231978e7b150f92a948", size = 96471, upload-time = "2024-11-01T14:06:37.745Z" }, - { url = "https://files.pythonhosted.org/packages/12/87/48361531f70b1f87928b045df868a9fd4e253d9ae087fa4cf3f7113be363/watchdog-6.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c7c15dda13c4eb00d6fb6fc508b3c0ed88b9d5d374056b239c4ad1611125c860", size = 88449, upload-time = "2024-11-01T14:06:39.748Z" }, - { url = "https://files.pythonhosted.org/packages/5b/7e/8f322f5e600812e6f9a31b75d242631068ca8f4ef0582dd3ae6e72daecc8/watchdog-6.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6f10cb2d5902447c7d0da897e2c6768bca89174d0c6e1e30abec5421af97a5b0", size = 89054, upload-time = "2024-11-01T14:06:41.009Z" }, - { url = "https://files.pythonhosted.org/packages/68/98/b0345cabdce2041a01293ba483333582891a3bd5769b08eceb0d406056ef/watchdog-6.0.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:490ab2ef84f11129844c23fb14ecf30ef3d8a6abafd3754a6f75ca1e6654136c", size = 96480, upload-time = "2024-11-01T14:06:42.952Z" }, - { url = "https://files.pythonhosted.org/packages/85/83/cdf13902c626b28eedef7ec4f10745c52aad8a8fe7eb04ed7b1f111ca20e/watchdog-6.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:76aae96b00ae814b181bb25b1b98076d5fc84e8a53cd8885a318b42b6d3a5134", size = 88451, upload-time = "2024-11-01T14:06:45.084Z" }, - { url = "https://files.pythonhosted.org/packages/fe/c4/225c87bae08c8b9ec99030cd48ae9c4eca050a59bf5c2255853e18c87b50/watchdog-6.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a175f755fc2279e0b7312c0035d52e27211a5bc39719dd529625b1930917345b", size = 89057, upload-time = "2024-11-01T14:06:47.324Z" }, - { url = "https://files.pythonhosted.org/packages/30/ad/d17b5d42e28a8b91f8ed01cb949da092827afb9995d4559fd448d0472763/watchdog-6.0.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:c7ac31a19f4545dd92fc25d200694098f42c9a8e391bc00bdd362c5736dbf881", size = 87902, upload-time = "2024-11-01T14:06:53.119Z" }, - { url = "https://files.pythonhosted.org/packages/5c/ca/c3649991d140ff6ab67bfc85ab42b165ead119c9e12211e08089d763ece5/watchdog-6.0.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:9513f27a1a582d9808cf21a07dae516f0fab1cf2d7683a742c498b93eedabb11", size = 88380, upload-time = "2024-11-01T14:06:55.19Z" }, - { url = "https://files.pythonhosted.org/packages/a9/c7/ca4bf3e518cb57a686b2feb4f55a1892fd9a3dd13f470fca14e00f80ea36/watchdog-6.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:7607498efa04a3542ae3e05e64da8202e58159aa1fa4acddf7678d34a35d4f13", size = 79079, upload-time = "2024-11-01T14:06:59.472Z" }, - { url = "https://files.pythonhosted.org/packages/5c/51/d46dc9332f9a647593c947b4b88e2381c8dfc0942d15b8edc0310fa4abb1/watchdog-6.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:9041567ee8953024c83343288ccc458fd0a2d811d6a0fd68c4c22609e3490379", size = 79078, upload-time = "2024-11-01T14:07:01.431Z" }, - { url = "https://files.pythonhosted.org/packages/d4/57/04edbf5e169cd318d5f07b4766fee38e825d64b6913ca157ca32d1a42267/watchdog-6.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:82dc3e3143c7e38ec49d61af98d6558288c415eac98486a5c581726e0737c00e", size = 79076, upload-time = "2024-11-01T14:07:02.568Z" }, - { url = "https://files.pythonhosted.org/packages/ab/cc/da8422b300e13cb187d2203f20b9253e91058aaf7db65b74142013478e66/watchdog-6.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:212ac9b8bf1161dc91bd09c048048a95ca3a4c4f5e5d4a7d1b1a7d5752a7f96f", size = 79077, upload-time = "2024-11-01T14:07:03.893Z" }, - { url = "https://files.pythonhosted.org/packages/2c/3b/b8964e04ae1a025c44ba8e4291f86e97fac443bca31de8bd98d3263d2fcf/watchdog-6.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:e3df4cbb9a450c6d49318f6d14f4bbc80d763fa587ba46ec86f99f9e6876bb26", size = 79078, upload-time = "2024-11-01T14:07:05.189Z" }, - { url = "https://files.pythonhosted.org/packages/62/ae/a696eb424bedff7407801c257d4b1afda455fe40821a2be430e173660e81/watchdog-6.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:2cce7cfc2008eb51feb6aab51251fd79b85d9894e98ba847408f662b3395ca3c", size = 79077, upload-time = "2024-11-01T14:07:06.376Z" }, - { url = "https://files.pythonhosted.org/packages/b5/e8/dbf020b4d98251a9860752a094d09a65e1b436ad181faf929983f697048f/watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:20ffe5b202af80ab4266dcd3e91aae72bf2da48c0d33bdb15c66658e685e94e2", size = 79078, upload-time = "2024-11-01T14:07:07.547Z" }, - { url = "https://files.pythonhosted.org/packages/07/f6/d0e5b343768e8bcb4cda79f0f2f55051bf26177ecd5651f84c07567461cf/watchdog-6.0.0-py3-none-win32.whl", hash = "sha256:07df1fdd701c5d4c8e55ef6cf55b8f0120fe1aef7ef39a1c6fc6bc2e606d517a", size = 79065, upload-time = "2024-11-01T14:07:09.525Z" }, - { url = "https://files.pythonhosted.org/packages/db/d9/c495884c6e548fce18a8f40568ff120bc3a4b7b99813081c8ac0c936fa64/watchdog-6.0.0-py3-none-win_amd64.whl", hash = "sha256:cbafb470cf848d93b5d013e2ecb245d4aa1c8fd0504e863ccefa32445359d680", size = 79070, upload-time = "2024-11-01T14:07:10.686Z" }, - { url = "https://files.pythonhosted.org/packages/33/e8/e40370e6d74ddba47f002a32919d91310d6074130fe4e17dabcafc15cbf1/watchdog-6.0.0-py3-none-win_ia64.whl", hash = "sha256:a1914259fa9e1454315171103c6a30961236f508b9b623eae470268bbcc6a22f", size = 79067, upload-time = "2024-11-01T14:07:11.845Z" }, -] - [[package]] name = "wheel" version = "0.47.0" diff --git a/scripts/sort_versions.py b/scripts/sort_versions.py deleted file mode 100755 index dbbaf35e..00000000 --- a/scripts/sort_versions.py +++ /dev/null @@ -1,94 +0,0 @@ -#!/usr/bin/env python3 -"""Sort ``versions.json`` on the docs ``gh-pages`` branch by PEP 440 semver, -newest first. - -``mike deploy`` appends each new deploy to the end of ``versions.json`` -rather than inserting it in sorted position. Run this after every deploy -(or one-off, to repair the order) so the docs version selector shows the -most-recent release at the top. - -The ``master`` development entry (if present) is pinned at the very top so -``mike``'s selector continues to show it as the most-current option. - -Usage:: - - python scripts/sort_versions.py [path/to/versions.json] - -The default path is ``./versions.json``. The script exits non-zero with a -descriptive message if the file is missing or unparseable. It does NOT -commit, push, or modify any other files -- the caller is responsible for -git plumbing. -""" - -from __future__ import annotations - -import json -import sys -from pathlib import Path - -try: - from packaging.version import InvalidVersion, Version -except ImportError: # pragma: no cover - documented prerequisite - print( - "error: this script requires the 'packaging' library " - "(install via 'pip install packaging' or 'uv add packaging').", - file=sys.stderr, - ) - sys.exit(2) - - -def sort_key(entry: dict) -> tuple: - """Sort key for one ``versions.json`` entry. - - Returns a tuple usable as a sort key. ``master`` (and any other - non-version dev preview) sorts above release versions; release - versions sort by parsed PEP 440 ``Version``; anything unparseable - sorts below the release versions but is otherwise preserved. - """ - v = entry["version"] - if v == "master": - # 'master' wins above everything else. - return (0, "") - raw = v.removeprefix("v") - try: - parsed = Version(raw) - except InvalidVersion: - return (2, v) - return (1, parsed) - - -def sort_versions(path: Path) -> bool: - """Sort ``path`` in place. Returns True if the file content changed.""" - original_text = path.read_text() - data = json.loads(original_text) - - master = [e for e in data if e.get("version") == "master"] - others = sorted( - (e for e in data if e.get("version") != "master"), - key=sort_key, - reverse=True, # newest version first - ) - sorted_data = master + others - - new_text = json.dumps(sorted_data, indent=2) + "\n" - if new_text == original_text: - return False - path.write_text(new_text) - return True - - -def main(argv: list[str]) -> int: - path = Path(argv[1]) if len(argv) > 1 else Path("versions.json") - if not path.exists(): - print(f"error: {path} does not exist", file=sys.stderr) - return 1 - changed = sort_versions(path) - if changed: - print(f"sorted {path}") - else: - print(f"{path} already sorted") - return 0 - - -if __name__ == "__main__": - raise SystemExit(main(sys.argv)) diff --git a/typescript/test/docs-examples.test.ts b/typescript/test/docs-examples.test.ts new file mode 100644 index 00000000..f4b7576c --- /dev/null +++ b/typescript/test/docs-examples.test.ts @@ -0,0 +1,13 @@ +import { readFileSync } from "node:fs"; +import { resolve } from "node:path"; + +import { expect, it } from "vitest"; + +import { payload } from "../../docs/examples/typescript/section_hello.js"; + +it("keeps the TypeScript docs example aligned with the JSON tab", () => { + const expected = JSON.parse( + readFileSync(resolve(import.meta.dirname, "../../docs/examples/section_hello.json"), "utf8"), + ); + expect(payload).toEqual(expected); +}); From 6902182ef2c9c7afdf14cbc31f7efe6b72671db3 Mon Sep 17 00:00:00 2001 From: Nicholas Lambourne Date: Fri, 14 Aug 2026 03:03:20 +1000 Subject: [PATCH 06/23] feat: make docs language selection site-wide --- .github/workflows/ruff-format.yml | 27 ++-- .github/workflows/ruff-lint.yml | 27 ++-- .gitignore | 1 - docs/docs/contributing.mdx | 10 +- docs/docs/index.mdx | 74 ++++++++-- docs/docs/reference/_category_.json | 4 + docs/docs/reference/index.md | 7 - docs/docs/reference/index.mdx | 16 +++ docs/docs/usage/_category_.json | 5 + docs/docs/usage/cookbook.mdx | 16 +-- docs/docs/usage/installation.mdx | 16 +-- docs/docs/usage/multilanguage.mdx | 23 --- docs/docs/usage/sending_messages.mdx | 14 +- docs/docusaurus.config.ts | 34 ++++- docs/package.json | 5 +- docs/src/components/LanguageContent/index.tsx | 36 +++++ docs/src/components/LanguageContext/index.tsx | 115 +++++++++++++++ .../src/components/LanguageSelector/index.tsx | 132 ++++++++++++++++++ docs/src/components/LanguageTabs/index.tsx | 49 ------- docs/src/css/custom.css | 131 +++++++++++++++++ docs/src/theme/DocItem/Paginator/index.tsx | 59 ++++++++ docs/src/theme/DocSidebar/index.tsx | 115 +++++++++++++++ docs/src/theme/DocVersionBadge/index.tsx | 40 ++++++ docs/src/theme/Navbar/Content/index.tsx | 107 ++++++++++++++ .../theme/Navbar/Content/styles.module.css | 23 +++ .../Navbar/MobileSidebar/Header/index.tsx | 44 ++++++ .../Navbar/MobileSidebar/Layout/index.tsx | 25 ++++ docs/src/theme/NavbarItem/HtmlNavbarItem.tsx | 11 ++ docs/src/theme/Root.tsx | 6 + docs/src/theme/TOCItems/index.tsx | 33 +++++ pnpm-lock.yaml | 18 ++- spec/tools/parity.py | 67 --------- 32 files changed, 1072 insertions(+), 218 deletions(-) create mode 100644 docs/docs/reference/_category_.json delete mode 100644 docs/docs/reference/index.md create mode 100644 docs/docs/reference/index.mdx create mode 100644 docs/docs/usage/_category_.json delete mode 100644 docs/docs/usage/multilanguage.mdx create mode 100644 docs/src/components/LanguageContent/index.tsx create mode 100644 docs/src/components/LanguageContext/index.tsx create mode 100644 docs/src/components/LanguageSelector/index.tsx delete mode 100644 docs/src/components/LanguageTabs/index.tsx create mode 100644 docs/src/theme/DocItem/Paginator/index.tsx create mode 100644 docs/src/theme/DocSidebar/index.tsx create mode 100644 docs/src/theme/DocVersionBadge/index.tsx create mode 100644 docs/src/theme/Navbar/Content/index.tsx create mode 100644 docs/src/theme/Navbar/Content/styles.module.css create mode 100644 docs/src/theme/Navbar/MobileSidebar/Header/index.tsx create mode 100644 docs/src/theme/Navbar/MobileSidebar/Layout/index.tsx create mode 100644 docs/src/theme/NavbarItem/HtmlNavbarItem.tsx create mode 100644 docs/src/theme/Root.tsx create mode 100644 docs/src/theme/TOCItems/index.tsx delete mode 100644 spec/tools/parity.py diff --git a/.github/workflows/ruff-format.yml b/.github/workflows/ruff-format.yml index 605a9fda..2f2424be 100644 --- a/.github/workflows/ruff-format.yml +++ b/.github/workflows/ruff-format.yml @@ -1,40 +1,45 @@ name: Ruff Format + on: push: paths: - "python/**" - - "spec/tools/**" + - "docs/scripts/**" - ".github/workflows/ruff-format.yml" pull_request: branches: [master] paths: - "python/**" - - "spec/tools/**" + - "docs/scripts/**" - ".github/workflows/ruff-format.yml" +permissions: + contents: read + concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: formatting: - runs-on: ubuntu-latest name: Ruff Format + runs-on: ubuntu-latest defaults: run: working-directory: python steps: - - name: Check Out Source Repository - uses: actions/checkout@v5 + - name: Check out repository + uses: actions/checkout@v7 - - name: Install uv - uses: astral-sh/setup-uv@v4 + - name: Install uv and Python + uses: astral-sh/setup-uv@v10.0.0 with: enable-cache: true cache-dependency-glob: python/uv.lock + python-version: "3.14" - - name: Install Dependencies - run: uv sync + - name: Install dependencies + run: uv sync --frozen --group dev - - name: Formatting - run: uv run ruff format --check slackblocks test ../spec/tools + - name: Check formatting + run: uv run --frozen ruff format --check slackblocks test ../docs/scripts diff --git a/.github/workflows/ruff-lint.yml b/.github/workflows/ruff-lint.yml index 39f1f210..de1200c8 100644 --- a/.github/workflows/ruff-lint.yml +++ b/.github/workflows/ruff-lint.yml @@ -1,40 +1,45 @@ name: Ruff Lint + on: push: paths: - "python/**" - - "spec/tools/**" + - "docs/scripts/**" - ".github/workflows/ruff-lint.yml" pull_request: branches: [master] paths: - "python/**" - - "spec/tools/**" + - "docs/scripts/**" - ".github/workflows/ruff-lint.yml" +permissions: + contents: read + concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: linting: - runs-on: ubuntu-latest name: Ruff Lint + runs-on: ubuntu-latest defaults: run: working-directory: python steps: - - name: Check Out Source Repository - uses: actions/checkout@v5 + - name: Check out repository + uses: actions/checkout@v7 - - name: Install uv - uses: astral-sh/setup-uv@v4 + - name: Install uv and Python + uses: astral-sh/setup-uv@v10.0.0 with: enable-cache: true cache-dependency-glob: python/uv.lock + python-version: "3.14" - - name: Install Dependencies - run: uv sync + - name: Install dependencies + run: uv sync --frozen --group dev - - name: Linting - run: uv run ruff check slackblocks test ../spec/tools + - name: Lint + run: uv run --frozen ruff check slackblocks test ../docs/scripts diff --git a/.gitignore b/.gitignore index db39f0ce..c106b74d 100644 --- a/.gitignore +++ b/.gitignore @@ -112,4 +112,3 @@ node_modules/ /docs/.docusaurus/ /docs/docs/reference/python/ /docs/docs/reference/typescript/ -/docs/docs/reference/parity.mdx diff --git a/docs/docs/contributing.mdx b/docs/docs/contributing.mdx index f119547d..852d87f5 100644 --- a/docs/docs/contributing.mdx +++ b/docs/docs/contributing.mdx @@ -1,3 +1,7 @@ +--- +sidebar_position: 4 +--- + # Contributing `slackblocks` is a monorepo containing two handwritten implementations and one shared conformance contract. A feature is complete when its wire output and validation category agree in Python and TypeScript. @@ -55,7 +59,7 @@ The Python and TypeScript conformance suites both exercise every ID in `spec/man 4. Implement the feature idiomatically in both packages, or record a reason in the affected skip list. 5. Add language-native tests and update the relevant guide or executable example. -Read the [conformance principles](/reference/parity) before introducing a cross-language API. Serialized JSON and validation outcomes are shared; public naming and construction style are language-native. +When introducing a cross-language API, serialized JSON and validation outcomes are shared; public naming and construction style are language-native. ## Documentation @@ -65,9 +69,9 @@ Run the local site from the repository root: pnpm --filter @slackblocks/docs start ``` -Narrative pages live in `docs/docs/`. Python and TypeScript API pages, plus the parity matrix, are generated during every docs build. Reusable examples live one-per-file under `docs/examples/python/` and `docs/examples/typescript/`; tests execute them and compare their output with `docs/examples/section_hello.json`. +Narrative pages live in `docs/docs/`. Python and TypeScript API pages are generated during every docs build. Reusable examples live one-per-file under `docs/examples/python/` and `docs/examples/typescript/`; tests execute them and compare their output with `docs/examples/section_hello.json`. -Use `LanguageTabs` for language-specific prose or examples. Its shared `language` group persists the selected language and mirrors it into the `?language=` query parameter. +Use `LanguageContent` with `Python` and `TypeScript` children for language-specific prose or examples. The site-level selector controls which child is shown. ## Pull requests diff --git a/docs/docs/index.mdx b/docs/docs/index.mdx index e6847880..acad6867 100644 --- a/docs/docs/index.mdx +++ b/docs/docs/index.mdx @@ -1,4 +1,9 @@ -import LanguageTabs, { PythonTab, TypeScriptTab } from '@site/src/components/LanguageTabs'; +--- +sidebar_label: Welcome +sidebar_position: 1 +--- + +import LanguageContent, { Python, TypeScript } from '@site/src/components/LanguageContent'; # Welcome to `slackblocks`! @@ -17,8 +22,8 @@ It exists because Block Kit JSON is verbose, easy to get subtly wrong, and unple ## Quickstart - - + + ```bash pip install slackblocks @@ -30,8 +35,8 @@ from slackblocks import Message, SectionBlock message = Message(channel="#general", blocks=SectionBlock("Hello, world!")) ``` - - + + ```bash pnpm add slackblocks @@ -46,14 +51,19 @@ const payload = message({ }); ``` - - + + See the [installation guide](usage/installation) and [sending messages guide](usage/sending_messages) to take it from here. ## Components -The [Slack Block Kit API](https://api.slack.com/block-kit) defines several resource types (all defined in JSON) that work together to build block-based messages. `slackblocks` mirrors that hierarchy with Python classes. +The [Slack Block Kit API](https://api.slack.com/block-kit) defines several resource types (all defined in JSON) that work together to build block-based messages. + + + + +The Python package mirrors that hierarchy with classes. ### Objects @@ -97,13 +107,55 @@ See [Using Blocks](usage/using_blocks) for examples of all block types side-by-s - [`block_kit_builder_url(payload, team_id=None)`](reference/python/builder#block_kit_builder_url) — turn any block, list of blocks, message, or view into a [Block Kit Builder](https://app.slack.com/block-kit-builder) URL for browser-based preview. - [`Block.from_dict(data)`](reference/python/blocks#block) — parse a Slack-shaped block payload back into a `slackblocks` object. Per-class `from_dict` parsers are also available on every composition object. + + + +The TypeScript package exposes data-first factories that return typed, Slack-shaped objects. + +### Composition objects + +Factories such as [`plainText`](reference/typescript/functions/plainText), [`mrkdwn`](reference/typescript/functions/mrkdwn), and [`option`](reference/typescript/functions/option) create the small values used throughout Block Kit payloads. + +### Elements + +Interactive controls are built with factories such as [`button`](reference/typescript/functions/button), [`checkboxes`](reference/typescript/functions/checkboxes), [`staticSelect`](reference/typescript/functions/staticSelect), and [`datePicker`](reference/typescript/functions/datePicker). + +### Blocks + +Block factories include [`section`](reference/typescript/functions/section), [`header`](reference/typescript/functions/header), [`divider`](reference/typescript/functions/divider), [`actions`](reference/typescript/functions/actions), [`richTextBlock`](reference/typescript/functions/richTextBlock), [`markdownBlock`](reference/typescript/functions/markdownBlock), and [`table`](reference/typescript/functions/table). + +### Messages and views + +Use [`message`](reference/typescript/functions/message), [`webhookMessage`](reference/typescript/functions/webhookMessage), and [`messageResponse`](reference/typescript/functions/messageResponse) for message payloads. Use [`modal`](reference/typescript/functions/modal) and [`homeTab`](reference/typescript/functions/homeTab) for Slack views. + +### Utilities + +- [`blockKitBuilderUrl`](reference/typescript/functions/blockKitBuilderUrl) creates a browser preview URL. +- [`validate`](reference/typescript/functions/validate) and [`assertValid`](reference/typescript/functions/assertValid) validate existing Slack-shaped data. + + + + ## Guides + + + - [Installation](usage/installation) -- [Compatibility](usage/compatibility) — which Python versions each release line supports. - [Using Blocks](usage/using_blocks) - [Sending Messages](usage/sending_messages) -- [Cookbook](usage/cookbook) — complete end-to-end recipes for common message patterns. -- [Migrating from 1.x](usage/migration) — upgrade guide for `1.x` users. +- [Recipe Book](usage/cookbook) — complete end-to-end recipes for common message patterns. - [Troubleshooting & FAQ](usage/troubleshooting.md) +- [Migrating from 1.x to 2.x](usage/migration) — upgrade guide for `1.x` users. - [Contributing](contributing) — developing and contributing to `slackblocks` itself. + + + + +- [Installation](usage/installation) +- [Sending Messages](usage/sending_messages) +- [Recipe Book](usage/cookbook) — complete end-to-end recipes for common message patterns. +- [Contributing](contributing) — developing and contributing to `slackblocks` itself. + + + diff --git a/docs/docs/reference/_category_.json b/docs/docs/reference/_category_.json new file mode 100644 index 00000000..7e1d1665 --- /dev/null +++ b/docs/docs/reference/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "API Reference", + "position": 3 +} diff --git a/docs/docs/reference/index.md b/docs/docs/reference/index.md deleted file mode 100644 index 98b24300..00000000 --- a/docs/docs/reference/index.md +++ /dev/null @@ -1,7 +0,0 @@ -# API reference - -- [Python API](/reference/python) -- [TypeScript API](/reference/typescript) -- [Language parity](/reference/parity) - -Both implementations conform to the shared spec. API naming and construction patterns remain idiomatic to each language. diff --git a/docs/docs/reference/index.mdx b/docs/docs/reference/index.mdx new file mode 100644 index 00000000..58ebcf9c --- /dev/null +++ b/docs/docs/reference/index.mdx @@ -0,0 +1,16 @@ +import LanguageContent, { Python, TypeScript } from '@site/src/components/LanguageContent'; + +# API reference + + + + +Browse the [Python API reference](/reference/python) for classes, signatures, and docstrings. + + + + +Browse the [TypeScript API reference](/reference/typescript) for factories, interfaces, and types. + + + diff --git a/docs/docs/usage/_category_.json b/docs/docs/usage/_category_.json new file mode 100644 index 00000000..15ef8773 --- /dev/null +++ b/docs/docs/usage/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "Usage", + "position": 2, + "collapsed": false +} diff --git a/docs/docs/usage/cookbook.mdx b/docs/docs/usage/cookbook.mdx index c07898b0..5ffe31c7 100644 --- a/docs/docs/usage/cookbook.mdx +++ b/docs/docs/usage/cookbook.mdx @@ -1,6 +1,6 @@ -import LanguageTabs, { PythonTab, TypeScriptTab } from '@site/src/components/LanguageTabs'; +import LanguageContent, { Python, TypeScript } from '@site/src/components/LanguageContent'; -# Cookbook +# Recipe Book End-to-end recipes for common Slack messaging patterns. Each example produces a complete, valid `Message` (or `Modal`) you can pass directly to the Slack SDK. @@ -10,8 +10,8 @@ The reference docs cover *what* each class does in isolation; this page is for * A typical CI/CD success or failure notification: header, summary fields, divider, contextual footer. - - + + ```python from slackblocks import ( @@ -60,8 +60,8 @@ def build_status_message( ) ``` - - + + ```ts import { context, divider, header, message, mrkdwn, section } from "slackblocks"; @@ -98,8 +98,8 @@ function buildStatusMessage(input: { } ``` - - + + Tips: diff --git a/docs/docs/usage/installation.mdx b/docs/docs/usage/installation.mdx index 799689c5..f52b3fcf 100644 --- a/docs/docs/usage/installation.mdx +++ b/docs/docs/usage/installation.mdx @@ -1,13 +1,13 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -import LanguageTabs, { PythonTab, TypeScriptTab } from '@site/src/components/LanguageTabs'; +import LanguageContent, { Python, TypeScript } from '@site/src/components/LanguageContent'; # Installation -Choose your language once; every language group across the site follows the same selection and the URL carries it as `?language=...`. +Choose Python or TypeScript from the site navigation. The selection applies across the documentation and is preserved as you move between pages. - - + + Install the Python package from [PyPI](https://pypi.org/project/slackblocks/): @@ -54,8 +54,8 @@ print(Message(channel="#general", blocks=SectionBlock("Hello, world!")).json()) Pin the current major release with `slackblocks~=2.0`, and uninstall with `pip uninstall slackblocks` (or the equivalent command for your package manager). - - + + Install the ESM package from npm: @@ -98,5 +98,5 @@ console.log(message({ Run it with `node hello.mjs`. Pin the pre-1.0 line with `slackblocks~0.1.0`, and uninstall with `pnpm remove slackblocks` (or your package manager's equivalent). - - + + diff --git a/docs/docs/usage/multilanguage.mdx b/docs/docs/usage/multilanguage.mdx deleted file mode 100644 index ba641ffd..00000000 --- a/docs/docs/usage/multilanguage.mdx +++ /dev/null @@ -1,23 +0,0 @@ -import CodeBlock from '@theme/CodeBlock'; -import LanguageTabs, { JsonTab, PythonTab, TypeScriptTab } from '@site/src/components/LanguageTabs'; -import pyHello from '!!raw-loader!@site/examples/python/section_hello.py'; -import tsHello from '!!raw-loader!@site/examples/typescript/section_hello.ts'; -import jsonHello from '!!raw-loader!@site/examples/section_hello.json'; - -# Python and TypeScript - -The public APIs are independently idiomatic, while the output and validation categories follow one shared specification. - - - -{pyHello} - - -{tsHello} - - -{jsonHello} - - - -The example files are executed by their native test suites, and both results are compared with the JSON tab. diff --git a/docs/docs/usage/sending_messages.mdx b/docs/docs/usage/sending_messages.mdx index f47ae311..5b4bf9ec 100644 --- a/docs/docs/usage/sending_messages.mdx +++ b/docs/docs/usage/sending_messages.mdx @@ -1,13 +1,13 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -import LanguageTabs, { PythonTab, TypeScriptTab } from '@site/src/components/LanguageTabs'; +import LanguageContent, { Python, TypeScript } from '@site/src/components/LanguageContent'; # Sending Messages `slackblocks` produces the JSON payloads that Slack APIs accept; it does **not** make HTTP calls itself. Send those payloads with Slack's official SDK or any HTTP client. - - + + The trick is the `**` operator: a `slackblocks.Message` is a mapping, so you can unpack it directly into `client.chat_postMessage(...)`. @@ -164,8 +164,8 @@ req = urllib.request.Request( urllib.request.urlopen(req) ``` - - + + ## With `@slack/web-api` @@ -239,5 +239,5 @@ await fetch("https://slack.com/api/chat.postMessage", { }); ``` - - + + diff --git a/docs/docusaurus.config.ts b/docs/docusaurus.config.ts index eff574d6..f4667e50 100644 --- a/docs/docusaurus.config.ts +++ b/docs/docusaurus.config.ts @@ -1,5 +1,23 @@ import type { Config } from "@docusaurus/types"; import type { Options as ClassicPresetOptions } from "@docusaurus/preset-classic"; +import { readFileSync } from "node:fs"; + +const pythonProject = readFileSync( + new URL("../python/pyproject.toml", import.meta.url), + "utf8", +); +const pythonVersion = pythonProject.match(/^version = "([^"]+)"$/m)?.[1]; + +if (!pythonVersion) { + throw new Error("Could not read the Python package version"); +} + +const typescriptPackage = JSON.parse( + readFileSync(new URL("../typescript/package.json", import.meta.url), "utf8"), +) as { version: string }; +const specManifest = JSON.parse( + readFileSync(new URL("../spec/manifest.json", import.meta.url), "utf8"), +) as { spec_version: string }; const config: Config = { title: "slackblocks", @@ -9,6 +27,13 @@ const config: Config = { baseUrl: "/slackblocks/", organizationName: "nicklambourne", projectName: "slackblocks", + customFields: { + packageVersions: { + python: pythonVersion, + typescript: typescriptPackage.version, + spec: specManifest.spec_version, + }, + }, trailingSlash: false, onBrokenLinks: "throw", onBrokenAnchors: "throw", @@ -39,6 +64,7 @@ const config: Config = { [ "docusaurus-plugin-typedoc", { + name: "TypeScript API reference", entryPoints: ["../typescript/src/index.ts"], tsconfig: "../typescript/tsconfig.typedoc.json", out: "docs/reference/typescript", @@ -100,18 +126,18 @@ const config: Config = { title: "slackblocks", logo: { alt: "slackblocks logo", src: "img/sb.png" }, items: [ - { to: "/usage/installation", label: "Guides", position: "left" }, - { to: "/reference", label: "Reference", position: "left" }, + { type: "html", value: "language-selector", position: "left" }, { href: "https://github.com/nicklambourne/slackblocks", - label: "GitHub", position: "right", + className: "header-github-link", + "aria-label": "GitHub repository", }, ], }, colorMode: { defaultMode: "light", - respectPrefersColorScheme: true, + respectPrefersColorScheme: false, }, footer: { style: "dark", diff --git a/docs/package.json b/docs/package.json index 0723577f..e2746259 100644 --- a/docs/package.json +++ b/docs/package.json @@ -4,8 +4,7 @@ "private": true, "scripts": { "generate:python": "UV_CACHE_DIR=../.uv-cache uv run --project ../python --group docs python scripts/generate_python_reference.py", - "generate:parity": "UV_CACHE_DIR=../.uv-cache uv run --project ../python python ../spec/tools/parity.py docs/reference/parity.mdx", - "generate": "pnpm generate:python && pnpm generate:parity", + "generate": "pnpm generate:python", "start": "pnpm generate && docusaurus start", "build": "pnpm generate && docusaurus build", "typecheck": "tsc --noEmit", @@ -13,8 +12,10 @@ }, "dependencies": { "@docusaurus/core": "^3.10.2", + "@docusaurus/plugin-content-docs": "^3.10.2", "@docusaurus/plugin-client-redirects": "^3.10.2", "@docusaurus/preset-classic": "^3.10.2", + "@docusaurus/theme-common": "^3.10.2", "@docusaurus/types": "^3.10.2", "@easyops-cn/docusaurus-search-local": "^0.55.3", "docusaurus-plugin-typedoc": "^1.4.2", diff --git a/docs/src/components/LanguageContent/index.tsx b/docs/src/components/LanguageContent/index.tsx new file mode 100644 index 00000000..28065828 --- /dev/null +++ b/docs/src/components/LanguageContent/index.tsx @@ -0,0 +1,36 @@ +import { Children, isValidElement, type PropsWithChildren } from "react"; +import { useLanguage } from "@site/src/components/LanguageContext"; + +export default function LanguageContent({ children }: PropsWithChildren) { + const { language } = useLanguage(); + const content = Children.toArray(children).map((child, index) => { + if (!isValidElement(child)) return null; + const childLanguage = + child.type === Python + ? "python" + : child.type === TypeScript + ? "typescript" + : null; + if (!childLanguage) return null; + + return ( + + ); + }); + + return
{content}
; +} + +export function Python({ children }: PropsWithChildren) { + return <>{children}; +} + +export function TypeScript({ children }: PropsWithChildren) { + return <>{children}; +} diff --git a/docs/src/components/LanguageContext/index.tsx b/docs/src/components/LanguageContext/index.tsx new file mode 100644 index 00000000..6adb4740 --- /dev/null +++ b/docs/src/components/LanguageContext/index.tsx @@ -0,0 +1,115 @@ +import { + createContext, + useCallback, + useContext, + useEffect, + useMemo, + useState, + type PropsWithChildren, +} from "react"; +import { useHistory, useLocation } from "@docusaurus/router"; + +export type Language = "python" | "typescript"; + +type LanguageContextValue = { + language: Language; + selectLanguage: (language: Language) => void; +}; + +const STORAGE_KEY = "slackblocks.language"; +const LanguageContext = createContext(null); + +function isLanguage(value: string | null): value is Language { + return value === "python" || value === "typescript"; +} + +function referenceLanguage(pathname: string): Language | null { + const language = + pathname.match(/\/reference\/(python|typescript)(?:\/|$)/)?.[1] ?? null; + return isLanguage(language) ? language : null; +} + +function languagePath(pathname: string, language: Language): string { + const referenceMatch = pathname.match( + /^(.*\/reference\/)(python|typescript)(?:\/.*)?$/, + ); + if (referenceMatch) return `${referenceMatch[1]}${language}`; + + const referenceIndexMatch = pathname.match(/^(.*\/reference)\/?$/); + if (referenceIndexMatch) { + return `${referenceIndexMatch[1]}/${language}`; + } + + if (language === "typescript") { + const pythonGuideMatch = pathname.match( + /^(.*)\/usage\/(compatibility|migration|troubleshooting|using_blocks)\/?$/, + ); + if (pythonGuideMatch) return `${pythonGuideMatch[1]}/usage/installation`; + } + + return pathname; +} + +export function LanguageProvider({ children }: PropsWithChildren) { + const history = useHistory(); + const location = useLocation(); + const [language, setLanguage] = useState("python"); + + useEffect(() => { + const queryLanguage = new URLSearchParams(location.search).get("language"); + const routeLanguage = referenceLanguage(location.pathname); + const storedLanguage = window.localStorage.getItem(STORAGE_KEY); + const nextLanguage = + routeLanguage ?? + (isLanguage(queryLanguage) ? queryLanguage : null) ?? + (isLanguage(storedLanguage) ? storedLanguage : null) ?? + "python"; + + const pathname = languagePath(location.pathname, nextLanguage); + if (pathname !== location.pathname) { + history.replace({ + pathname, + search: location.search, + hash: location.hash, + }); + } + + setLanguage(nextLanguage); + window.localStorage.setItem(STORAGE_KEY, nextLanguage); + }, [history, location.hash, location.pathname, location.search]); + + const selectLanguage = useCallback( + (nextLanguage: Language) => { + setLanguage(nextLanguage); + window.localStorage.setItem(STORAGE_KEY, nextLanguage); + + const search = new URLSearchParams(location.search); + search.set("language", nextLanguage); + const pathname = languagePath(location.pathname, nextLanguage); + + history.replace({ + pathname, + search: `?${search.toString()}`, + hash: location.hash, + }); + }, + [history, location.hash, location.pathname, location.search], + ); + + const value = useMemo( + () => ({ language, selectLanguage }), + [language, selectLanguage], + ); + + return ( + {children} + ); +} + +export function useLanguage(): LanguageContextValue { + const context = useContext(LanguageContext); + if (!context) { + throw new Error("useLanguage must be used within LanguageProvider"); + } + return context; +} diff --git a/docs/src/components/LanguageSelector/index.tsx b/docs/src/components/LanguageSelector/index.tsx new file mode 100644 index 00000000..85205e3a --- /dev/null +++ b/docs/src/components/LanguageSelector/index.tsx @@ -0,0 +1,132 @@ +import { useEffect, useRef, useState } from "react"; +import { useLanguage, type Language } from "@site/src/components/LanguageContext"; + +type Props = { + mobile?: boolean; +}; + +const languageLabels: Record = { + python: "Python", + typescript: "TypeScript", +}; + +function LanguageLogo({ language }: { language: Language }) { + if (language === "python") { + return ( + + ); + } + + return ( + + ); +} + +export default function LanguageSelector({ mobile = false }: Props) { + const { language, selectLanguage } = useLanguage(); + const [open, setOpen] = useState(false); + const selectorRef = useRef(null); + const triggerRef = useRef(null); + const otherLanguage: Language = + language === "python" ? "typescript" : "python"; + + useEffect(() => { + if (!open) return undefined; + + const closeOutside = (event: MouseEvent | TouchEvent | FocusEvent) => { + if (!selectorRef.current?.contains(event.target as Node)) { + setOpen(false); + } + }; + const closeOnEscape = (event: KeyboardEvent) => { + if (event.key === "Escape") { + setOpen(false); + triggerRef.current?.focus(); + } + }; + + document.addEventListener("mousedown", closeOutside); + document.addEventListener("touchstart", closeOutside); + document.addEventListener("focusin", closeOutside); + document.addEventListener("keydown", closeOnEscape); + + return () => { + document.removeEventListener("mousedown", closeOutside); + document.removeEventListener("touchstart", closeOutside); + document.removeEventListener("focusin", closeOutside); + document.removeEventListener("keydown", closeOnEscape); + }; + }, [open]); + + const selector = ( +
+ + {open && ( +
    +
  • + +
  • +
+ )} +
+ ); + + if (mobile) { + return
  • {selector}
  • ; + } + + return
    {selector}
    ; +} diff --git a/docs/src/components/LanguageTabs/index.tsx b/docs/src/components/LanguageTabs/index.tsx deleted file mode 100644 index 0e08565d..00000000 --- a/docs/src/components/LanguageTabs/index.tsx +++ /dev/null @@ -1,49 +0,0 @@ -import { Children, isValidElement, type PropsWithChildren } from "react"; -import TabItem from "@theme/TabItem"; -import Tabs from "@theme/Tabs"; - -export default function LanguageTabs({ children }: PropsWithChildren) { - const items = Children.toArray(children).map((child, index) => { - if (!isValidElement(child)) return null; - if (child.type === PythonTab) { - return ( - - {child.props.children} - - ); - } - if (child.type === TypeScriptTab) { - return ( - - {child.props.children} - - ); - } - if (child.type === JsonTab) { - return ( - - {child.props.children} - - ); - } - return null; - }); - - return ( - - {items} - - ); -} - -export function PythonTab({ children }: PropsWithChildren) { - return <>{children}; -} - -export function TypeScriptTab({ children }: PropsWithChildren) { - return <>{children}; -} - -export function JsonTab({ children }: PropsWithChildren) { - return <>{children}; -} diff --git a/docs/src/css/custom.css b/docs/src/css/custom.css index 6e769a46..6fc76ad4 100644 --- a/docs/src/css/custom.css +++ b/docs/src/css/custom.css @@ -27,3 +27,134 @@ .typedoc-sidebar-item-deprecated { text-decoration: line-through; } + +.language-selector { + margin: 0; + position: relative; +} + +.language-selector__logo { + flex: none; + height: 18px; + width: 18px; +} + +.language-selector__trigger, +.language-selector__option { + align-items: center; + color: var(--ifm-navbar-link-color); + cursor: pointer; + display: flex; + font: inherit; + gap: 0.5rem; +} + +.language-selector__trigger { + background: var(--ifm-navbar-background-color); + border: 1px solid var(--ifm-color-emphasis-400); + border-radius: var(--ifm-global-radius); + padding: 0.35rem 0.55rem; +} + +.language-selector__trigger:focus-visible, +.language-selector__option:focus-visible { + outline: 2px solid var(--ifm-color-primary); + outline-offset: 2px; +} + +.language-selector__caret { + border-color: currentColor transparent; + border-style: solid; + border-width: 0.35em 0.35em 0; + margin-left: 0.15rem; +} + +.language-selector__menu { + background: var(--ifm-dropdown-background-color); + border-radius: var(--ifm-global-radius); + box-shadow: var(--ifm-global-shadow-md); + left: 0; + list-style: none; + margin: 0.35rem 0 0; + min-width: 100%; + padding: 0.35rem; + position: absolute; + top: 100%; + z-index: var(--ifm-z-index-dropdown); +} + +.language-selector__menu li { + margin: 0; +} + +.language-selector__option { + background: transparent; + border: 0; + border-radius: 0.25rem; + padding: 0.35rem 0.5rem; + white-space: nowrap; + width: 100%; +} + +.language-selector__option:hover { + background: var(--ifm-hover-overlay); +} + +.language-selector-mobile { + padding: 0.75rem; +} + +.language-selector-mobile .language-selector { + justify-content: space-between; +} + +@media (max-width: 996px) { + .navbar__items:not(.navbar__items--right) .language-selector-desktop { + display: flex; + padding: 0 0.5rem; + } + + .language-selector-mobile { + display: none; + } +} + +@media (max-width: 420px) { + .navbar__title { + display: none; + } +} + +.header-github-link::before { + background-color: var(--ifm-navbar-link-color); + content: ""; + display: flex; + height: 24px; + mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 .7a12 12 0 0 0-3.8 23.4c.6.1.8-.3.8-.6v-2.1c-3.3.7-4-1.4-4-1.4-.5-1.4-1.3-1.7-1.3-1.7-1.1-.7.1-.7.1-.7 1.2.1 1.8 1.2 1.8 1.2 1.1 1.8 2.8 1.3 3.5 1 .1-.8.4-1.3.8-1.6-2.7-.3-5.5-1.3-5.5-5.9 0-1.3.5-2.4 1.2-3.2-.1-.3-.5-1.6.1-3.2 0 0 1-.3 3.3 1.2a11.5 11.5 0 0 1 6 0C17 5.6 18 5.9 18 5.9c.7 1.6.3 2.9.1 3.2.8.8 1.2 1.9 1.2 3.2 0 4.6-2.8 5.6-5.5 5.9.4.4.8 1.1.8 2.2v3.2c0 .3.2.7.8.6A12 12 0 0 0 12 .7Z'/%3E%3C/svg%3E") no-repeat; + mask-size: 100% 100%; + width: 24px; +} + +.navbar-sidebar__actions { + align-items: center; + display: flex; + gap: 0.75rem; + margin-left: auto; +} + +.navbar-sidebar { + z-index: 2; +} + +.navbar-sidebar__actions .navbar-sidebar__close { + margin-left: 0; +} + +.navbar-sidebar__github-link { + display: flex; + padding: 0.25rem; +} + +.language-content > :last-child { + margin-bottom: 0; +} diff --git a/docs/src/theme/DocItem/Paginator/index.tsx b/docs/src/theme/DocItem/Paginator/index.tsx new file mode 100644 index 00000000..f1b476a3 --- /dev/null +++ b/docs/src/theme/DocItem/Paginator/index.tsx @@ -0,0 +1,59 @@ +import { useMemo } from "react"; +import { useLocation } from "@docusaurus/router"; +import { useDocsSidebar } from "@docusaurus/plugin-content-docs/client"; +import type { + PropNavigationLink, + PropSidebarItem, +} from "@docusaurus/plugin-content-docs"; +import { useLanguage } from "@site/src/components/LanguageContext"; +import { filterSidebar } from "@site/src/theme/DocSidebar"; +import DocPaginator from "@theme/DocPaginator"; + +function navigationItems( + items: readonly PropSidebarItem[], +): PropNavigationLink[] { + return items.flatMap((item) => { + if (item.type === "link") { + return item.unlisted + ? [] + : [{ title: item.label, permalink: item.href }]; + } + if (item.type !== "category") return []; + + const category = + item.href && !item.linkUnlisted + ? [{ title: item.label, permalink: item.href }] + : []; + return [...category, ...navigationItems(item.items)]; + }); +} + +function normalizedPath(path: string): string { + return path.replace(/\/$/, ""); +} + +export default function LanguageDocItemPaginator() { + const { pathname } = useLocation(); + const { language } = useLanguage(); + const sidebar = useDocsSidebar(); + const items = useMemo( + () => + sidebar + ? navigationItems(filterSidebar(sidebar.items, language)) + : [], + [language, sidebar], + ); + const index = items.findIndex( + (item) => normalizedPath(item.permalink) === normalizedPath(pathname), + ); + + if (index < 0) return null; + + return ( + + ); +} diff --git a/docs/src/theme/DocSidebar/index.tsx b/docs/src/theme/DocSidebar/index.tsx new file mode 100644 index 00000000..7fc02ed7 --- /dev/null +++ b/docs/src/theme/DocSidebar/index.tsx @@ -0,0 +1,115 @@ +import { useMemo } from "react"; +import type { + PropSidebarItem, + PropSidebarItemCategory, +} from "@docusaurus/plugin-content-docs"; +import { useLanguage, type Language } from "@site/src/components/LanguageContext"; +import DocSidebar from "@theme-original/DocSidebar"; +import type { Props } from "@theme/DocSidebar"; + +const TYPESCRIPT_HIDDEN_DOCS = new Set([ + "usage/compatibility", + "usage/migration", + "usage/troubleshooting", + "usage/using_blocks", +]); + +const USAGE_ORDER = [ + "usage/installation", + "usage/using_blocks", + "usage/sending_messages", + "usage/cookbook", + "usage/troubleshooting", + "usage/migration", +]; + +function isCategory(item: PropSidebarItem): item is PropSidebarItemCategory { + return item.type === "category"; +} + +function isLanguageReference( + item: PropSidebarItem, + language: Language, +): item is PropSidebarItemCategory { + return ( + isCategory(item) && + item.href?.includes(`/reference/${language}/`) === true + ); +} + +function filterUsage( + item: PropSidebarItemCategory, + language: Language, +): PropSidebarItemCategory { + const positions = new Map(USAGE_ORDER.map((docId, index) => [docId, index])); + const items = item.items + .filter( + (child) => + child.type !== "link" || + (child.docId !== "usage/compatibility" && + (language === "python" || + !child.docId || + !TYPESCRIPT_HIDDEN_DOCS.has(child.docId))), + ) + .sort((left, right) => { + const leftPosition = + left.type === "link" && left.docId + ? (positions.get(left.docId) ?? Number.MAX_SAFE_INTEGER) + : Number.MAX_SAFE_INTEGER; + const rightPosition = + right.type === "link" && right.docId + ? (positions.get(right.docId) ?? Number.MAX_SAFE_INTEGER) + : Number.MAX_SAFE_INTEGER; + return leftPosition - rightPosition; + }); + + return { + ...item, + collapsed: false, + items, + }; +} + +function filterReference( + item: PropSidebarItemCategory, + language: Language, +): PropSidebarItemCategory { + const languageReference = item.items.find((child) => + isLanguageReference(child, language), + ); + if (!languageReference) return item; + + const sharedItems = item.items.filter( + (child) => + !isLanguageReference(child, "python") && + !isLanguageReference(child, "typescript"), + ); + + return { + ...item, + href: languageReference.href, + items: [...sharedItems, ...languageReference.items], + }; +} + +export function filterSidebar( + sidebar: readonly PropSidebarItem[], + language: Language, +): PropSidebarItem[] { + return sidebar.map((item) => { + if (!isCategory(item)) return item; + if (item.label === "Usage") return filterUsage(item, language); + if (item.label === "API Reference") return filterReference(item, language); + return item; + }); +} + +export default function LanguageDocSidebar(props: Props) { + const { language } = useLanguage(); + const sidebar = useMemo( + () => filterSidebar(props.sidebar, language), + [language, props.sidebar], + ); + + return ; +} diff --git a/docs/src/theme/DocVersionBadge/index.tsx b/docs/src/theme/DocVersionBadge/index.tsx new file mode 100644 index 00000000..2f999f66 --- /dev/null +++ b/docs/src/theme/DocVersionBadge/index.tsx @@ -0,0 +1,40 @@ +import type { ReactNode } from "react"; +import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; +import { ThemeClassNames } from "@docusaurus/theme-common"; +import { useDocsVersion } from "@docusaurus/plugin-content-docs/client"; +import type { Props } from "@theme/DocVersionBadge"; +import { useLanguage, type Language } from "@site/src/components/LanguageContext"; + +type PackageVersions = Record; + +const languageLabels: Record = { + python: "Python", + typescript: "TypeScript", +}; + +export default function DocVersionBadge({ className }: Props): ReactNode { + const versionMetadata = useDocsVersion(); + const { siteConfig } = useDocusaurusContext(); + const { language } = useLanguage(); + const packageVersions = siteConfig.customFields + .packageVersions as PackageVersions; + + if (!versionMetadata.badge) { + return null; + } + + return ( + + {languageLabels[language]} v{packageVersions[language]} · Spec v + {packageVersions.spec} + + ); +} diff --git a/docs/src/theme/Navbar/Content/index.tsx b/docs/src/theme/Navbar/Content/index.tsx new file mode 100644 index 00000000..837aeee8 --- /dev/null +++ b/docs/src/theme/Navbar/Content/index.tsx @@ -0,0 +1,107 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +import React, {type ReactNode} from 'react'; +import { + useThemeConfig, + ErrorCauseBoundary, + ThemeClassNames, +} from '@docusaurus/theme-common'; +import { + splitNavbarItems, + useNavbarMobileSidebar, +} from '@docusaurus/theme-common/internal'; +import NavbarItem, {type Props as NavbarItemConfig} from '@theme/NavbarItem'; +import NavbarColorModeToggle from '@theme/Navbar/ColorModeToggle'; +import SearchBar from '@theme/SearchBar'; +import NavbarMobileSidebarToggle from '@theme/Navbar/MobileSidebar/Toggle'; +import NavbarLogo from '@theme/Navbar/Logo'; +import NavbarSearch from '@theme/Navbar/Search'; + +import styles from './styles.module.css'; + +function useNavbarItems() { + // TODO temporary casting until ThemeConfig type is improved + return useThemeConfig().navbar.items as NavbarItemConfig[]; +} + +function NavbarItems({items}: {items: NavbarItemConfig[]}): ReactNode { + return ( + <> + {items.map((item, i) => ( + + new Error( + `A theme navbar item failed to render. +Please double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config: +${JSON.stringify(item, null, 2)}`, + {cause: error}, + ) + }> + + + ))} + + ); +} + +function NavbarContentLayout({ + left, + right, +}: { + left: ReactNode; + right: ReactNode; +}) { + return ( +
    +
    + {left} +
    +
    + {right} +
    +
    + ); +} + +export default function NavbarContent(): ReactNode { + const mobileSidebar = useNavbarMobileSidebar(); + + const items = useNavbarItems(); + const [leftItems, rightItems] = splitNavbarItems(items); + + const searchBarItem = items.find((item) => item.type === 'search'); + + return ( + + {!mobileSidebar.disabled && } + + + + } + right={ + // TODO stop hardcoding items? + // Ask the user to add the respective navbar items => more flexible + <> + {!searchBarItem && ( + + + + )} + + + + } + /> + ); +} diff --git a/docs/src/theme/Navbar/Content/styles.module.css b/docs/src/theme/Navbar/Content/styles.module.css new file mode 100644 index 00000000..eee2127b --- /dev/null +++ b/docs/src/theme/Navbar/Content/styles.module.css @@ -0,0 +1,23 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/* +Hide color mode toggle in small viewports + */ +@media (max-width: 996px) { + .colorModeToggle { + display: none; + } +} + +/* +Restore some Infima style that broke with CSS Cascade Layers +See https://github.com/facebook/docusaurus/pull/11142 + */ +:global(.navbar__items--right) > :last-child { + padding-right: 0; +} diff --git a/docs/src/theme/Navbar/MobileSidebar/Header/index.tsx b/docs/src/theme/Navbar/MobileSidebar/Header/index.tsx new file mode 100644 index 00000000..af7b44a1 --- /dev/null +++ b/docs/src/theme/Navbar/MobileSidebar/Header/index.tsx @@ -0,0 +1,44 @@ +import type { ReactNode } from "react"; +import { translate } from "@docusaurus/Translate"; +import { useNavbarMobileSidebar } from "@docusaurus/theme-common/internal"; +import IconClose from "@theme/Icon/Close"; +import NavbarColorModeToggle from "@theme/Navbar/ColorModeToggle"; +import NavbarLogo from "@theme/Navbar/Logo"; + +function CloseButton() { + const mobileSidebar = useNavbarMobileSidebar(); + + return ( + + ); +} + +export default function NavbarMobileSidebarHeader(): ReactNode { + return ( + + ); +} diff --git a/docs/src/theme/Navbar/MobileSidebar/Layout/index.tsx b/docs/src/theme/Navbar/MobileSidebar/Layout/index.tsx new file mode 100644 index 00000000..f1ab1300 --- /dev/null +++ b/docs/src/theme/Navbar/MobileSidebar/Layout/index.tsx @@ -0,0 +1,25 @@ +import type { ReactNode } from "react"; +import { ThemeClassNames } from "@docusaurus/theme-common"; +import { useNavbarSecondaryMenu } from "@docusaurus/theme-common/internal"; +import type { Props } from "@theme/Navbar/MobileSidebar/Layout"; + +export default function NavbarMobileSidebarLayout({ + header, +}: Props): ReactNode { + const secondaryMenu = useNavbarSecondaryMenu(); + + return ( +
    + {header} +
    +
    + {secondaryMenu.content} +
    +
    +
    + ); +} diff --git a/docs/src/theme/NavbarItem/HtmlNavbarItem.tsx b/docs/src/theme/NavbarItem/HtmlNavbarItem.tsx new file mode 100644 index 00000000..5deac71b --- /dev/null +++ b/docs/src/theme/NavbarItem/HtmlNavbarItem.tsx @@ -0,0 +1,11 @@ +import HtmlNavbarItem from "@theme-original/NavbarItem/HtmlNavbarItem"; +import type { Props } from "@theme/NavbarItem/HtmlNavbarItem"; +import LanguageSelector from "@site/src/components/LanguageSelector"; + +export default function HtmlNavbarItemOverride(props: Props) { + if (props.value === "language-selector") { + return ; + } + + return ; +} diff --git a/docs/src/theme/Root.tsx b/docs/src/theme/Root.tsx new file mode 100644 index 00000000..cdd85436 --- /dev/null +++ b/docs/src/theme/Root.tsx @@ -0,0 +1,6 @@ +import type { PropsWithChildren } from "react"; +import { LanguageProvider } from "@site/src/components/LanguageContext"; + +export default function Root({ children }: PropsWithChildren) { + return {children}; +} diff --git a/docs/src/theme/TOCItems/index.tsx b/docs/src/theme/TOCItems/index.tsx new file mode 100644 index 00000000..c60b0fa2 --- /dev/null +++ b/docs/src/theme/TOCItems/index.tsx @@ -0,0 +1,33 @@ +import { useEffect, useState } from "react"; +import { useLanguage } from "@site/src/components/LanguageContext"; +import TOCItems from "@theme-original/TOCItems"; +import type { Props } from "@theme/TOCItems"; + +function visibleHeadingIds(language: string, toc: Props["toc"]): Set { + return new Set( + toc + .filter((item) => { + const heading = document.getElementById(item.id); + const content = heading?.closest( + "[data-language-content]", + ); + return !content || content.dataset.languageContent === language; + }) + .map((item) => item.id), + ); +} + +export default function LanguageTOCItems(props: Props) { + const { language } = useLanguage(); + const [visibleIds, setVisibleIds] = useState | null>(null); + + useEffect(() => { + setVisibleIds(visibleHeadingIds(language, props.toc)); + }, [language, props.toc]); + + const toc = visibleIds + ? props.toc.filter((item) => visibleIds.has(item.id)) + : props.toc; + + return ; +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 602b4420..f5dadc52 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -20,9 +20,15 @@ importers: '@docusaurus/plugin-client-redirects': specifier: ^3.10.2 version: 3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/plugin-content-docs': + specifier: ^3.10.2 + version: 3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3) '@docusaurus/preset-classic': specifier: ^3.10.2 version: 3.10.2(@algolia/client-search@5.56.0)(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(@types/react@18.3.28)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(supports-color@8.1.1)(typescript@5.9.3) + '@docusaurus/theme-common': + specifier: ^3.10.2 + version: 3.10.2(@docusaurus/plugin-content-docs@3.10.2(@mdx-js/react@3.1.1(@types/react@18.3.28)(react@18.3.1))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3))(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) '@docusaurus/types': specifier: ^3.10.2 version: 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) @@ -7898,7 +7904,7 @@ snapshots: dependencies: '@docusaurus/types': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) '@types/history': 4.7.11 - '@types/react': 19.2.18 + '@types/react': 18.3.28 '@types/react-router-config': 5.0.11 '@types/react-router-dom': 5.3.3 react: 18.3.1 @@ -8372,7 +8378,7 @@ snapshots: '@docusaurus/react-loadable@6.0.0(react@18.3.1)': dependencies: - '@types/react': 19.2.18 + '@types/react': 18.3.28 react: 18.3.1 '@docusaurus/theme-classic@3.10.2(@types/react@18.3.28)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(debug@4.4.3(supports-color@8.1.1))(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1)(typescript@5.9.3)': @@ -8436,7 +8442,7 @@ snapshots: '@docusaurus/utils': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) '@docusaurus/utils-common': 3.10.2(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.26))(csso@5.0.5)(html-minifier-terser@7.2.0)(lightningcss@1.33.0)(postcss@8.5.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@8.1.1) '@types/history': 4.7.11 - '@types/react': 19.2.18 + '@types/react': 18.3.28 '@types/react-router-config': 5.0.11 clsx: 2.1.1 parse-numeric-range: 1.3.0 @@ -9445,19 +9451,19 @@ snapshots: '@types/react-router-config@5.0.11': dependencies: '@types/history': 4.7.11 - '@types/react': 19.2.18 + '@types/react': 18.3.28 '@types/react-router': 5.1.20 '@types/react-router-dom@5.3.3': dependencies: '@types/history': 4.7.11 - '@types/react': 19.2.18 + '@types/react': 18.3.28 '@types/react-router': 5.1.20 '@types/react-router@5.1.20': dependencies: '@types/history': 4.7.11 - '@types/react': 19.2.18 + '@types/react': 18.3.28 '@types/react@18.3.28': dependencies: diff --git a/spec/tools/parity.py b/spec/tools/parity.py deleted file mode 100644 index cc4ab2c1..00000000 --- a/spec/tools/parity.py +++ /dev/null @@ -1,67 +0,0 @@ -"""Generate the documentation parity page from conformance skip lists.""" - -from __future__ import annotations - -import json -import sys -from pathlib import Path - -REPO_ROOT = Path(__file__).resolve().parents[2] -SPEC_ROOT = REPO_ROOT / "spec" -IMPLEMENTATIONS = ("python", "typescript") -LABELS = {"python": "Python", "typescript": "TypeScript"} - - -def entries(path: Path) -> list[str]: - return [ - line.split(maxsplit=1)[0] - for line in path.read_text().splitlines() - if line and not line.startswith("#") - ] - - -def render() -> str: - manifest = json.loads((SPEC_ROOT / "manifest.json").read_text()) - invalid = json.loads((SPEC_ROOT / "fixtures/invalid/manifest.json").read_text()) - total = len(manifest["fixtures"]) + len(invalid["cases"]) - lines = [ - "---", - "title: Language parity", - "---", - "", - "# Language parity", - "", - f"Generated from spec {manifest['spec_version']} manifests and checked-in skip lists.", - "", - "| Implementation | Passing | Skipped | Conformance |", - "|---|---:|---:|---:|", - ] - for implementation in IMPLEMENTATIONS: - skipped = entries(REPO_ROOT / implementation / "conformance/skiplist.txt") - passing = total - len(skipped) - lines.append( - f"| {LABELS[implementation]} | {passing} | {len(skipped)} | {passing / total:.0%} |" - ) - lines.extend( - [ - "", - f"The contract currently contains {len(manifest['fixtures'])} valid fixtures and " - f"{len(invalid['cases'])} invalid cases.", - "", - ] - ) - return "\n".join(lines) - - -def main() -> None: - output = ( - Path(sys.argv[1]) if len(sys.argv) > 1 else REPO_ROOT / "docs/docs/reference/parity.mdx" - ) - if not output.is_absolute(): - output = REPO_ROOT / "docs" / output - output.parent.mkdir(parents=True, exist_ok=True) - output.write_text(render()) - - -if __name__ == "__main__": - main() From d8f69787d136e56496b1c334aaaeb753564856f6 Mon Sep 17 00:00:00 2001 From: Nicholas Lambourne Date: Fri, 14 Aug 2026 03:05:52 +1000 Subject: [PATCH 07/23] docs: complete language-specific guides --- docs/docs/contributing.mdx | 2 +- docs/docs/index.mdx | 38 +-- docs/docs/quick-start.mdx | 73 +++++ docs/docs/reference/_category_.json | 2 +- docs/docs/reference/index.mdx | 4 +- docs/docs/usage/_category_.json | 2 +- docs/docs/usage/compatibility.mdx | 8 +- docs/docs/usage/installation.mdx | 4 +- docs/docs/usage/migration.mdx | 2 +- docs/docs/usage/sending_messages.mdx | 2 +- ...troubleshooting.md => troubleshooting.mdx} | 149 ++++++++- docs/docs/usage/using_blocks.mdx | 305 +++++++++++++++++- docs/src/css/custom.css | 23 ++ docs/src/theme/DocSidebar/index.tsx | 62 +++- docs/src/theme/DocVersionBadge/index.tsx | 9 +- 15 files changed, 606 insertions(+), 79 deletions(-) create mode 100644 docs/docs/quick-start.mdx rename docs/docs/usage/{troubleshooting.md => troubleshooting.mdx} (50%) diff --git a/docs/docs/contributing.mdx b/docs/docs/contributing.mdx index 852d87f5..896cff0c 100644 --- a/docs/docs/contributing.mdx +++ b/docs/docs/contributing.mdx @@ -1,5 +1,5 @@ --- -sidebar_position: 4 +sidebar_position: 5 --- # Contributing diff --git a/docs/docs/index.mdx b/docs/docs/index.mdx index acad6867..cf0247d1 100644 --- a/docs/docs/index.mdx +++ b/docs/docs/index.mdx @@ -20,41 +20,9 @@ It exists because Block Kit JSON is verbose, easy to get subtly wrong, and unple - **Drop-in compatibility** with the official Slack SDKs and their plain JSON payloads. - **Zero runtime dependencies.** -## Quickstart +## Quick Start - - - -```bash -pip install slackblocks -``` - -```python -from slackblocks import Message, SectionBlock - -message = Message(channel="#general", blocks=SectionBlock("Hello, world!")) -``` - - - - -```bash -pnpm add slackblocks -``` - -```ts -import { message, section } from "slackblocks"; - -const payload = message({ - channel: "C0123456", - blocks: [section({ text: "Hello, world!" })], -}); -``` - - - - -See the [installation guide](usage/installation) and [sending messages guide](usage/sending_messages) to take it from here. +Ready to build your first message? The [Quick Start guide](quick-start) takes you from installation to a validated Slack payload using the language selected in the top navigation. ## Components @@ -145,7 +113,7 @@ Use [`message`](reference/typescript/functions/message), [`webhookMessage`](refe - [Using Blocks](usage/using_blocks) - [Sending Messages](usage/sending_messages) - [Recipe Book](usage/cookbook) — complete end-to-end recipes for common message patterns. -- [Troubleshooting & FAQ](usage/troubleshooting.md) +- [Troubleshooting & FAQ](usage/troubleshooting) - [Migrating from 1.x to 2.x](usage/migration) — upgrade guide for `1.x` users. - [Contributing](contributing) — developing and contributing to `slackblocks` itself. diff --git a/docs/docs/quick-start.mdx b/docs/docs/quick-start.mdx new file mode 100644 index 00000000..f8c447c7 --- /dev/null +++ b/docs/docs/quick-start.mdx @@ -0,0 +1,73 @@ +--- +sidebar_label: Quick Start +sidebar_position: 2 +--- + +import LanguageContent, { Python, TypeScript } from '@site/src/components/LanguageContent'; + +# Quick Start + +Install `slackblocks` and build your first valid Block Kit message. The language selector in the top navigation controls the instructions and examples on this page. + + + + +## Install the package + +Python 3.10 or newer is required. + +```bash +pip install slackblocks +``` + +## Build a message + +```python +from slackblocks import Message, SectionBlock + +message = Message( + channel="#general", + text="Hello from slackblocks!", + blocks=[SectionBlock("Hello, world!")], +) + +print(message.json()) +``` + +`Message` validates the payload as it is constructed and renders it as Slack-compatible JSON. The `text` value is the plain-text fallback Slack uses for notifications and accessibility. + + + + +## Install the package + +Node.js 20.19 or newer is required. The package is ESM-only. + +```bash +pnpm add slackblocks +``` + +## Build a message + +```ts +import { message, section } from "slackblocks"; + +const payload = message({ + channel: "C0123456", + text: "Hello from slackblocks!", + blocks: [section({ text: "Hello, world!" })], +}); + +console.log(JSON.stringify(payload, null, 2)); +``` + +Each factory validates its input and returns a plain Slack-compatible object. Factory inputs use camelCase; the resulting payload uses the snake_case keys expected by Slack. + + + + +## Where to go next + +`slackblocks` constructs payloads but does not send HTTP requests. Continue with [Sending Messages](usage/sending_messages) to connect the payload to Slack, or explore [Using Blocks](usage/using_blocks) to build richer layouts. + +For package-manager alternatives and environment details, see [Installation](usage/installation). diff --git a/docs/docs/reference/_category_.json b/docs/docs/reference/_category_.json index 7e1d1665..f5f04783 100644 --- a/docs/docs/reference/_category_.json +++ b/docs/docs/reference/_category_.json @@ -1,4 +1,4 @@ { "label": "API Reference", - "position": 3 + "position": 4 } diff --git a/docs/docs/reference/index.mdx b/docs/docs/reference/index.mdx index 58ebcf9c..c10aa5ee 100644 --- a/docs/docs/reference/index.mdx +++ b/docs/docs/reference/index.mdx @@ -5,12 +5,12 @@ import LanguageContent, { Python, TypeScript } from '@site/src/components/Langua -Browse the [Python API reference](/reference/python) for classes, signatures, and docstrings. +Looking for the exact class or constructor argument to use? The [Python API reference](/reference/python) covers every public class, function, signature, and docstring in the package. Start with the category that matches the payload you are building, then follow the linked types as you go. -Browse the [TypeScript API reference](/reference/typescript) for factories, interfaces, and types. +Need the precise shape of a factory input or returned payload? The [TypeScript API reference](/reference/typescript) brings together every exported factory, interface, type, and validation error. Use it when you know what you want to build and need the exact TypeScript contract. diff --git a/docs/docs/usage/_category_.json b/docs/docs/usage/_category_.json index 15ef8773..d8659ff3 100644 --- a/docs/docs/usage/_category_.json +++ b/docs/docs/usage/_category_.json @@ -1,5 +1,5 @@ { "label": "Usage", - "position": 2, + "position": 3, "collapsed": false } diff --git a/docs/docs/usage/compatibility.mdx b/docs/docs/usage/compatibility.mdx index 7b3edf81..2428dd91 100644 --- a/docs/docs/usage/compatibility.mdx +++ b/docs/docs/usage/compatibility.mdx @@ -5,19 +5,23 @@ import TabItem from '@theme/TabItem'; This page documents which Python versions are supported by each `slackblocks` release line, so you can choose the right line for your runtime. +Each row in the table maps a major `slackblocks` release line to the oldest Python interpreter that can run it. **Minimum Python** means that version or any newer supported Python version—not that the release only works on that one version. The status in parentheses tells you whether the line receives current feature development or maintenance fixes only. + +Start with the Python version used by your application or deployment environment, then choose the newest `slackblocks` line whose minimum requirement it meets. For example, Python 3.9 requires `slackblocks` 1.x, while Python 3.10 and newer can use 2.x. + ## Support matrix | `slackblocks` version | Minimum Python | Notes | | --- | --- | --- | | `1.x` (maintenance) | 3.8.1 | The last release line to support Python 3.8 and 3.9. | -| `2.x` (current) | 3.10 | Modern typing (`X | Y`, `list[X]`), dataclasses with `slots`, `match` statements, and other Python 3.10+ features used internally. | +| `2.x` (current) | 3.10 | Modern typing (`X \| Y`, `list[X]`), dataclasses with `slots`, `match` statements, and other Python 3.10+ features used internally. | If you cannot upgrade Python, pin to the appropriate major version: -``` +```text slackblocks>=1,<2 # Python 3.8/3.9 friendly slackblocks>=2,<3 # Python 3.10+ only ``` diff --git a/docs/docs/usage/installation.mdx b/docs/docs/usage/installation.mdx index f52b3fcf..935c0ee5 100644 --- a/docs/docs/usage/installation.mdx +++ b/docs/docs/usage/installation.mdx @@ -87,7 +87,7 @@ The package requires Node 20.19 or newer, is ESM-only, and emits no runtime impo Verify the installation in `hello.mjs`: -```js +```ts import { message, section } from "slackblocks"; console.log(message({ @@ -96,7 +96,7 @@ console.log(message({ })); ``` -Run it with `node hello.mjs`. Pin the pre-1.0 line with `slackblocks~0.1.0`, and uninstall with `pnpm remove slackblocks` (or your package manager's equivalent). +Run it with `node hello.mjs`. Pin the current major release with `slackblocks@^2.0.0`, and uninstall with `pnpm remove slackblocks` (or your package manager's equivalent). diff --git a/docs/docs/usage/migration.mdx b/docs/docs/usage/migration.mdx index f16b5a4c..5c45ec28 100644 --- a/docs/docs/usage/migration.mdx +++ b/docs/docs/usage/migration.mdx @@ -41,7 +41,7 @@ If you are still on either: -``` +```text slackblocks>=1,<2 ``` diff --git a/docs/docs/usage/sending_messages.mdx b/docs/docs/usage/sending_messages.mdx index 5b4bf9ec..9a039d95 100644 --- a/docs/docs/usage/sending_messages.mdx +++ b/docs/docs/usage/sending_messages.mdx @@ -14,7 +14,7 @@ The trick is the `**` operator: a `slackblocks.Message` is a mapping, so you can ## With the modern `slack-sdk` - + ```python from os import environ diff --git a/docs/docs/usage/troubleshooting.md b/docs/docs/usage/troubleshooting.mdx similarity index 50% rename from docs/docs/usage/troubleshooting.md rename to docs/docs/usage/troubleshooting.mdx index 7f8d0238..22a8b17c 100644 --- a/docs/docs/usage/troubleshooting.md +++ b/docs/docs/usage/troubleshooting.mdx @@ -1,6 +1,11 @@ +import LanguageContent, { Python, TypeScript } from '@site/src/components/LanguageContent'; + # Troubleshooting & FAQ -Common questions, gotchas, and error messages. +Practical answers to common questions, gotchas, and validation errors. + + + ## Why is my message body coming through with literal `*asterisks*` instead of bold? @@ -140,4 +145,144 @@ Use whichever you find more ergonomic; they produce equivalent JSON. ## Where do I report bugs / request features? -GitHub Issues: +Use [GitHub Issues](https://github.com/nicklambourne/slackblocks/issues). + + + + +## Why is my message showing literal `*asterisks*` instead of bold text? + +Slack supports `mrkdwn` and `plain_text`. The `section()` factory turns a string into `mrkdwn` by default, but Slack requires headers, button labels, modal titles, input labels, and option labels to use `plain_text`. Markdown syntax in those fields is displayed literally. + +If styling is missing from a field that supports it, check that you have not wrapped the value with `plainText()`. Use `mrkdwn()` when you need to choose the text type explicitly. + +## Why does Slack say `text` is required? + +Messages containing blocks should also provide a short plain-text fallback. Slack uses it for push notifications, assistive technology, and clients that cannot render Block Kit. + +```ts +import { header, message } from "slackblocks"; + +const payload = message({ + channel: "C0123456", + text: "Build #482 passed", + blocks: [header({ text: "Build #482 passed :white_check_mark:" })], +}); +``` + +## What is `blockId` for? Should I set it? + +`blockId` becomes `block_id` in the Slack payload. Slack returns it in interaction payloads, which lets your app identify the block that produced a button click or modal submission. + +You can omit it for non-interactive content. For interactive messages and views, use a stable value that your handlers understand: + +```ts +import { actions, button } from "slackblocks"; + +actions({ + blockId: "approval:req-123", + elements: [ + button({ text: "Approve", actionId: "approve", value: "req-123" }), + ], +}); +``` + +The same principle applies to `actionId`, which becomes `action_id` on the wire. + +## What do `LengthError` and the other validation errors mean? + +`slackblocks` validates payloads while its factories construct them. An error such as `LengthError`, `RangeError`, or `MissingRequiredError` means the input would violate a known Block Kit rule. The error includes a path so you can find the invalid field before sending anything to Slack. + +Common limits include: + +| Factory field | Limit | +|-------------------------------------|-------| +| `section().text` | 3,000 characters | +| `section().fields[i]` | 2,000 characters | +| `header().text` | 150 characters | +| `button().text` | 75 characters | +| `button().value` | 2,000 characters | +| `button().url` | 3,000 characters | +| `modal().title` / `submit` / `close`| 24 characters | +| `actionId` | 255 characters | +| `privateMetadata` | 3,000 characters | +| `option().url` | 3,000 characters | + +If Slack adds a field or raises a limit before the package catches up, pass `{ validate: false }` as the final factory argument for that construction only. + +## How many blocks can a payload contain? + +- Channel messages: **50 blocks**. +- Modals and home tabs: **100 blocks**. +- `context()`: up to **10 elements**. +- `actions()`: up to **25 elements**. +- `section().fields`: up to **10 items**. +- `table()`: up to **100 rows × 20 columns**. + +## Why don't my buttons or selects do anything when clicked? + +`slackblocks` only constructs outgoing payloads. Handling interactions requires a public HTTPS endpoint configured as your Slack app's **Interactivity & Shortcuts** request URL, plus code that handles the payload Slack sends there. + +[`@slack/bolt`](https://slack.dev/bolt-js/) is the usual starting point for a TypeScript or JavaScript app. + +## Why doesn't markdown work inside `header()`? + +Slack only accepts `plain_text` in header blocks. Use `section()` followed by `divider()` when you need styled heading text. + +## How can I preview a message without sending it? + +Generate a Block Kit Builder URL and open it in your browser: + +```ts +import { blockKitBuilderUrl, message, section } from "slackblocks"; + +const payload = message({ + channel: "C0123456", + text: "Preview message", + blocks: [section({ text: "Hello!" })], +}); + +console.log(blockKitBuilderUrl(payload)); +``` + +You can also paste `JSON.stringify(payload, null, 2)` into Slack's [Block Kit Builder](https://app.slack.com/block-kit-builder). + +## How do I send a payload with `fetch()`? + +Factories return plain objects, so no conversion step is required: + +```ts +import { message, section } from "slackblocks"; + +const payload = message({ + channel: "C0123456", + text: "Hello!", + blocks: [section({ text: "Hello!" })], +}); + +const response = await fetch("https://slack.com/api/chat.postMessage", { + method: "POST", + headers: { + authorization: `Bearer ${process.env.SLACK_API_TOKEN}`, + "content-type": "application/json", + }, + body: JSON.stringify(payload), +}); + +if (!response.ok) throw new Error(`Slack returned ${response.status}`); +``` + +## Can I use `slackblocks` in async code? + +Yes. The factories are synchronous, side-effect-free functions that return ordinary objects. Construct the payload wherever it is convenient, then `await` your Slack SDK or HTTP client when you send it. + +## How does this differ from `@slack/types`? + +`@slack/types` supplies TypeScript definitions for Slack payloads. `slackblocks` adds small construction helpers, camelCase inputs, snake_case wire output, and eager validation with path-aware errors. The resulting objects remain compatible with Slack's official types and clients. + +## Where do I report bugs or request features? + +Use [GitHub Issues](https://github.com/nicklambourne/slackblocks/issues). + + + diff --git a/docs/docs/usage/using_blocks.mdx b/docs/docs/usage/using_blocks.mdx index 56ae999e..7b8baae6 100644 --- a/docs/docs/usage/using_blocks.mdx +++ b/docs/docs/usage/using_blocks.mdx @@ -1,25 +1,39 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; +import LanguageContent, { Python, TypeScript } from '@site/src/components/LanguageContent'; # Using Blocks Blocks are the fundamental visual units of a Slack message. Each block type renders as a different UI component (a section of text, a header, a divider, an image, a row of buttons, and so on). A `Message` is composed of one or more blocks, rendered top-to-bottom. -This page lists every block type supported by `slackblocks`, with: +This page walks through every block type supported by `slackblocks`, with: - A short description of what the block is for. -- The `slackblocks` Python code to construct it. +- The `slackblocks` code to construct it in your selected language. - The JSON payload that's produced. - A screenshot of how it looks in Slack. + + + For the reverse mapping — looking up a class by name — see the [Blocks reference](../reference/python/blocks). For interactive UI bits (buttons, menus, date pickers) that go *inside* blocks, see [Elements](../reference/python/elements). + + + +For exact factory inputs and return types, see the [TypeScript API reference](../reference/typescript). Interactive controls such as buttons, menus, and date pickers are documented alongside the other element factories. + + + + ## Section Block - + + + ```python from slackblocks import CheckboxGroup, Option, SectionBlock @@ -39,6 +53,29 @@ SectionBlock( ) ``` + + + +```ts +import { checkboxes, mrkdwn, option, section } from "slackblocks"; + +section({ + text: "This is a section block with a checkbox accessory.", + blockId: "fake_block_id", + accessory: checkboxes({ + actionId: "checkboxes-action", + options: [ + option({ + text: mrkdwn("*Your Only Option*"), + value: "option_one", + }), + ], + }), +}); +``` + + + @@ -80,7 +117,10 @@ SectionBlock( ## Rich Text Block - + + + + ```python from slackblocks import RichTextBlock, RichTextSection, RichText @@ -106,6 +146,26 @@ RichTextBlock( ) ``` + + + +```ts +import { richText, richTextBlock, richTextSection } from "slackblocks"; + +richTextBlock({ + blockId: "fake_block_id", + elements: [ + richTextSection([ + richText("You 'bout to witness hip-hop in its most purest\n", { bold: true }), + richText("Most rawest form, flow almost flawless\n", { strike: true }), + richText("Most hardest, most honest known artist\n", { italic: true }), + ]), + ], +}); +``` + + + @@ -159,7 +219,10 @@ RichTextBlock( - + + + + ```python from slackblocks import HeaderBlock @@ -169,6 +232,19 @@ HeaderBlock( ) ``` + + + +```ts +import { header, plainText } from "slackblocks"; + +header({ + text: plainText("This is a header block", { emoji: true }), +}); +``` + + + @@ -202,7 +278,10 @@ Slack added the `markdown` block type in 2024, primarily for AI / agentic apps. `text` is required (1 - 12,000 characters). - + + + + ```python from slackblocks import MarkdownBlock @@ -212,6 +291,19 @@ MarkdownBlock( ) ``` + + + +```ts +import { markdownBlock } from "slackblocks"; + +markdownBlock({ + text: "**Hello!** Markdown blocks support _GitHub-flavored_ syntax.", +}); +``` + + + @@ -234,7 +326,10 @@ See the [Slack reference](https://api.slack.com/reference/block-kit/blocks#markd - + + + + ```python from slackblocks import ImageBlock @@ -247,6 +342,22 @@ ImageBlock( ) ``` + + + +```ts +import { imageBlock } from "slackblocks"; + +imageBlock({ + imageUrl: "https://api.slack.com/img/blocks/bkb_template_images/beagle.png", + altText: "a beagle", + title: "dog", + blockId: "fake_block_id", +}); +``` + + + @@ -278,7 +389,10 @@ ImageBlock( - + + + + ```python from slackblocks import InputBlock, Text, TextType, PlainTextInput @@ -292,6 +406,23 @@ InputBlock( ) ``` + + + +```ts +import { input, plainText, plainTextInput } from "slackblocks"; + +input({ + label: plainText("Label", { emoji: true }), + hint: plainText("Hint", { emoji: true }), + element: plainTextInput({ actionId: "action" }), + blockId: "fake_block_id", + optional: true, +}); +``` + + + @@ -332,7 +463,10 @@ InputBlock( - + + + + ```python from slackblocks import DividerBlock @@ -340,6 +474,17 @@ from slackblocks import DividerBlock DividerBlock() ``` + + + +```ts +import { divider } from "slackblocks"; + +divider(); +``` + + + @@ -364,7 +509,10 @@ DividerBlock() - + + + + ```python from slackblocks import FileBlock @@ -375,6 +523,20 @@ FileBlock( ) ``` + + + +```ts +import { fileBlock } from "slackblocks"; + +fileBlock({ + externalId: "external_id", + blockId: "fake_block_id", +}); +``` + + + @@ -403,7 +565,10 @@ FileBlock( - + + + + ```python from slackblocks import ContextBlock, Text @@ -416,6 +581,20 @@ ContextBlock( ) ``` + + + +```ts +import { context, mrkdwn } from "slackblocks"; + +context({ + elements: [mrkdwn("Hello, world!")], + blockId: "fake_block_id", +}); +``` + + + @@ -446,7 +625,10 @@ ContextBlock( ## Actions Block - + + + + ```python from slackblocks import ActionsBlock, CheckboxGroup, Option @@ -464,6 +646,31 @@ ActionsBlock( ) ``` + + + +```ts +import { actions, checkboxes, mrkdwn, option, plainText } from "slackblocks"; + +actions({ + blockId: "fake_block_id", + elements: [ + checkboxes({ + actionId: "actionId-0", + options: ["a", "b", "c"].map((value) => + option({ + text: mrkdwn(`*${value}*`), + value, + description: plainText(`*${value}*`), + }), + ), + }), + ], +}); +``` + + + @@ -529,7 +736,10 @@ ActionsBlock( ## Table Block - + + + + ```python from slackblocks import ( @@ -570,6 +780,48 @@ TableBlock( ) ``` + + + +```ts +import { + columnSettings, + rawText, + richText, + richTextBlock, + richTextLink, + richTextSection, + table, +} from "slackblocks"; + +table({ + columnSettings: [ + columnSettings({ align: "right", isWrapped: true }), + columnSettings({ align: "left" }), + ], + rows: [ + [ + richTextBlock({ + elements: [richTextSection([richText("Header 1", { bold: true })])], + }), + richTextBlock({ + elements: [richTextSection([richText("Header 2", { bold: true })])], + }), + ], + [ + rawText("Datum 1"), + richTextBlock({ + elements: [ + richTextSection([richTextLink({ url: "https://slack.com", text: "Datum 2" })]), + ], + }), + ], + ], +}); +``` + + + @@ -665,12 +917,15 @@ TableBlock( ## Video Block -Embeds a video from a Slack-supported provider (e.g. YouTube, Vimeo). The `title` accepts either a `str` (coerced to plain-text) or a `Text` instance; `description` works the same way. +Embeds a video from a Slack-supported provider such as YouTube or Vimeo. Plain strings supplied for `title` and `description` are converted to Slack `plain_text` objects automatically. Required: `alt_text`, `thumbnail_url`, `title`, `video_url`. Slack restricts which domains may be embedded — supplying an unsupported URL will produce a Slack API error rather than an `InvalidUsageError` at construction. - + + + + ```python from slackblocks import VideoBlock @@ -687,6 +942,26 @@ VideoBlock( ) ``` + + + +```ts +import { video } from "slackblocks"; + +video({ + altText: "How to use slackblocks", + thumbnailUrl: "https://example.com/thumb.png", + title: "Getting Started", + videoUrl: "https://example.com/video.mp4", + authorName: "The slackblocks docs", + description: "A short walkthrough.", + providerName: "example.com", + titleUrl: "https://example.com", +}); +``` + + + diff --git a/docs/src/css/custom.css b/docs/src/css/custom.css index 6fc76ad4..e137ad43 100644 --- a/docs/src/css/custom.css +++ b/docs/src/css/custom.css @@ -19,6 +19,15 @@ --ifm-color-primary-lightest: #fff; } +.prism-code, +.prism-code .token { + font-style: normal !important; +} + +.breadcrumbs__item--active .breadcrumbs__link { + background: transparent; +} + .api-docstring { font-family: var(--ifm-font-family-base); white-space: pre-wrap; @@ -142,6 +151,20 @@ margin-left: auto; } +.docs-version-select { + background: var(--ifm-navbar-background-color); + border: 1px solid var(--ifm-color-emphasis-400); + border-radius: var(--ifm-global-radius); + color: var(--ifm-navbar-link-color); + font: inherit; + padding: 0.3rem; +} + +.docs-version-select:focus-visible { + outline: 2px solid var(--ifm-color-primary); + outline-offset: 2px; +} + .navbar-sidebar { z-index: 2; } diff --git a/docs/src/theme/DocSidebar/index.tsx b/docs/src/theme/DocSidebar/index.tsx index 7fc02ed7..55cbab96 100644 --- a/docs/src/theme/DocSidebar/index.tsx +++ b/docs/src/theme/DocSidebar/index.tsx @@ -10,8 +10,6 @@ import type { Props } from "@theme/DocSidebar"; const TYPESCRIPT_HIDDEN_DOCS = new Set([ "usage/compatibility", "usage/migration", - "usage/troubleshooting", - "usage/using_blocks", ]); const USAGE_ORDER = [ @@ -23,10 +21,35 @@ const USAGE_ORDER = [ "usage/migration", ]; +const SIDEBAR_LABELS: Record = { + "Composition objects": "Composition Objects", + "Rich text": "Rich Text", + classes: "Classes", + functions: "Functions", + interfaces: "Interfaces", + "type-aliases": "Type Aliases", + variables: "Variables", +}; + function isCategory(item: PropSidebarItem): item is PropSidebarItemCategory { return item.type === "category"; } +function capitaliseSidebarItem(item: PropSidebarItem): PropSidebarItem { + if (item.type === "html") return item; + + const label = + SIDEBAR_LABELS[item.label] ?? + item.label.replace(/^[a-z]/, (letter) => letter.toUpperCase()); + if (!isCategory(item)) return { ...item, label }; + + return { + ...item, + label, + items: item.items.map(capitaliseSidebarItem), + }; +} + function isLanguageReference( item: PropSidebarItem, language: Language, @@ -96,12 +119,35 @@ export function filterSidebar( sidebar: readonly PropSidebarItem[], language: Language, ): PropSidebarItem[] { - return sidebar.map((item) => { - if (!isCategory(item)) return item; - if (item.label === "Usage") return filterUsage(item, language); - if (item.label === "API Reference") return filterReference(item, language); - return item; - }); + const usage = sidebar.find( + (item): item is PropSidebarItemCategory => + isCategory(item) && item.label === "Usage", + ); + const compatibility = usage?.items.find( + (item) => + item.type === "link" && item.docId === "usage/compatibility", + ); + + return sidebar + .map((item) => { + if (!isCategory(item)) return item; + if (item.label === "Usage") return filterUsage(item, language); + if (item.label === "API Reference") return filterReference(item, language); + return item; + }) + .flatMap((item) => { + if ( + language === "python" && + item.type === "link" && + item.docId === "contributing" && + compatibility + ) { + return [compatibility, item]; + } + + return [item]; + }) + .map(capitaliseSidebarItem); } export default function LanguageDocSidebar(props: Props) { diff --git a/docs/src/theme/DocVersionBadge/index.tsx b/docs/src/theme/DocVersionBadge/index.tsx index 2f999f66..29a49e27 100644 --- a/docs/src/theme/DocVersionBadge/index.tsx +++ b/docs/src/theme/DocVersionBadge/index.tsx @@ -1,12 +1,9 @@ import type { ReactNode } from "react"; -import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; import { ThemeClassNames } from "@docusaurus/theme-common"; import { useDocsVersion } from "@docusaurus/plugin-content-docs/client"; import type { Props } from "@theme/DocVersionBadge"; import { useLanguage, type Language } from "@site/src/components/LanguageContext"; -type PackageVersions = Record; - const languageLabels: Record = { python: "Python", typescript: "TypeScript", @@ -14,10 +11,7 @@ const languageLabels: Record = { export default function DocVersionBadge({ className }: Props): ReactNode { const versionMetadata = useDocsVersion(); - const { siteConfig } = useDocusaurusContext(); const { language } = useLanguage(); - const packageVersions = siteConfig.customFields - .packageVersions as PackageVersions; if (!versionMetadata.badge) { return null; @@ -33,8 +27,7 @@ export default function DocVersionBadge({ className }: Props): ReactNode { .filter(Boolean) .join(" ")} > - {languageLabels[language]} v{packageVersions[language]} · Spec v - {packageVersions.spec} + {languageLabels[language]} v{versionMetadata.label} ); } From 25f60fe544534dec8314755e01ead0861a4db998 Mon Sep 17 00:00:00 2001 From: Nicholas Lambourne Date: Fri, 14 Aug 2026 03:09:25 +1000 Subject: [PATCH 08/23] feat: expose versioned documentation --- README.md | 8 +- docs/docusaurus.config.ts | 44 +- docs/src/components/VersionSelector/index.tsx | 48 ++ .../Navbar/MobileSidebar/Header/index.tsx | 2 + docs/typescript-api-intro.md | 5 + .../version-1.0/contributing.mdx | 78 ++ docs/versioned_docs/version-1.0/index.mdx | 161 ++++ .../version-1.0/reference/_category_.json | 4 + .../version-1.0/reference/index.mdx | 16 + .../reference/python/attachments.mdx | 31 + .../version-1.0/reference/python/blocks.mdx | 131 ++++ .../version-1.0/reference/python/builder.mdx | 11 + .../version-1.0/reference/python/elements.mdx | 261 +++++++ .../version-1.0/reference/python/errors.mdx | 61 ++ .../version-1.0/reference/python/index.mdx | 14 + .../version-1.0/reference/python/messages.mdx | 41 + .../version-1.0/reference/python/modals.mdx | 11 + .../version-1.0/reference/python/objects.mdx | 291 +++++++ .../reference/python/rich_text.mdx | 121 +++ .../version-1.0/reference/python/views.mdx | 31 + .../typescript/classes/InvalidUsageError.md | 227 ++++++ .../typescript/classes/LengthError.md | 227 ++++++ .../classes/MissingRequiredError.md | 227 ++++++ .../classes/MutualExclusivityError.md | 227 ++++++ .../typescript/classes/RangeError.md | 227 ++++++ .../typescript/classes/TypeMismatchError.md | 227 ++++++ .../reference/typescript/functions/actions.md | 25 + .../reference/typescript/functions/asText.md | 23 + .../typescript/functions/assertValid.md | 15 + .../typescript/functions/attachment.md | 29 + .../functions/blockKitBuilderUrl.md | 19 + .../reference/typescript/functions/button.md | 19 + .../functions/channelMultiSelect.md | 19 + .../typescript/functions/channelSelect.md | 19 + .../typescript/functions/checkboxes.md | 19 + .../typescript/functions/columnSettings.md | 25 + .../typescript/functions/confirmation.md | 19 + .../reference/typescript/functions/context.md | 25 + .../functions/conversationFilter.md | 29 + .../functions/conversationMultiSelect.md | 19 + .../functions/conversationSelect.md | 19 + .../typescript/functions/datePicker.md | 19 + .../typescript/functions/dateTimePicker.md | 19 + .../functions/dispatchActionConfiguration.md | 21 + .../reference/typescript/functions/divider.md | 21 + .../typescript/functions/emailInput.md | 19 + .../functions/externalMultiSelect.md | 19 + .../typescript/functions/externalSelect.md | 19 + .../typescript/functions/fileBlock.md | 29 + .../typescript/functions/fileInput.md | 29 + .../reference/typescript/functions/header.md | 25 + .../reference/typescript/functions/homeTab.md | 33 + .../typescript/functions/imageBlock.md | 33 + .../typescript/functions/imageElement.md | 19 + .../reference/typescript/functions/input.md | 41 + .../typescript/functions/inputParameter.md | 25 + .../typescript/functions/markdownBlock.md | 25 + .../reference/typescript/functions/message.md | 19 + .../typescript/functions/messageResponse.md | 41 + .../reference/typescript/functions/modal.md | 57 ++ .../reference/typescript/functions/mrkdwn.md | 23 + .../typescript/functions/numberInput.md | 19 + .../reference/typescript/functions/option.md | 19 + .../typescript/functions/optionGroup.md | 19 + .../typescript/functions/overflow.md | 19 + .../typescript/functions/plainText.md | 23 + .../typescript/functions/plainTextInput.md | 19 + .../typescript/functions/radioButtons.md | 19 + .../reference/typescript/functions/rawText.md | 19 + .../typescript/functions/richText.md | 23 + .../typescript/functions/richTextBlock.md | 25 + .../typescript/functions/richTextChannel.md | 23 + .../typescript/functions/richTextCodeBlock.md | 25 + .../typescript/functions/richTextEmoji.md | 19 + .../typescript/functions/richTextInput.md | 19 + .../typescript/functions/richTextLink.md | 33 + .../typescript/functions/richTextList.md | 37 + .../typescript/functions/richTextQuote.md | 25 + .../typescript/functions/richTextSection.md | 19 + .../typescript/functions/richTextUser.md | 23 + .../typescript/functions/richTextUserGroup.md | 23 + .../reference/typescript/functions/section.md | 19 + .../typescript/functions/slackFile.md | 25 + .../typescript/functions/staticMultiSelect.md | 19 + .../typescript/functions/staticSelect.md | 19 + .../reference/typescript/functions/table.md | 29 + .../typescript/functions/timePicker.md | 19 + .../reference/typescript/functions/trigger.md | 25 + .../typescript/functions/urlInput.md | 19 + .../typescript/functions/userMultiSelect.md | 19 + .../typescript/functions/userSelect.md | 19 + .../typescript/functions/validate.md | 15 + .../reference/typescript/functions/video.md | 57 ++ .../typescript/functions/webhookMessage.md | 53 ++ .../typescript/functions/workflow.md | 21 + .../typescript/functions/workflowButton.md | 19 + .../version-1.0/reference/typescript/index.md | 116 +++ .../typescript/interfaces/ActionInput.md | 19 + .../typescript/interfaces/ButtonInput.md | 67 ++ .../interfaces/ConfirmationInput.md | 35 + .../typescript/interfaces/FactorySettings.md | 13 + .../typescript/interfaces/JsonObject.md | 7 + .../typescript/interfaces/MarkdownOptions.md | 11 + .../typescript/interfaces/MessageInput.md | 67 ++ .../typescript/interfaces/OptionGroupInput.md | 19 + .../typescript/interfaces/OptionInput.md | 35 + .../typescript/interfaces/PlainTextOptions.md | 11 + .../typescript/interfaces/RichTextStyle.md | 35 + .../typescript/interfaces/SectionInput.md | 35 + .../interfaces/WorkflowButtonInput.md | 51 ++ .../type-aliases/BlockKitPayload.md | 5 + .../typescript/type-aliases/ElementInput.md | 5 + .../typescript/type-aliases/ErrorCategory.md | 5 + .../typescript/type-aliases/JsonPrimitive.md | 5 + .../typescript/type-aliases/JsonValue.md | 5 + .../type-aliases/SlackCompatibleBlock.md | 7 + .../typescript/type-aliases/SlackObject.md | 17 + .../typescript/type-aliases/SlackWire.md | 11 + .../typescript/type-aliases/TextLike.md | 5 + .../typescript/type-aliases/TextObject.md | 5 + .../typescript/variables/specVersion.md | 5 + .../version-1.0/usage/_category_.json | 5 + .../version-1.0/usage/compatibility.mdx | 74 ++ .../version-1.0/usage/cookbook.mdx | 452 +++++++++++ .../version-1.0/usage/installation.mdx | 102 +++ .../version-1.0/usage/migration.mdx | 253 ++++++ .../version-1.0/usage/sending_messages.mdx | 243 ++++++ .../version-1.0/usage/troubleshooting.md | 143 ++++ .../version-1.0/usage/using_blocks.mdx | 718 ++++++++++++++++++ .../version-1.0-sidebars.json | 8 + docs/versions.json | 3 + typescript/package.json | 2 +- 132 files changed, 7001 insertions(+), 16 deletions(-) create mode 100644 docs/src/components/VersionSelector/index.tsx create mode 100644 docs/typescript-api-intro.md create mode 100644 docs/versioned_docs/version-1.0/contributing.mdx create mode 100644 docs/versioned_docs/version-1.0/index.mdx create mode 100644 docs/versioned_docs/version-1.0/reference/_category_.json create mode 100644 docs/versioned_docs/version-1.0/reference/index.mdx create mode 100644 docs/versioned_docs/version-1.0/reference/python/attachments.mdx create mode 100644 docs/versioned_docs/version-1.0/reference/python/blocks.mdx create mode 100644 docs/versioned_docs/version-1.0/reference/python/builder.mdx create mode 100644 docs/versioned_docs/version-1.0/reference/python/elements.mdx create mode 100644 docs/versioned_docs/version-1.0/reference/python/errors.mdx create mode 100644 docs/versioned_docs/version-1.0/reference/python/index.mdx create mode 100644 docs/versioned_docs/version-1.0/reference/python/messages.mdx create mode 100644 docs/versioned_docs/version-1.0/reference/python/modals.mdx create mode 100644 docs/versioned_docs/version-1.0/reference/python/objects.mdx create mode 100644 docs/versioned_docs/version-1.0/reference/python/rich_text.mdx create mode 100644 docs/versioned_docs/version-1.0/reference/python/views.mdx create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/classes/InvalidUsageError.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/classes/LengthError.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/classes/MissingRequiredError.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/classes/MutualExclusivityError.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/classes/RangeError.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/classes/TypeMismatchError.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/actions.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/asText.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/assertValid.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/attachment.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/blockKitBuilderUrl.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/button.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/channelMultiSelect.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/channelSelect.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/checkboxes.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/columnSettings.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/confirmation.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/context.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/conversationFilter.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/conversationMultiSelect.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/conversationSelect.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/datePicker.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/dateTimePicker.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/dispatchActionConfiguration.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/divider.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/emailInput.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/externalMultiSelect.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/externalSelect.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/fileBlock.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/fileInput.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/header.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/homeTab.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/imageBlock.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/imageElement.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/input.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/inputParameter.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/markdownBlock.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/message.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/messageResponse.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/modal.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/mrkdwn.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/numberInput.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/option.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/optionGroup.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/overflow.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/plainText.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/plainTextInput.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/radioButtons.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/rawText.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/richText.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/richTextBlock.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/richTextChannel.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/richTextCodeBlock.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/richTextEmoji.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/richTextInput.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/richTextLink.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/richTextList.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/richTextQuote.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/richTextSection.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/richTextUser.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/richTextUserGroup.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/section.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/slackFile.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/staticMultiSelect.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/staticSelect.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/table.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/timePicker.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/trigger.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/urlInput.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/userMultiSelect.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/userSelect.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/validate.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/video.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/webhookMessage.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/workflow.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/functions/workflowButton.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/index.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/interfaces/ActionInput.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/interfaces/ButtonInput.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/interfaces/ConfirmationInput.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/interfaces/FactorySettings.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/interfaces/JsonObject.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/interfaces/MarkdownOptions.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/interfaces/MessageInput.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/interfaces/OptionGroupInput.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/interfaces/OptionInput.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/interfaces/PlainTextOptions.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/interfaces/RichTextStyle.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/interfaces/SectionInput.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/interfaces/WorkflowButtonInput.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/type-aliases/BlockKitPayload.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/type-aliases/ElementInput.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/type-aliases/ErrorCategory.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/type-aliases/JsonPrimitive.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/type-aliases/JsonValue.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/type-aliases/SlackCompatibleBlock.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/type-aliases/SlackObject.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/type-aliases/SlackWire.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/type-aliases/TextLike.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/type-aliases/TextObject.md create mode 100644 docs/versioned_docs/version-1.0/reference/typescript/variables/specVersion.md create mode 100644 docs/versioned_docs/version-1.0/usage/_category_.json create mode 100644 docs/versioned_docs/version-1.0/usage/compatibility.mdx create mode 100644 docs/versioned_docs/version-1.0/usage/cookbook.mdx create mode 100644 docs/versioned_docs/version-1.0/usage/installation.mdx create mode 100644 docs/versioned_docs/version-1.0/usage/migration.mdx create mode 100644 docs/versioned_docs/version-1.0/usage/sending_messages.mdx create mode 100644 docs/versioned_docs/version-1.0/usage/troubleshooting.md create mode 100644 docs/versioned_docs/version-1.0/usage/using_blocks.mdx create mode 100644 docs/versioned_sidebars/version-1.0-sidebars.json create mode 100644 docs/versions.json diff --git a/README.md b/README.md index 9915bb2c..570b9903 100644 --- a/README.md +++ b/README.md @@ -2,10 +2,10 @@ Build validated Slack Block Kit payloads in Python or TypeScript from one cross-language conformance contract. -| Implementation | Package | Version | Spec | -|---|---|---:|---:| -| Python | [`slackblocks` on PyPI](https://pypi.org/project/slackblocks/) | 2.0.0 | 1.0.0 | -| TypeScript / JavaScript | `slackblocks` on npm | 0.1.0 (unpublished) | 1.0.0 | +| Implementation | Package | Version | +|---|---|---:| +| Python | [`slackblocks` on PyPI](https://pypi.org/project/slackblocks/) | 2.0.0 | +| TypeScript / JavaScript | `slackblocks` on npm | 2.0.0 (unpublished) | Both implementations are handwritten and idiomatic. The shared corpus under [`spec/`](spec/) guarantees semantically identical Slack JSON and validation categories. diff --git a/docs/docusaurus.config.ts b/docs/docusaurus.config.ts index f4667e50..e2e526c3 100644 --- a/docs/docusaurus.config.ts +++ b/docs/docusaurus.config.ts @@ -1,5 +1,6 @@ import type { Config } from "@docusaurus/types"; import type { Options as ClassicPresetOptions } from "@docusaurus/preset-classic"; +import { themes as prismThemes } from "prism-react-renderer"; import { readFileSync } from "node:fs"; const pythonProject = readFileSync( @@ -15,9 +16,12 @@ if (!pythonVersion) { const typescriptPackage = JSON.parse( readFileSync(new URL("../typescript/package.json", import.meta.url), "utf8"), ) as { version: string }; -const specManifest = JSON.parse( - readFileSync(new URL("../spec/manifest.json", import.meta.url), "utf8"), -) as { spec_version: string }; + +if (typescriptPackage.version !== pythonVersion) { + throw new Error( + `Package versions must match: Python is ${pythonVersion}, TypeScript is ${typescriptPackage.version}`, + ); +} const config: Config = { title: "slackblocks", @@ -27,13 +31,6 @@ const config: Config = { baseUrl: "/slackblocks/", organizationName: "nicklambourne", projectName: "slackblocks", - customFields: { - packageVersions: { - python: pythonVersion, - typescript: typescriptPackage.version, - spec: specManifest.spec_version, - }, - }, trailingSlash: false, onBrokenLinks: "throw", onBrokenAnchors: "throw", @@ -52,6 +49,19 @@ const config: Config = { sidebarPath: "./sidebars.ts", editUrl: "https://github.com/nicklambourne/slackblocks/tree/master/docs/", showLastUpdateTime: true, + lastVersion: "current", + versions: { + current: { + badge: false, + label: pythonVersion, + path: "", + }, + "1.0": { + badge: false, + label: "1.0.0", + path: "1.0.0", + }, + }, }, blog: false, theme: { @@ -68,7 +78,8 @@ const config: Config = { entryPoints: ["../typescript/src/index.ts"], tsconfig: "../typescript/tsconfig.typedoc.json", out: "docs/reference/typescript", - readme: "none", + readme: "./typescript-api-intro.md", + mergeReadme: true, excludePrivate: true, excludeInternal: true, sidebar: { @@ -122,11 +133,22 @@ const config: Config = { ], themeConfig: { image: "img/sb.png", + prism: { + theme: prismThemes.github, + darkTheme: prismThemes.vsDark, + additionalLanguages: ["python", "typescript", "json", "toml"], + }, navbar: { title: "slackblocks", logo: { alt: "slackblocks logo", src: "img/sb.png" }, items: [ { type: "html", value: "language-selector", position: "left" }, + { + type: "docsVersionDropdown", + position: "left", + className: "docs-version-dropdown", + dropdownActiveClassDisabled: true, + }, { href: "https://github.com/nicklambourne/slackblocks", position: "right", diff --git a/docs/src/components/VersionSelector/index.tsx b/docs/src/components/VersionSelector/index.tsx new file mode 100644 index 00000000..07add9ad --- /dev/null +++ b/docs/src/components/VersionSelector/index.tsx @@ -0,0 +1,48 @@ +import type { ChangeEvent } from "react"; +import { useHistory, useLocation } from "@docusaurus/router"; +import { + useActiveDocContext, + useDocsPreferredVersion, + useDocsVersionCandidates, + useVersions, +} from "@docusaurus/plugin-content-docs/client"; + +export default function VersionSelector() { + const history = useHistory(); + const location = useLocation(); + const versions = useVersions(undefined); + const activeDocContext = useActiveDocContext(undefined); + const versionCandidates = useDocsVersionCandidates(undefined); + const { savePreferredVersionName } = useDocsPreferredVersion(); + const displayedVersion = versionCandidates[0] ?? versions[0]; + + if (!displayedVersion || versions.length <= 1) return null; + + const selectVersion = (event: ChangeEvent) => { + const version = versions.find(({ name }) => name === event.target.value); + if (!version) return; + + const targetDoc = + activeDocContext.alternateDocVersions[version.name] ?? + version.docs.find(({ id }) => id === version.mainDocId); + if (!targetDoc) return; + + savePreferredVersionName(version.name); + history.push(`${targetDoc.path}${location.search}${location.hash}`); + }; + + return ( + + ); +} diff --git a/docs/src/theme/Navbar/MobileSidebar/Header/index.tsx b/docs/src/theme/Navbar/MobileSidebar/Header/index.tsx index af7b44a1..f89a9acd 100644 --- a/docs/src/theme/Navbar/MobileSidebar/Header/index.tsx +++ b/docs/src/theme/Navbar/MobileSidebar/Header/index.tsx @@ -4,6 +4,7 @@ import { useNavbarMobileSidebar } from "@docusaurus/theme-common/internal"; import IconClose from "@theme/Icon/Close"; import NavbarColorModeToggle from "@theme/Navbar/ColorModeToggle"; import NavbarLogo from "@theme/Navbar/Logo"; +import VersionSelector from "@site/src/components/VersionSelector"; function CloseButton() { const mobileSidebar = useNavbarMobileSidebar(); @@ -28,6 +29,7 @@ export default function NavbarMobileSidebarHeader(): ReactNode { return (
    +
    + slackblocks logo +

    + +`slackblocks` builds Slack messages with the [Block Kit API](https://api.slack.com/block-kit) in Python and TypeScript — without writing JSON by hand. + +It exists because Block Kit JSON is verbose, easy to get subtly wrong, and unpleasant to maintain in source control. `slackblocks` gives you: + +- **Typed, idiomatic APIs** for Python and TypeScript. +- **Validation as you build** — character limits, required fields, mutually-exclusive options, and element-type restrictions are enforced at construction time, so you find out *before* hitting Slack's API. +- **Drop-in compatibility** with the official Slack SDKs and their plain JSON payloads. +- **Zero runtime dependencies.** + +## Quickstart + + + + +```bash +pip install slackblocks +``` + +```python +from slackblocks import Message, SectionBlock + +message = Message(channel="#general", blocks=SectionBlock("Hello, world!")) +``` + + + + +```bash +pnpm add slackblocks +``` + +```ts +import { message, section } from "slackblocks"; + +const payload = message({ + channel: "C0123456", + blocks: [section({ text: "Hello, world!" })], +}); +``` + + + + +See the [installation guide](usage/installation) and [sending messages guide](usage/sending_messages) to take it from here. + +## Components + +The [Slack Block Kit API](https://api.slack.com/block-kit) defines several resource types (all defined in JSON) that work together to build block-based messages. + + + + +The Python package mirrors that hierarchy with classes. + +### Objects + +[Objects](reference/python/objects) (e.g. [`Text`](reference/python/objects#text), [`Option`](reference/python/objects#option), [`Confirm`](reference/python/objects#confirm)) are the lowest-level primitives — small composable pieces that populate [Elements](reference/python/elements) and [Blocks](reference/python/blocks). + +For convenience, [`PlainText`](reference/python/objects#plaintext) and [`Markdown`](reference/python/objects#markdown) are thin subclasses of `Text` that you can use anywhere a `Text` is expected — `PlainText("Hi", emoji=True)` reads more naturally than `Text("Hi", type_=TextType.PLAINTEXT, emoji=True)`. + +### Elements + +[Elements](reference/python/elements) are typically interactive UI controls that go *inside* blocks. The [`CheckboxGroup`](reference/python/elements#checkboxgroup) element, for instance, takes one or more [`Option`](reference/python/objects#option) items and presents a checkbox menu. + +### Blocks + +[Blocks](reference/python/blocks) are the core visual unit of a message. Different block classes produce different UI: + +- [`SectionBlock`](reference/python/blocks#sectionblock) — a chunk of markdown text, optionally with an accessory element. +- [`HeaderBlock`](reference/python/blocks#headerblock) — a large bold title. +- [`DividerBlock`](reference/python/blocks#dividerblock) — a visual separator (like an HTML `
    `). +- [`MarkdownBlock`](reference/python/blocks#markdownblock) — GitHub-flavored Markdown (Slack 2024+; richer formatting than `mrkdwn`). +- [`RichTextBlock`](reference/python/blocks#richtextblock) — formatted text with inline styling, lists, code blocks, and quotes. +- [`ActionsBlock`](reference/python/blocks#actionsblock) — a row of interactive elements like buttons or menus. +- [`VideoBlock`](reference/python/blocks#videoblock) — embed a video from a Slack-supported provider. +- [`ImageBlock`](reference/python/blocks#imageblock), [`ContextBlock`](reference/python/blocks#contextblock), [`InputBlock`](reference/python/blocks#inputblock), [`FileBlock`](reference/python/blocks#fileblock), [`TableBlock`](reference/python/blocks#tableblock). + +See [Using Blocks](usage/using_blocks) for examples of all block types side-by-side with their JSON output and Slack rendering. + +### Messages + +[Messages](reference/python/messages) are a convenience wrapper around blocks that can be unpacked directly into the Slack SDK's `chat_postMessage` (and friends). + +- [`Message`](reference/python/messages#message) — a normal channel message. +- [`WebhookMessage`](reference/python/messages#webhookmessage) — for incoming webhooks. +- [`MessageResponse`](reference/python/messages#messageresponse) — replies to slash commands and interactions. + +### Views + +[Views](reference/python/views) are an alternative usage of blocks that build custom UI surfaces in Slack — modal dialogs and the App Home tab — typically used by interactive Slack apps. + +### Utilities + +- [`block_kit_builder_url(payload, team_id=None)`](reference/python/builder#block_kit_builder_url) — turn any block, list of blocks, message, or view into a [Block Kit Builder](https://app.slack.com/block-kit-builder) URL for browser-based preview. +- [`Block.from_dict(data)`](reference/python/blocks#block) — parse a Slack-shaped block payload back into a `slackblocks` object. Per-class `from_dict` parsers are also available on every composition object. + +
    + + +The TypeScript package exposes data-first factories that return typed, Slack-shaped objects. + +### Composition objects + +Factories such as [`plainText`](reference/typescript/functions/plainText), [`mrkdwn`](reference/typescript/functions/mrkdwn), and [`option`](reference/typescript/functions/option) create the small values used throughout Block Kit payloads. + +### Elements + +Interactive controls are built with factories such as [`button`](reference/typescript/functions/button), [`checkboxes`](reference/typescript/functions/checkboxes), [`staticSelect`](reference/typescript/functions/staticSelect), and [`datePicker`](reference/typescript/functions/datePicker). + +### Blocks + +Block factories include [`section`](reference/typescript/functions/section), [`header`](reference/typescript/functions/header), [`divider`](reference/typescript/functions/divider), [`actions`](reference/typescript/functions/actions), [`richTextBlock`](reference/typescript/functions/richTextBlock), [`markdownBlock`](reference/typescript/functions/markdownBlock), and [`table`](reference/typescript/functions/table). + +### Messages and views + +Use [`message`](reference/typescript/functions/message), [`webhookMessage`](reference/typescript/functions/webhookMessage), and [`messageResponse`](reference/typescript/functions/messageResponse) for message payloads. Use [`modal`](reference/typescript/functions/modal) and [`homeTab`](reference/typescript/functions/homeTab) for Slack views. + +### Utilities + +- [`blockKitBuilderUrl`](reference/typescript/functions/blockKitBuilderUrl) creates a browser preview URL. +- [`validate`](reference/typescript/functions/validate) and [`assertValid`](reference/typescript/functions/assertValid) validate existing Slack-shaped data. + + +
    + +## Guides + + + + +- [Installation](usage/installation) +- [Using Blocks](usage/using_blocks) +- [Sending Messages](usage/sending_messages) +- [Recipe Book](usage/cookbook) — complete end-to-end recipes for common message patterns. +- [Troubleshooting & FAQ](usage/troubleshooting.md) +- [Migrating from 1.x to 2.x](usage/migration) — upgrade guide for `1.x` users. +- [Contributing](contributing) — developing and contributing to `slackblocks` itself. + + + + +- [Installation](usage/installation) +- [Sending Messages](usage/sending_messages) +- [Recipe Book](usage/cookbook) — complete end-to-end recipes for common message patterns. +- [Contributing](contributing) — developing and contributing to `slackblocks` itself. + + + diff --git a/docs/versioned_docs/version-1.0/reference/_category_.json b/docs/versioned_docs/version-1.0/reference/_category_.json new file mode 100644 index 00000000..7e1d1665 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "API Reference", + "position": 3 +} diff --git a/docs/versioned_docs/version-1.0/reference/index.mdx b/docs/versioned_docs/version-1.0/reference/index.mdx new file mode 100644 index 00000000..58ebcf9c --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/index.mdx @@ -0,0 +1,16 @@ +import LanguageContent, { Python, TypeScript } from '@site/src/components/LanguageContent'; + +# API reference + + + + +Browse the [Python API reference](/reference/python) for classes, signatures, and docstrings. + + + + +Browse the [TypeScript API reference](/reference/typescript) for factories, interfaces, and types. + + + diff --git a/docs/versioned_docs/version-1.0/reference/python/attachments.mdx b/docs/versioned_docs/version-1.0/reference/python/attachments.mdx new file mode 100644 index 00000000..7c9b5f39 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/python/attachments.mdx @@ -0,0 +1,31 @@ +# Attachments + +## `Attachment` + +**Class** + +```python +Attachment(blocks: 'Block | list[Block] | None' = None, color: 'str | Color | None' = None, fields: 'Field | list[Field] | None' = None, fallback: 'str | None' = None) +``` + +
    {"Lower priority content can be attached to messages using Attachments.\nThis is content that doesn't necessarily need to be seen to appreciate\nthe intent of the message, but perhaps adds further context or additional information.\n\nSee .\n\nN.B: `fields` is a deprecated field, included only for legacy purposes. Other legacy\nfields, e.g. `author_name` are deliberately omitted as they were never implemented in\n`slackblocks`.\n\nArgs:\n blocks: an array of Blocks that define the content of the attachment.\n color: the color (in hex format, e.g. #ffffff) of the vertical bar to the left of the\n attachment content. Consider using the `Color` enum from this module.\n fields: a list of `Field` objects to be included in what's rendered in the attachment.\n fallback: A plain text summary of the attachment used in clients that don't show\n formatted text (eg. IRC, mobile notifications).\n\nThrows:\n InvalidUsageError: if the `color` code provided is invalid."}
    + +## `Color` + +**Class** + +```python +Color(*values) +``` + +
    {"Color is a utility class for use with the Slack secondary attachments API.\n\nPass these to the `color` argument of\n [`Attachment`](/slackblocks/latest/reference/attachments/#attachments.Attachment).\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
    Color.GOOD\ngood\n
    Color.WARNING\nwarning\n
    Color.DANGER\ndanger\n
    Color.RED\nred\n
    Color.BLUE\nblue\n
    Color.YELLOW\nyellow\n
    Color.GREEN\ngreen\n
    Color.ORANGE\norange\n
    Color.PURPLE\npurple\n
    Color.BLACK\nblack\n
    "}
    + +## `Field` + +**Class** + +```python +Field(title: 'str | None' = None, value: 'str | None' = None, short: 'bool | None' = False) +``` + +
    {"Field text objects for use with Slack's secondary attachment API.\n\nSee .\n\nArgs:\n title: text shown as a bold heading on the field.\n value: text (`mrkdwn` or `plaintext`) representing the value of the field.\n short: whether the contents of the field is short enough to be presented in\n multipe columns."}
    diff --git a/docs/versioned_docs/version-1.0/reference/python/blocks.mdx b/docs/versioned_docs/version-1.0/reference/python/blocks.mdx new file mode 100644 index 00000000..77244676 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/python/blocks.mdx @@ -0,0 +1,131 @@ +# Blocks + +## `ActionsBlock` + +**Class** + +```python +ActionsBlock(elements: 'list[Element] | None' = None, block_id: 'str | None' = None) -> 'None' +``` + +
    {"A `Block` that is used to hold interactive elements (normally for users to interface with).\n\nArgs:\n elements: a list of [Elements](/slackblocks/latest/reference/elements)\n (up to a maximum of 25).\n block_id: you can use this field to provide a deterministic identifier for the block.\n\nThrows:\n InvalidUsageError: if any of the items in `elements` are invalid."}
    + +## `Block` + +**Class** + +```python +Block(type_: 'BlockType', block_id: 'str | None' = None) -> 'None' +``` + +
    {"Basis block containing attributes and behaviour common to all blocks.\nN.B: Block is an abstract class and cannot be sent directly."}
    + +## `ContextBlock` + +**Class** + +```python +ContextBlock(elements: 'list[Element | CompositionObject] | None' = None, block_id: 'str | None' = None) -> 'None' +``` + +
    {"A `ContextBlock` displays contextul message info, including both images and text.\n\nArgs:\n elements: a list of `Text` objects and `Image` elements.\n block_id: you can use this field to provide a deterministic identifier for the block.\n\nThrows:\n InvalidUsageError: when items in `elements` are not `Text` or `Image` or exceed 10 items."}
    + +## `DividerBlock` + +**Class** + +```python +DividerBlock(block_id: 'str | None' = None) -> 'None' +``` + +
    {"A content divider, like an `
    ` in HTML, to split up different blocks inside of\na message.\n\nArgs:\n block_id: you can use this field to provide a deterministic identifier for the block."}
    + +## `FileBlock` + +**Class** + +```python +FileBlock(external_id: 'str', block_id: 'str | None' = None, source: 'str' = 'remote') -> 'None' +``` + +
    {"Displays a remote file (e.g. a PDF).\n\nFor details on how remote files are exposed to Slack, see\n.\n\nArgs:\n external_id: the ID assigned to the remote file when it was added to Slack.\n block_id: you can use this field to provide a deterministic identifier for the block.\n source: always \"remote\" as per the Slack API (may change in the future)."}
    + +## `HeaderBlock` + +**Class** + +```python +HeaderBlock(text: 'str | Text', block_id: 'str | None' = None) -> 'None' +``` + +
    {"A Header Block is a plain-text block that displays in a larger, bold font.\n\nArgs:\n text: the text that will be rendered as a heading.\n block_id: you can use this field to provide a deterministic identifier for the block."}
    + +## `ImageBlock` + +**Class** + +```python +ImageBlock(image_url: 'str', alt_text: 'str | None' = ' ', title: 'Text | str | None' = None, block_id: 'str | None' = None) -> 'None' +``` + +
    {"An Image Block contains a single graphic, accessed by URL.\n\nArgs:\n image_url: the URL pointing to the image file you want to display.\n alt_text: alternative text for accessibility purposes and when the image fails to load.\n title: an optional text title to be presented with the image.\n block_id: you can use this field to provide a deterministic identifier for the block.\n\nThrows:\n InvalidUsageError: when one or more of the provided args fails validation."}
    + +## `InputBlock` + +**Class** + +```python +InputBlock(label: 'TextLike', element: 'Element', dispatch_action: 'bool' = False, block_id: 'str | None' = None, hint: 'TextLike | None' = None, optional: 'bool' = False) -> 'None' +``` + +
    {"A block that collects information from users - it can hold a plain-text\ninput element, a checkbox element, a radio button element, a select\nmenu element, a multi-select menu element, or a datepicker.\n\nArgs:\n label: the name which identifies the input field.\n element: an interactive [Element](/slackblocks/latest/reference/elements)\n (e.g. a text field).\n dispatch_action: whether the [Element](/slackblocks/latest/reference/elements)\n should trigger the sending of a `block_actions` payload.\n block_id: you can use this field to provide a deterministic identifier for the block.\n hint: an optional additional guide on what input the user should provide.\n optional: whether this input field may be empty when the user submits e.g. the modal.\n\nThrows:\n InvalidUsageError: when any of the provided arguments fail validation."}
    + +## `MarkdownBlock` + +**Class** + +```python +MarkdownBlock(text: 'str', block_id: 'str | None' = None) -> 'None' +``` + +
    {"Displays formatted Markdown text. Unlike the `mrkdwn` text style used in\n[`SectionBlock`](/slackblocks/latest/reference/blocks/#blocks.SectionBlock),\n`MarkdownBlock` uses **GitHub-flavored Markdown** for richer formatting,\nincluding features like tables and code blocks. Added to Slack in 2024\nfor AI / agentic app outputs.\n\nSee: .\n\nArgs:\n text: the Markdown-formatted text to display (1-12000 characters).\n block_id: you can use this field to provide a deterministic identifier\n for the block.\n\nThrows:\n LengthError: if `text` is empty or longer than 12000 characters."}
    + +## `RichTextBlock` + +**Class** + +```python +RichTextBlock(elements: 'RichTextObject | list[RichTextObject]', block_id: 'str | None' = None) -> 'None' +``` + +
    {"A RichTextBlock is used to provide easier rich text formatting\n than standard markdown text (e.g. in a\n [`SectionBlock`](/slackblocks/latest/reference/blocks/#blocks.SectionBlock))\n and access to text formatting features not available in traditional\n markdown (e.g. strikethrough). See the various rich text elements\n you can include [here](/slackblocks/latest/reference/rich_text).\n\nArgs:\n elements: a single [rich text element](rich_text)\n or a list of those elements.\n block_id: you can use this field to provide a deterministic identifier\n for the block.\n\nThrows:\n InvalidUsageError: if the elements in `elements` are not valid rich\n text elements."}
    + +## `SectionBlock` + +**Class** + +```python +SectionBlock(text: 'TextLike | None' = None, block_id: 'str | None' = None, fields: 'TextLike | list[TextLike] | None' = None, accessory: 'Element | None' = None) -> 'None' +``` + +
    {"A section is one of the most flexible blocks available -\nit can be used as a simple text block, or with any of the\navailable block elements.\n\nSection blocks can also optionally be given an \"accessory,\"\nwhich is typically one of the interactive\n[Elements](/slackblocks/latest/reference/elements).\n\nArgs:\n text: text to include in the block. Can be a string or `Text` object (of either\n `mrkdwn` or `plaintext` variety). Defaults to markdown if unspecified. One of either\n `text` or `fields` must be provided.\n block_id: you can use this field to provide a deterministic identifier for the block.\n fields: a list of text objects. One of either `text` or `fields` must be provided.\n accessory: an optional [Element](/slackblocks/latest/reference/elements) object\n that will take a secondary place in the block (after or to the side of `text`\n or `fields`).\n\nThrows:\n InvalidUsageError: if any of the provided arguments fail validation checks."}
    + +## `TableBlock` + +**Class** + +```python +TableBlock(rows: 'list[list[RawText | RichTextObject]]', column_settings: 'list[ColumnSettings] | None' = None, block_id: 'str | None' = None) -> 'None' +``` + +
    {"A `TableBlock` displays data in a table format.\n\nArgs:\n rows: a list of lists of `RawText` or `RichTextObject` objects.\n column_settings: a list of `ColumnSettings` objects.\n block_id: you can use this field to provide a deterministic identifier for the block.\n\nThrows:\n InvalidUsageError: when items in `rows` are not `RawText` or `RichTextObject` objects.\n InvalidUsageError: when the number of column_settings does not match the number of\n columns in each row.\n InvalidUsageError: when the number of rows is greater than 100.\n InvalidUsageError: when the number of columns in a row is greater than 20.\n InvalidUsageError: when the number of column_settings is greater than 20."}
    + +## `VideoBlock` + +**Class** + +```python +VideoBlock(alt_text: 'str', thumbnail_url: 'str', title: 'TextLike', video_url: 'str', author_name: 'str | None' = None, block_id: 'str | None' = None, description: 'TextLike | None' = None, provider_icon_url: 'str | None' = None, provider_name: 'str | None' = None, title_url: 'str | None' = None) -> 'None' +``` + +
    {"Embeds a video. Used to display video content inside a Slack message,\nmodal, or App Home tab.\n\nSee: .\n\nNote: Slack restricts which domains may be embedded. The server-side\nwhitelist (e.g. YouTube, Vimeo) is enforced by Slack on receipt of the\npayload, not by this library; supplying an unsupported URL will result\nin a Slack API error rather than an `InvalidUsageError` at construction.\n\nArgs:\n alt_text: a plain-text summary of the video, used for accessibility\n and notifications (max 200 chars).\n thumbnail_url: a URL pointing to the preview image shown before\n playback. Must be HTTPS in production usage.\n title: the title shown above the video player (plain text, max 200\n chars). A `str` is coerced to `TextType.PLAINTEXT` `Text`.\n video_url: the URL of the video to embed. Must point to a\n Slack-supported provider (see Slack's documentation).\n author_name: optional author name shown beneath the video\n (max 50 chars).\n block_id: an optional deterministic identifier for the block.\n description: optional plain-text description below the video\n (max 200 chars). A `str` is coerced to `TextType.PLAINTEXT`.\n provider_icon_url: an optional URL to the provider's icon.\n provider_name: an optional provider name shown alongside the icon\n (max 50 chars).\n title_url: an optional URL to link the title to.\n\nThrows:\n LengthError: if any length-constrained string exceeds its limit."}
    diff --git a/docs/versioned_docs/version-1.0/reference/python/builder.mdx b/docs/versioned_docs/version-1.0/reference/python/builder.mdx new file mode 100644 index 00000000..519950bc --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/python/builder.mdx @@ -0,0 +1,11 @@ +# Utilities + +## `block_kit_builder_url` + +**Function** + +```python +block_kit_builder_url(payload: 'Block | list[Block] | Resolvable | dict[str, Any]', team_id: 'str | None' = None) -> 'str' +``` + +
    {"Build a URL that opens ``payload`` in Slack's Block Kit Builder.\n\nUse this to preview a message, view, or list of blocks in the browser\nwithout manually copying JSON into the Builder.\n\nArgs:\n payload: any of:\n\n - A single ``Block`` -- wrapped in ``{\"blocks\": [block]}``.\n - A list of ``Block`` -- wrapped in ``{\"blocks\": [...]}``.\n - Anything with a ``_resolve`` method (``Message``,\n ``WebhookMessage``, ``MessageResponse``, ``View``,\n ``ModalView``, ``HomeTabView``, etc.) -- used as-is.\n - A raw ``dict`` -- used as-is. This is the escape hatch for\n callers building payloads outside the type hierarchy.\n\n team_id: optional Slack team ID. When supplied, produces a\n workspace-specific Builder URL of the form\n ``https://app.slack.com/block-kit-builder/T0123#``.\n When ``None`` (the default), produces the generic URL.\n\nReturns:\n A fully-formed Block Kit Builder URL.\n\nExamples:\n Single block::\n\n from slackblocks import SectionBlock, block_kit_builder_url\n\n url = block_kit_builder_url(SectionBlock(\"Hi\"))\n\n Multiple blocks::\n\n url = block_kit_builder_url([\n SectionBlock(\"Heading\"),\n DividerBlock(),\n ])\n\n Existing message::\n\n url = block_kit_builder_url(my_message)\n\n Targeting a specific workspace::\n\n url = block_kit_builder_url(my_message, team_id=\"T0123ABCD\")"}
    diff --git a/docs/versioned_docs/version-1.0/reference/python/elements.mdx b/docs/versioned_docs/version-1.0/reference/python/elements.mdx new file mode 100644 index 00000000..98eda5ef --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/python/elements.mdx @@ -0,0 +1,261 @@ +# Elements + +## `Button` + +**Class** + +```python +Button(text: 'TextLike', action_id: 'str', url: 'str | None' = None, value: 'str | None' = None, style: 'ButtonStyle | ButtonStyleName | None' = None, confirm: 'ConfirmationDialogue | None' = None, accessibility_label: 'str | None' = None) -> 'None' +``` + +
    {"An interactive element that inserts a button. The button can be a\ntrigger for anything from opening a simple link to starting a complex\nworkflow.\n\nSee: .\n\nArgs:\n text: text on the button (plaintext only; max 75 chars).\n action_id: an identifier so the source of the action can be known.\n url: a URL to load in the user's browser when the button is clicked.\n value: the value sent with the interaction payload.\n style: the visual style of the button, one of `primary`, `danger`.\n confirm: a `ConfirmationDialogue` object that will be presented when\n the button is clicked.\n accessibility_label: a string label for longer descriptive text about\n a button element. Used by screen readers (max 75 chars).\nThrows:\n InvalidUsageError: if any of the provided arguments fail validation."}
    + +## `ChannelMultiSelectMenu` + +**Class** + +```python +ChannelMultiSelectMenu(action_id: 'str', initial_channels: 'list[str] | None' = None, confirm: 'ConfirmationDialogue | None' = None, max_selected_items: 'int | None' = None, focus_on_load: 'bool' = False, placeholder: 'TextLike | None' = None) -> 'None' +``` + +
    {"This interactive UI element allows users to select multiple channels visible\n to the current user in the active workspace.\n\nSee: .\n\nArgs:\n action_id: an identifier so the source of the action can be known.\n initial_channels: a list of conversation IDs as strings that will\n already be selected when the menu renders.\n confirm: a `ConfirmationDialogue` object that will be presented when\n the menu is used.\n max_selected_items: the maximum number of items that can be selected\n in the menu.\n focus_on_load: whether or not the menu will be set to autofocus\n within the view object.\n placeholder: a plain-text `Text` object (max 150 chars) that shows\n in the menu when it's initially rendered.\n\nThrows:\n InvalidUsageError: if any of the provided arguments fail validation."}
    + +## `ChannelSelectMenu` + +**Class** + +```python +ChannelSelectMenu(action_id: 'str', initial_channel: 'str | None' = None, confirm: 'ConfirmationDialogue | None' = None, response_url_enabled: 'bool | None' = False, focus_on_load: 'bool' = False, placeholder: 'TextLike | None' = None) -> 'None' +``` + +
    {"A select menu interactive UI element, sourced with a list of public channels visible\n to the current user.\n\nSee: .\n\nArgs:\n action_id: an identifier so the source of the action can be known.\n initial_channel: the single (string) user ID that will be initially selected\n when first presented to the user.\n confirm: a `ConfirmationDialogue` object that will be presented when an\n option in the overflow menu is selected.\n response_url_enabled: When set to true, the view_submission payload from the\n menu's parent view will contain a response_url. (This response_url can be\n used for message responses).\n focus_on_load: whether or not the input will be set to autofocus\n within the view object.\n placeholder: a plain-text `Text` object (max 150 chars) that shows\n in the input when it's initially rendered.\n\nThrows:\n InvalidUsageError: if any of the provided arguments fail validation."}
    + +## `CheckboxGroup` + +**Class** + +```python +CheckboxGroup(action_id: 'str', options: 'Option | list[Option]', initial_options: 'Option | list[Option] | None' = None, confirm: 'ConfirmationDialogue | None' = None, focus_on_load: 'bool' = False) -> 'None' +``` + +
    {"A checkbox group that allows a user to choose multiple items from a list\nof possible options.\n\nSee: .\n\nArgs:\n action_id: an identifier so the source of the action can be known.\n options: a list of\n [`Option`](/slackblocks/latest/reference/objects/#objects.Option) objects that will form\n the content of the checkbox group.\n initial_options: a list of\n [`Option`](/slackblocks/latest/reference/objects/#objects.Option) objects that will be\n initially selected when first presented to the user.\n confirm: a `ConfirmationDialogue` object that will be presented when\n the checkbox group is used.\n focus_on_load: whether or not the checkbox group will be set to autofocus\n within the view object.\n\nThrows:\n InvalidUsageError: if any of the provided arguments fail validation."}
    + +## `ConversationMultiSelectMenu` + +**Class** + +```python +ConversationMultiSelectMenu(action_id: 'str', initial_conversations: 'list[str] | None' = None, default_to_current_conversation: 'bool | None' = False, confirm: 'ConfirmationDialogue | None' = None, max_selected_items: 'int | None' = None, filter: 'ConversationFilter | None' = None, focus_on_load: 'bool | None' = False, placeholder: 'TextLike | None' = None) -> 'None' +``` + +
    {"This interactive UI element allows users to select multiple conversations visible\n to the current user in the active workspace.\n\nSee: .\n\nArgs:\n action_id: an identifier so the source of the action can be known.\n initial_conversations: a list of conversation IDs as strings that will\n already be selected when the menu renders.\n default_to_current_conversation: Pre-populates the select menu with the\n conversation that the user was viewing when they opened the modal\n (defaults to `False`).\n confirm: a `ConfirmationDialogue` object that will be presented when\n the menu is used.\n max_selected_items: the maximum number of items that can be selected\n in the menu.\n filter: a [`Filter`](/slackblocks/latest/reference/objects/#objects.ConversationFilter)\n object that filters out conversations that don't match the settings\n of the filter.\n focus_on_load: whether or not the menu will be set to autofocus\n within the view object.\n placeholder: a plain-text `Text` object (max 150 chars) that shows\n in the menu when it's initially rendered.\n\nThrows:\n InvalidUsageError: if any of the provided arguments fail validation."}
    + +## `ConversationSelectMenu` + +**Class** + +```python +ConversationSelectMenu(action_id: 'str', initial_conversation: 'str | None' = None, default_to_current_conversation: 'bool | None' = False, confirm: 'ConfirmationDialogue | None' = None, response_url_enabled: 'bool | None' = False, filter: 'ConversationFilter | None' = None, focus_on_load: 'bool' = False, placeholder: 'TextLike | None' = None) -> 'None' +``` + +
    {"A select menu interactive UI element, sourced with a list of public and private channels,\n DMs, and MPIMs visible to the current user.\n\nSee: .\n\nArgs:\n action_id: an identifier so the source of the action can be known.\n initial_conversation: the single (string) conversation ID that will be initially\n selected when first presented to the user.\n default_to_current_conversation: Pre-populates the select menu with the\n conversation that the user was viewing when they opened the modal\n (defaults to `False`).\n confirm: a `ConfirmationDialogue` object that will be presented when an\n option in the overflow menu is selected.\n response_url_enabled: When set to true, the view_submission payload from the\n menu's parent view will contain a response_url. (This response_url can be\n used for message responses).\n filter: a [`Filter`](/slackblocks/latest/reference/objects/#objects.ConversationFilter)\n object that filters out conversations that don't match the settings\n of the filter.\n focus_on_load: whether or not the input will be set to autofocus\n within the view object.\n placeholder: a plain-text `Text` object (max 150 chars) that shows\n in the input when it's initially rendered.\n\nThrows:\n InvalidUsageError: if any of the provided arguments fail validation."}
    + +## `DatePicker` + +**Class** + +```python +DatePicker(action_id: 'str', initial_date: 'str | None' = None, confirm: 'ConfirmationDialogue | None' = None, focus_on_load: 'bool' = False, placeholder: 'TextLike | None' = None) -> 'None' +``` + +
    {"Interactive element that allows users to select a date from a calendar.\n\nSee: .\n\nArgs:\n action_id: an identifier so the source of the action can be known.\n initial_date: the date (in `YYYY-MM-DD` format) that will appear on the\n picker when it first renders.\n confirm: a `ConfirmationDialogue` object that will be presented when\n the date picker is clicked.\n focus_on_load: whether or not the date picker will be set to autofocus\n within the view object.\n placeholder: a `TextType.PLAINTEXT` `Text` object that defines what text\n will initially appear on the picker.\n\nThrows:\n InvalidUsageError: if any of the provided arguments fail validation."}
    + +## `DateTimePicker` + +**Class** + +```python +DateTimePicker(action_id: 'str', initial_datetime: 'int | None' = None, confirm: 'ConfirmationDialogue | None' = None, focus_on_load: 'bool' = False) -> 'None' +``` + +
    {"Allows users to select both a date and a time of day.\n\nProvides the date-time formatted as a Unix timestamp.\n\nSee: .\n\nArgs:\n action_id: an identifier so the source of the action can be known.\n initial_datetime: the initial value the date-time picker will be set to\n when it first renders.\n confirm: a `ConfirmationDialogue` object that will be presented when\n the button is date-time picker is used.\n focus_on_load: whether or not the datetime picker will be set to autofocus\n within the view object.\nThrows:\n InvalidUsageError: if any of the provided arguments fail validation."}
    + +## `Element` + +**Class** + +```python +Element(type_: 'ElementType') -> 'None' +``` + +
    {"Basis element containing attributes and behaviour common to all elements.\nN.B: Element is an abstract class and cannot be used directly."}
    + +## `EmailInput` + +**Class** + +```python +EmailInput(action_id: 'str', initial_value: 'str | None' = None, dispatch_action_config: 'DispatchActionConfiguration | None' = None, focus_on_load: 'bool' = False, placeholder: 'TextLike | None' = None) -> 'None' +``` + +
    {"Allows user to enter an email into a single-line text field.\n\nSee: .\n\nArgs:\n action_id: an identifier so the source of the action can be known.\n initial_value: The initial value in the email input when it is loaded.\n dispatch_action_config: a `DispatchActionConfiguration` object that\n determines when during text input the element returns a\n `block_actions` payload.\n focus_on_load: whether or not the email input will be set to autofocus\n within the view object.\n placeholder: a `TextType.PLAINTEXT` `Text` object that defines what text\n will initially appear in the input field.\n\nThrows:\n InvalidUsageError: if any of the provided arguments fail validation."}
    + +## `ExternalMultiSelectMenu` + +**Class** + +```python +ExternalMultiSelectMenu(action_id: 'str', min_query_length: 'int | None' = None, initial_options: 'Option | list[Option] | OptionGroup | list[OptionGroup] | None' = None, confirm: 'ConfirmationDialogue | None' = None, max_selected_items: 'int | None' = None, focus_on_load: 'bool' = False, placeholder: 'TextLike | None' = None) -> 'None' +``` + +
    {"An interactive UI element that loads its options from an external data source,\n allowing for a dynamic list of options.\n\nSee: .\n\nArgs:\n action_id: an identifier so the source of the action can be known.\n min_query_length: minimum number of characters entered before the query\n is dispactched (defaults to 3 if not provided).\n initial_options: the [`Options`](/slackblocks/latest/reference/objects/#objects.Option)\n to be initially selected when the element is first rendered.\n confirm: a `ConfirmationDialogue` object that will be presented when\n the menu is used.\n max_selected_items: the highest number of items from the list that\n can be selected at one time.\n focus_on_load: whether or not the menu will be set to autofocus\n within the view object.\n placeholder: a plain-text `Text` object (max 150 chars) that shows\n in the menu when it's initially rendered.\n\nThrows:\n InvalidUsageError: if any of the provided arguments fail validation."}
    + +## `ExternalSelectMenu` + +**Class** + +```python +ExternalSelectMenu(action_id: 'str', initial_option: 'Option | OptionGroup | None' = None, min_query_length: 'int | None' = None, confirm: 'ConfirmationDialogue | None' = None, focus_on_load: 'bool' = False, placeholder: 'TextLike | None' = None) -> 'None' +``` + +
    {"A select menu interactive UI element, sourced with externally provided options.\n\nSee:\n .\n\nArgs:\n action_id: an identifier so the source of the action can be known.\n initial_option: an\n [`Option`](/slackblocks/latest/reference/objects/#objects.Option) object that will be\n initially selected when first presented to the user.\n min_query_length: minimum number of characters entered before the query\n is dispactched (defaults to 3 if not provided).\n confirm: a `ConfirmationDialogue` object that will be presented when an\n option in the overflow menu is selected.\n focus_on_load: whether or not the input will be set to autofocus\n within the view object.\n placeholder: a plain-text `Text` object (max 150 chars) that shows\n in the input when it's initially rendered.\n\nThrows:\n InvalidUsageError: if any of the provided arguments fail validation."}
    + +## `FileInput` + +**Class** + +```python +FileInput(action_id: 'str | None' = None, filetypes: 'str | list[str] | None' = None, max_files: 'int | None' = None) -> 'None' +``` + +
    {"An interactive element that allows users to upload files.\n\nSee: .\n\nArgs:\n action_id: an identifier so the source of the action can be known.\n filetypes: a list of file extensions (as strings) that will be accepted\n for upload.\n max_files: the maximum number of files that can be uploaded (between 1\n and 10).\n\nThrows:\n InvalidUsageError: if any of the provided arguments fail validation."}
    + +## `Image` + +**Class** + +```python +Image(alt_text: 'str' = ' ', image_url: 'str | None' = None, slack_file: 'SlackFile | None' = None) -> 'None' +``` + +
    {"An element to insert an image - this element can be used in section\nand context blocks only. If you want a block with only an image in it,\nyou're looking for the Image block.\n\nYou must provide either one of `image_url` or `slack_file`\n\nSee: .\n\nArgs:\n alt_text: a plain-text-only summary of the content of the image.\n image_url: a URL for a publicly hosted image (the user must provide\n either `image_url` or `slack_file`).\n slack_file: a [`SlackFile`](/slackblocks/latest/reference/objects/#objects.SlackFile)\n (the user must provide either `image_url` or `slack_file`).\n\nThrows:\n InvalidUsageError: if any of the provided arguments fail validation,\n or both/neither of `image_url` and `slack_file` are provided."}
    + +## `NumberInput` + +**Class** + +```python +NumberInput(is_decimal_allowed: 'bool', action_id: 'str | None' = None, initial_value: 'str | None' = None, min_value: 'float | int | None' = None, max_value: 'float | int | None' = None, dispatch_action_config: 'DispatchActionConfiguration | None' = None, focus_on_load: 'bool' = False, placeholder: 'TextLike | None' = None) -> 'None' +``` + +
    {"This input elements accepts both integer and decimal numbers. For example,\n0.25, 5.5, and -10 are all valid input values.\n\nSee .\n\nArgs:\n is_decimal_allowed: whether to accept decimal values as input.\n action_id: an identifier so the source of the action can be known.\n initial_value: the initial value in the number input when it is loaded.\n min_value: minimum accepted value for the input field.\n max_value: maximum accepted value for the input field.\n dispatch_action_config: a `DispatchActionConfiguration` object that\n determines when during text input the element returns a\n `block_actions` payload.\n focus_on_load: whether or not the menu will be set to autofocus\n within the view object.\n placeholder: a plain-text `Text` object (max 150 chars) that shows\n in the input when it's initially rendered.\n\nThrows:\n InvalidUsageError: if any of the provided arguments fail validation."}
    + +## `OverflowMenu` + +**Class** + +```python +OverflowMenu(action_id: 'str', options: 'Option | list[Option]', confirm: 'ConfirmationDialogue | None' = None) -> 'None' +``` + +
    {"Context menu for additional options (think '...').\n\nSee .\n\nArgs:\n action_id: an identifier so the source of the action can be known.\n options: a list of\n [`Option`](/slackblocks/latest/reference/objects/#objects.Option) objects that will form\n the content of the overflow menu.\n confirm: a `ConfirmationDialogue` object that will be presented when an\n option in the overflow menu is selected.\n\nThrows:\n InvalidUsageError: if any of the provided arguments fail validation."}
    + +## `PlainTextInput` + +**Class** + +```python +PlainTextInput(action_id: 'str', initial_value: 'str | None' = None, multiline: 'bool' = False, min_length: 'int | None' = None, max_length: 'int | None' = None, dispatch_action_config: 'DispatchActionConfiguration | None' = None, focus_on_load: 'bool' = False, placeholder: 'TextLike | None' = None) -> 'None' +``` + +
    {"A plain-text input, similar to the HTML tag, creates a field where a user\ncan enter freeform data. It can appear as a single-line field or a larger text\narea using the multiline flag.\n\nSee: .\n\nArgs:\n action_id: an identifier so the source of the action can be known.\n initial_value: the initial value in the plain-text input when it is loaded.\n multiline: whether to accept multiple lines of input(defaults to false).\n min_length: minimum number of characters to accept as input.\n max_length: maximum number of characters to accept as input.\n dispatch_action_config: a `DispatchActionConfiguration` object that\n determines when during text input the element returns a\n `block_actions` payload.\n focus_on_load: whether or not the input will be set to autofocus\n within the view object.\n placeholder: a plain-text `Text` object (max 150 chars) that shows\n in the input when it's initially rendered.\n\nThrows:\n InvalidUsageError: if any of the provided arguments fail validation."}
    + +## `RadioButtonGroup` + +**Class** + +```python +RadioButtonGroup(action_id: 'str', options: 'list[Option]', initial_option: 'Option | None' = None, confirm: 'ConfirmationDialogue | None' = None, focus_on_load: 'bool' = False) -> 'None' +``` + +
    {"A radio button group that allows a user to choose one item from a list of possible options.\n\nSee: .\n\nArgs:\n action_id: an identifier so the source of the action can be known.\n options: a list of\n [`Option`](/slackblocks/latest/reference/objects/#objects.Option) objects that will form\n the content of the radio button group.\n initial_option: an\n [`Option`](/slackblocks/latest/reference/objects/#objects.Option) object that will be\n initially selected when first presented to the user.\n confirm: a `ConfirmationDialogue` object that will be presented when an\n option in the overflow menu is selected.\n focus_on_load: whether or not the input will be set to autofocus\n within the view object.\n\nThrows:\n InvalidUsageError: if any of the provided arguments fail validation."}
    + +## `RichTextInput` + +**Class** + +```python +RichTextInput(action_id: 'str', initial_value: 'RichText | None' = None, dispatch_action_config: 'DispatchActionConfiguration | None' = None, focus_on_load: 'bool' = False, placeholder: 'TextLike | None' = None) -> 'None' +``` + +
    {"Allows users to enter formatted text in a WYSIWYG editor, similar to the Slack\n messaging experience.\n\nSee: .\n\nArgs:\n action_id: an identifier so the source of the action can be known.\n initial_value: The initial value in the rich text input when it is loaded.\n dispatch_action_config: a `DispatchActionConfiguration` object that\n determines when during text input the element returns a\n `block_actions` payload.\n focus_on_load: whether or not the menu will be set to autofocus\n within the view object.\n placeholder: a plain-text `Text` object (max 150 chars) that shows\n in the menu when it's initially rendered.\n\nThrows:\n InvalidUsageError: if any of the provided arguments fail validation."}
    + +## `StaticMultiSelectMenu` + +**Class** + +```python +StaticMultiSelectMenu(action_id: 'str', options: 'Option | list[Option]', option_groups: 'OptionGroup | list[OptionGroup] | None' = None, initial_options: 'Option | list[Option] | OptionGroup | list[OptionGroup] | None' = None, confirm: 'ConfirmationDialogue | None' = None, max_selected_items: 'int | None' = None, focus_on_load: 'bool' = False, placeholder: 'TextLike | None' = None) -> 'None' +``` + +
    {"The most basic form of select menu containing a static list of options\npassed in when defining the element.\n\nSee: .\n\nArgs:\n action_id: an identifier so the source of the action can be known.\n options: a list of [`Options`](/slackblocks/latest/reference/objects/#objects.Option)\n (max 100). Only one of `options` or `option_groups` must be\n provided.\n option_groups: a list of\n [`OptionGroups`](/slackblocks/latest/reference/objects/#objects.OptionGroup)\n (max 100). Only one of `options` or `option_groups` can be\n provided.\n initial_options: the [`Options`](/slackblocks/latest/reference/objects/#objects.Option)\n to be initially selected when the element is first rendered.\n confirm: a `ConfirmationDialogue` object that will be presented when\n the menu is used.\n max_selected_items: the\n focus_on_load: whether or not the menu will be set to autofocus\n within the view object.\n placeholder: a plain-text `Text` object (max 150 chars) that shows\n in the menu when it's initially rendered.\n\nThrows:\n InvalidUsageError: if any of the provided arguments fail validation."}
    + +## `StaticSelectMenu` + +**Class** + +```python +StaticSelectMenu(action_id: 'str', options: 'list[Option] | None' = None, option_groups: 'list[OptionGroup] | None' = None, initial_option: 'Option | OptionGroup | None' = None, confirm: 'ConfirmationDialogue | None' = None, focus_on_load: 'bool' = False, placeholder: 'TextLike | None' = None) -> 'None' +``` + +
    {"A simple select menu interactive UI element, with a static list of options passed in when\n defining the element.\n\nSee: .\n\nArgs:\n action_id: an identifier so the source of the action can be known.\n options: a list of\n [`Option`](/slackblocks/latest/reference/objects/#objects.Option) objects that will form\n the content of the menu (max 100).\n option_groups: a list of\n [`OptionGroups`](/slackblocks/latest/reference/objects/#objects.OptionGroup)\n (max 100). Only one of `options` or `option_groups` can be\n provided.\n initial_option: an\n [`Option`](/slackblocks/latest/reference/objects/#objects.Option) object that will be\n initially selected when first presented to the user.\n confirm: a `ConfirmationDialogue` object that will be presented when an\n option in the overflow menu is selected.\n focus_on_load: whether or not the input will be set to autofocus\n within the view object.\n placeholder: a plain-text `Text` object (max 150 chars) that shows\n in the input when it's initially rendered.\n\nThrows:\n InvalidUsageError: if any of the provided arguments fail validation."}
    + +## `TimePicker` + +**Class** + +```python +TimePicker(action_id: 'str', initial_time: 'str | None' = None, confirm: 'ConfirmationDialogue | None' = None, focus_on_load: 'bool' = False, placeholder: 'TextLike | None' = None, timezone: 'str | None' = None) -> 'None' +``` + +
    {"An interactive UI element that allows users to select a time of day.\n\nSee: .\n\nArgs:\n action_id: an identifier so the source of the action can be known.\n initial_time:\n confirm: a `ConfirmationDialogue` object that will be presented when\n the input field is used.\n focus_on_load: whether or not the menu will be set to autofocus\n within the view object.\n placeholder: a plain-text `Text` object (max 150 chars) that shows\n in the menu when it's initially rendered.\n timezone: a string in the IANA format, e.g. \"America/Chicago\".\n\nThrows:\n InvalidUsageError: if any of the provided arguments fail validation."}
    + +## `URLInput` + +**Class** + +```python +URLInput(action_id: 'str', initial_value: 'str | None' = None, dispatch_action_config: 'DispatchActionConfiguration | None' = None, focus_on_load: 'bool' = False, placeholder: 'TextLike | None' = None) -> 'None' +``` + +
    {"An interactive UI element for collecting URL input from users.\n\nSee: .\n\nArgs:\n action_id: an identifier so the source of the action can be known.\n initial_value: the text to populate the input field with when it\n is first rendered.\n dispatch_action_config: a `DispatchActionConfiguration` object that\n determines when during text input the element returns a\n `block_actions` payload.\n focus_on_load: whether or not the menu will be set to autofocus\n within the view object.\n placeholder: a plain-text `Text` object (max 150 chars) that shows\n in the input when it's initially rendered.\n\nThrows:\n InvalidUsageError: if any of the provided arguments fail validation."}
    + +## `UserMultiSelectMenu` + +**Class** + +```python +UserMultiSelectMenu(action_id: 'str', initial_users: 'list[str] | None' = None, confirm: 'ConfirmationDialogue | None' = None, max_selected_items: 'int | None' = None, focus_on_load: 'bool' = False, placeholder: 'TextLike | None' = None) -> 'None' +``` + +
    {"This interactive UI element allows users to select multiple users visible\n to the current user in the active workspace.\n\nSee: .\n\nArgs:\n action_id: an identifier so the source of the action can be known.\n initial_users: a list of string user IDs to be initially selected\n when the element is first rendered.\n confirm: a `ConfirmationDialogue` object that will be presented when\n the menu is used.\n max_selected_items: the highest number of items from the list that\n can be selected at one time.\n focus_on_load: whether or not the menu will be set to autofocus\n within the view object.\n placeholder: a plain-text `Text` object (max 150 chars) that shows\n in the menu when it's initially rendered.\n\nThrows:\n InvalidUsageError: if any of the provided arguments fail validation."}
    + +## `UserSelectMenu` + +**Class** + +```python +UserSelectMenu(action_id: 'str', initial_user: 'str | None' = None, confirm: 'ConfirmationDialogue | None' = None, focus_on_load: 'bool' = False, placeholder: 'TextLike | None' = None) -> 'None' +``` + +
    {"A select menu interactive UI element, sourced automatically with Slack users from the\n current workspace visible to the current user.\n\nSee: .\n\nArgs:\n action_id: an identifier so the source of the action can be known.\n initial_user: the single (string) user ID that will be initially selected\n when first presented to the user.\n confirm: a `ConfirmationDialogue` object that will be presented when an\n option in the overflow menu is selected.\n focus_on_load: whether or not the input will be set to autofocus\n within the view object.\n placeholder: a plain-text `Text` object (max 150 chars) that shows\n in the input when it's initially rendered.\n\nThrows:\n InvalidUsageError: if any of the provided arguments fail validation."}
    + +## `WorkflowButton` + +**Class** + +```python +WorkflowButton(text: 'TextLike', workflow: 'Workflow | None' = None, style: 'ButtonStyleLike | None' = , accessibility_label: 'str | None' = None) -> 'None' +``` + +
    {"An interactive component that allows users to run a link trigger with\n customizable inputs.\n\nSee: .\n\nArgs:\n text: the text content that will appear in the button.\n workflow: a [`Workflow`](/slackblocks/latest/reference/objects/#objects.Workflow) object\n that contains details about the workflow that will run when the\n button is clicked.\n style: one of `Default`, `Primary`, or `Danger`, determines the\n visual style of the button. Consider using the `ButtonStyle`\n object for this.\n accessibility_label: a string label for longer descriptive text about\n a button element. Used by screen readers (max 75 chars).\n\nThrows:\n InvalidUsageError: if any of the provided arguments fail validation."}
    diff --git a/docs/versioned_docs/version-1.0/reference/python/errors.mdx b/docs/versioned_docs/version-1.0/reference/python/errors.mdx new file mode 100644 index 00000000..e4299119 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/python/errors.mdx @@ -0,0 +1,61 @@ +# Errors + +## `InvalidUsageError` + +**Class** + +```python +InvalidUsageError(message: 'str') -> 'None' +``` + +
    {"You have violated the `slackblocks` API or Slack Web API in a way\n that has been caught by validation checks.\n\nAll more-specific validation exceptions raised by ``slackblocks``\nsubclass this exception, so ``except InvalidUsageError`` catches every\nlibrary-raised validation failure.\n\nArgs:\n message: a custom error message providing details of the API\n violation."}
    + +## `LengthError` + +**Class** + +```python +LengthError(message: 'str') -> 'None' +``` + +
    {"A string or list length is outside the allowed bounds for a field.\n\nTypical sources: a ``Text`` body longer than the Slack-enforced limit,\nan option list with too many entries, an ``action_id`` over 255\ncharacters, etc."}
    + +## `MissingRequiredError` + +**Class** + +```python +MissingRequiredError(message: 'str') -> 'None' +``` + +
    {"At least one of a set of arguments was required, but none was provided.\n\nTypical sources: ``ConversationFilter`` invoked with none of its three\nfilter fields set; ``SectionBlock`` invoked with neither ``text`` nor\n``fields``."}
    + +## `MutualExclusivityError` + +**Class** + +```python +MutualExclusivityError(message: 'str') -> 'None' +``` + +
    {"Two arguments that must not both be set were both set.\n\nTypical sources: passing both ``image_url`` and ``slack_file`` to\n``Image``; passing both ``options`` and ``option_groups`` to a\n``StaticSelectMenu``; passing both ``url`` and ``id`` to ``SlackFile``."}
    + +## `RangeError` + +**Class** + +```python +RangeError(message: 'str') -> 'None' +``` + +
    {"A numeric value is outside the allowed bounds for a field.\n\nTypical sources: ``NumberInput.min_value > max_value``, integer\narguments outside an enforced ``min_value`` / ``max_value`` range."}
    + +## `TypeMismatchError` + +**Class** + +```python +TypeMismatchError(message: 'str') -> 'None' +``` + +
    {"An argument is of the wrong type or an unexpected discrete value.\n\nTypical sources: passing a non-``Option`` element into a list expected\nto hold ``Option`` instances; supplying a colour string that is neither\na hex code nor a ``Color`` enum; supplying a string outside an\nenumerated set (e.g. ``ColumnSettings.align='banana'``)."}
    diff --git a/docs/versioned_docs/version-1.0/reference/python/index.mdx b/docs/versioned_docs/version-1.0/reference/python/index.mdx new file mode 100644 index 00000000..1d950208 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/python/index.mdx @@ -0,0 +1,14 @@ +# Python API reference + +98 public symbols are documented. + +- [Attachments](/reference/python/attachments) +- [Blocks](/reference/python/blocks) +- [Utilities](/reference/python/builder) +- [Elements](/reference/python/elements) +- [Errors](/reference/python/errors) +- [Messages](/reference/python/messages) +- [Modals](/reference/python/modals) +- [Composition objects](/reference/python/objects) +- [Rich text](/reference/python/rich_text) +- [Views](/reference/python/views) diff --git a/docs/versioned_docs/version-1.0/reference/python/messages.mdx b/docs/versioned_docs/version-1.0/reference/python/messages.mdx new file mode 100644 index 00000000..f09ccd61 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/python/messages.mdx @@ -0,0 +1,41 @@ +# Messages + +## `Message` + +**Class** + +```python +Message(channel: 'str', text: 'str | None' = '', blocks: 'list[Block] | Block | None' = None, attachments: 'list[Attachment] | None' = None, thread_ts: 'str | None' = None, mrkdwn: 'bool' = True, unfurl_links: 'bool | None' = None, unfurl_media: 'bool | None' = None) -> 'None' +``` + +
    {"A Slack message object that can be converted to a JSON string for use with\nthe Slack message API.\n\nArgs:\n channel: the Slack channel to send the message to, e.g. \"#general\".\n text: markdown text to send in the message. If `blocks` are provided\n then this is a fallback to display in notifications.\n blocks: a list of [`Blocks`](/slackblocks/latest/reference/blocks) to form the contents\n of the message instead of the contents of `text`.\n attachments: a list of\n [`Attachments`](/slackblocks/latest/reference/attachments/#attachments.Attachment)\n that form the secondary contents of the message (deprecated).\n thread_ts: the timestamp ID of another unthreaded message that will\n become the parent message of this message (now a reply in a thread).\n mrkdwn: if `True` the contents of `text` will be rendered as markdown\n rather than plain text.\n unfurl_links: if `True`, links in the message will be automatically\n unfurled.\n unfurl_media: if `True`, media from links (e.g. images) will\n automatically unfurl.\nThrows:\n InvalidUsageException: in the event that the items passed to `blocks`\n are not valid [`Blocks`](/slackblocks/latest/reference/blocks)."}
    + +## `MessageResponse` + +**Class** + +```python +MessageResponse(text: 'str | None' = '', blocks: 'list[Block] | Block | None' = None, attachments: 'list[Attachment] | None' = None, thread_ts: 'str | None' = None, mrkdwn: 'bool' = True, replace_original: 'bool' = False, ephemeral: 'bool' = False) -> 'None' +``` + +
    {"A required, immediate response that confirms your app received the payload."}
    + +## `ResponseType` + +**Class** + +```python +ResponseType(*values) +``` + +
    {"Types of messages that can be sent via `WebhookMessage`."}
    + +## `WebhookMessage` + +**Class** + +```python +WebhookMessage(text: 'str | None' = None, attachments: 'Attachment | list[Attachment] | None' = None, blocks: 'Block | list[Block] | None' = None, response_type: 'ResponseType | str | None' = None, replace_original: 'bool | None' = None, delete_original: 'bool | None' = None, unfurl_links: 'bool | None' = None, unfurl_media: 'bool | None' = None, metadata: 'dict[str, Any] | None' = None, headers: 'dict[str, str] | None' = None) -> 'None' +``` + +
    {"Messages sent via the Slack `WebhookClient` takes different arguments than\n those sent via the regular `WebClient`.\n\nSee: \n\nArgs:\n text: markdown text to send in the message. If `blocks` are provided\n then this is a fallback to display in notifications.\n attachments: a list of\n [`Attachments`](/slackblocks/latest/reference/attachments/#attachments.Attachment)\n that form the secondary contents of the message (deprecated).\n blocks: a list of [`Blocks`](/slackblocks/latest/reference/blocks) to form the contents\n of the message instead of the contents of `text`.\n response_type: one of `ResponseType.EPHEMERAL` or `ResponseType.IN_CHANNEL`.\n Ephemeral messages are shown only to the requesting user whereas\n \"in-channel\" messages are shown to all channel participants.\n replace_original: when `True`, the message triggering this response will be\n replaced by this message. Mutually exclusive with `delete_original`.\n delete_original: when `True`, the original message triggering this response\n will be deleted, and any content of this message will be posted as a\n new message. Mutually exclusive with `replace_original`.\n unfurl_links: if `True`, links in the message will be automatically\n unfurled.\n unfurl_media: if `True`, media from links (e.g. images) will\n automatically unfurl.\n metadata: additional metadata to attach to the message.\n headers: HTTP request headers to include with the message.\n\nThrows:\n InvalidUsageError: when any of the passed fields fail validation."}
    diff --git a/docs/versioned_docs/version-1.0/reference/python/modals.mdx b/docs/versioned_docs/version-1.0/reference/python/modals.mdx new file mode 100644 index 00000000..eaf15825 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/python/modals.mdx @@ -0,0 +1,11 @@ +# Modals + +## `Modal` + +**Class** + +```python +Modal(title: 'TextLike', blocks: 'Block | list[Block]', close: 'TextLike | None' = None, submit: 'TextLike | None' = None, private_metadata: 'str | None' = None, callback_id: 'str | None' = None, clear_on_close: 'bool | None' = False, notify_on_close: 'bool | None' = False, external_id: 'str | None' = None, submit_disabled: 'bool | None' = False) -> 'None' +``` + +
    {"Kept for backwards compatibility - see\n [`ModalView`](/slackblocks/latest/reference/views/#views.ModalView)"}
    diff --git a/docs/versioned_docs/version-1.0/reference/python/objects.mdx b/docs/versioned_docs/version-1.0/reference/python/objects.mdx new file mode 100644 index 00000000..2eb861a6 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/python/objects.mdx @@ -0,0 +1,291 @@ +# Composition objects + +## `ColumnSettings` + +**Class** + +```python +ColumnSettings(align: 'ColumnAlignment | None' = None, is_wrapped: 'bool | None' = None) -> 'None' +``` + +
    {"An object that defines the settings for a column in a `Table` block.\n\nArgs:\n align: the alignment of the column, one of `left`, `center`, or `right`.\n is_wrapped: whether the text in the column should be wrapped."}
    + +## `Confirm` + +**Class** + +```python +Confirm(*args, **kwargs) -> 'None' +``` + +
    {"Alias for `ConfirmationDialogue` to retain backwards compatibility.\n\nSee:\n [`ConfirmationDialogue`](/slackblocks/latest/reference/objects/#objects.ConfirmationDialogue)."}
    + +## `ConfirmationDialogue` + +**Class** + +```python +ConfirmationDialogue(title: 'TextLike', text: 'TextLike', confirm: 'TextLike', deny: 'TextLike') -> 'None' +``` + +
    {"An object that defines a dialog that provides a confirmation step\nto any interactive element. This dialog will ask the user to confirm\ntheir action by offering confirm and deny buttons.\n\nArgs:\n title: the text heading presented at the top of the dialogue box (max 100 chars).\n text: the text explaining the decision being made by the user through\n the dialogue box (max 300 chars).\n confirm: the text inside the confirmation button of the dialogue box (max 30 chars).\n deny: the text inside the deny button of the dialogue box (max 30 chars).\n\nThrows:\n InvalidUsageError: if any of the arguments fail to pass validation checks."}
    + +## `ConversationFilter` + +**Class** + +```python +ConversationFilter(include: 'ConversationType | list[ConversationType] | None' = None, exclude_external_shared_channels: 'bool | None' = None, exclude_bot_users: 'bool | None' = None) -> 'None' +``` + +
    {"Provides a way to filter the list of options in a conversations select menu or\nconversations multi-select menu.\n\nSee: .\n\nAt least one of the available arguments _must_ be provided.\n\nArgs:\n include: Which types of conversations to include in the list.\n One of more of `im`, `mpim`, `private`, `public`.\n exclude_external_shared_channels: whether to remove shared public channels\n from the list. See .\n exclude_bot_users: whether to remove bot users from the list of conversations.\n\nThrows:\n InvalidUsageException: in the event that the user provides none of `include`,\n `exclude_external_shared_channels`, or `exclude_bot_users` arguments."}
    + +## `DispatchActionConfiguration` + +**Class** + +```python +DispatchActionConfiguration(trigger_actions_on: 'str | list[str] | None' = None) -> 'None' +``` + +
    {"Determines when a plain-text input element will return a `block_action`s interaction payload.\n\nArgs:\n trigger_actions_on: a list of strings representing interaction types that should return\n a `block_actions` payload. One or both of `on_enter_pressed`, `on_character_entered`.\n\nThrows:\n InvalidUsageError: if an invalid value is provided amongst the options for\n `trigger_actions_on`."}
    + +## `InputParameter` + +**Class** + +```python +InputParameter(name: 'str', value: 'str') -> 'None' +``` + +
    {"Contains information about an input parameter.\n\nSee .\n\nArgs:\n name: the name of the input parameter.\n value: the value associated with the input parameter."}
    + +## `Markdown` + +**Class** + +```python +Markdown(text: 'str', verbatim: 'bool' = False) -> 'None' +``` + +
    {"Convenience wrapper for `Text` with `type_=TextType.MARKDOWN`.\n\n`Markdown(\"_italic_\", verbatim=True)` is equivalent to\n`Text(\"_italic_\", type_=TextType.MARKDOWN, verbatim=True)`. Anywhere a\n`Text` or `TextLike` is accepted, a `Markdown` works because `Markdown`\nis a subclass of `Text`. The rendered JSON is identical to the\nequivalent `Text` call.\n\nArgs:\n text: the markdown-formatted text to render (1-3000 characters).\n verbatim: if `True`, links, channel names, and user names are\n rendered verbatim rather than as Slack-style references.\n\nThrows:\n LengthError: if the provided `text` is empty or too long."}
    + +## `Option` + +**Class** + +```python +Option(text: 'TextLike', value: 'str', description: 'TextLike | None' = None, url: 'str | None' = None) -> 'None' +``` + +
    {"An object that represents a single selectable item in a select menu, multi-select\nmenu, checkbox group, radio button group, or overflow menu.\n\nSee .\n\nArgs:\n text: the text identifying the option (that the user will see).\n value: the underlying value of that option (not seen by the user).\n description: a more detailed explanation of what the option means (user-facing).\n url: a URL to load in the user's browser when the option is clicked.\n Only available in `OverflowMenus`.\n\nThrows:\n InvalidUsageError: when any of the provided arguments fail validation."}
    + +## `OptionGroup` + +**Class** + +```python +OptionGroup(label: 'TextLike', options: 'list[Option]') -> 'None' +``` + +
    {"Provides a way to group options in a select menu or multi-select menu.\n\nSee .\n\nArgs:\n label: a label shown above the group of options.\n options: a list of `Option` objects that will form the contents of the group (max 100).\n\nThrows:\n InvalidUsageError: if no options are provided or the label is not valid."}
    + +## `PlainText` + +**Class** + +```python +PlainText(text: 'str', emoji: 'bool' = False) -> 'None' +``` + +
    {"Convenience wrapper for `Text` with `type_=TextType.PLAINTEXT`.\n\n`PlainText(\"Hi\", emoji=True)` is equivalent to\n`Text(\"Hi\", type_=TextType.PLAINTEXT, emoji=True)`. Anywhere a `Text` or\n`TextLike` is accepted, a `PlainText` works because `PlainText` is a\nsubclass of `Text`. The rendered JSON is identical to the equivalent\n`Text` call.\n\nArgs:\n text: the text to render (1-3000 characters).\n emoji: if `True`, emoji (e.g. `:smile:`) are escaped into Unicode.\n\nThrows:\n LengthError: if the provided `text` is empty or too long."}
    + +## `RawText` + +**Class** + +```python +RawText(text: 'str', emoji: 'bool' = False) -> 'None' +``` + +
    {"An object containing some text, formatted as `raw_text` for use in\n`Table` blocks.\n\nArgs:\n text: the text to be rendered in a message.\n emoji: only usable with `TextType.PLAINTEXT`, if True: emoji will be\n escaped into text format (e.g. `:smile:`).\n\nThrows:\n InvalidUsageException: if the provided `text` fails validation."}
    + +## `SlackFile` + +**Class** + +```python +SlackFile(url: 'str | None', id: 'str | None') -> 'None' +``` + +
    {"Defines an object containing Slack file information to be used in an image\n block or image element.\n\nThis file must be an image and you must provide either the URL or ID (not both).\n\nSee: .\n\nArgs:\n url: the URL can be the `url_private` or the `permalink` of the Slack file\n (only one of `url` or `id` can be provided).\n id: the Slack ID of the file\n (only one of `url` or `id` can be provided).\n\nThrows:\n InvalidUsageError: if both `url` and `id` are provided"}
    + +## `Text` + +**Class** + +```python +Text(text: 'str', type_: 'TextType' = , emoji: 'bool' = False, verbatim: 'bool' = False) -> 'None' +``` + +
    {"An object containing some text, formatted either as `plain_text` or using\nSlack's `mrkdwn`.\n\nArgs:\n text: the text to be rendered in a message (max 3000 characters).\n type_: either `TextType.MARKDOWN` or `TextType.PLAINTEXT`.\n emoji: only usable with `TextType.PLAINTEXT`, if True: emoji will be\n escaped into text format (e.g. `:smile:`).\n verbatim: only usable with `TextType.MARKDOWN`, if True: links, channel\n names, user names will not automatically be rendered as links.\n\nThrows:\n InvalidUsageException: if the provided `text` fails validation."}
    + +## `TextType` + +**Class** + +```python +TextType(*values) +``` + +
    {"Allowable types for Slack Text objects.\n\nMARKDOWN: traditional markdown formatting, see\n \nPLAINTEXT: simple Unicode text with no formatting (e.g. bold) features.\n\nN.B: some usages of Text objects only allow the `PLAINTEXT` variety."}
    + +## `Trigger` + +**Class** + +```python +Trigger(url: 'str', customizable_input_parameters: 'InputParameter | list[InputParameter] | None') -> 'None' +``` + +
    {"Contains information about a trigger.\n\nSee: .\n\nArgs:\n url: a link trigger URL, see\n \n customizable_input_parameters: a list of `InputParameter` objects\n which map to those parameters defined on the Workflow in\n which they are provided.\n\nThrows:\n InvalidUsageError: when any of the items in\n `customizable_input_parameters` is not a valid `InputParameter`."}
    + +## `Workflow` + +**Class** + +```python +Workflow(trigger: 'Trigger') -> 'None' +``` + +
    {"Contains information about a workflow.\n\nSee .\n\nArgs:\n trigger: a `Trigger` object that will initiate the workflow."}
    + +## `annotations` + +**Value** + +```python +annotations +``` + +
    {"No public documentation is available."}
    + +## `attachments` + +**Value** + +```python +attachments +``` + +
    {"Secondary (less important) content can be attached using the deprecated\nattachments API.\n\nSee: ."}
    + +## `blocks` + +**Value** + +```python +blocks +``` + +
    {"Blocks are a series of container components that can be combined to create rich and\ninteractive messages.\n\nSee: ."}
    + +## `builder` + +**Value** + +```python +builder +``` + +
    {"Utilities for working with Slack's [Block Kit Builder](https://app.slack.com/block-kit-builder).\n\nThe Builder accepts a URL of the form ``https://app.slack.com/block-kit-builder/#``\nwhere ```` is a URL-encoded JSON payload (typically ``{\"blocks\": [...]}``).\n``block_kit_builder_url`` constructs such a URL from any of the shapes the\nrest of this library renders."}
    + +## `elements` + +**Value** + +```python +elements +``` + +
    {"Block elements can be used inside of section, context, input, and actions layout blocks.\n\nSee: "}
    + +## `errors` + +**Value** + +```python +errors +``` + +
    {"Custom error classes for clearer error reporting.\n\n``InvalidUsageError`` is the base type. The five subclasses below are raised\nin well-defined situations so consumer code can ``except`` for a specific\nfailure category. All subclasses are instances of ``InvalidUsageError``, so\nexisting code that does ``except InvalidUsageError`` continues to work\nunchanged.\n\n| Subclass | Raised when |\n| ------------------------- | -------------------------------------------------------- |\n| ``LengthError`` | A string or list violates a min/max-length constraint. |\n| ``RangeError`` | A numeric value violates a min/max-value constraint. |\n| ``TypeMismatchError`` | An argument is of the wrong type or unexpected value. |\n| ``MutualExclusivityError``| Two arguments that must not both be set were both set. |\n| ``MissingRequiredError`` | At least one of a set of arguments was required, but |\n| | none was provided. |"}
    + +## `messages` + +**Value** + +```python +messages +``` + +
    {"Messages are the core unit of Slack messaging functionality. They can be\nbuilt out using blocks, elements, objects, and rich text features.\n\nSee: "}
    + +## `modals` + +**Value** + +```python +modals +``` + +
    {"Modals are pop-up windows, primarily used for collecting data from\nusers.\n\nThis module is kept only for backwards compatibility, modals have\nbeen largely subsumed as a subtype of view.\n\nSee: "}
    + +## `name` + +**Value** + +```python +name +``` + +
    {"str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'."}
    + +## `objects` + +**Value** + +```python +objects +``` + +
    {"Composition objects are the lowest-level primitives used inside of Block objects.\n\nSee: ."}
    + +## `rich_text` + +**Value** + +```python +rich_text +``` + +
    {"Rich Text elements can be used to enhance text-based messages with\ncode, list, quotations and formatted text (including options not\navailable in traditional markdown like strikethrough).\n\nThese formatting elements can only be used within a\n[`RichTextBlock`](/slackblocks/reference/blocks/#blocks.RichTextBlock).\n\nSee: ."}
    + +## `utils` + +**Value** + +```python +utils +``` + +
    {"This module collects various utility functions used for validating\nthe input to `Messages`, `Blocks`, `Elements` and `Objects`."}
    + +## `views` + +**Value** + +```python +views +``` + +
    {"Views are app-customized visual areas within modals and Home tabs.\n\nSee: ."}
    diff --git a/docs/versioned_docs/version-1.0/reference/python/rich_text.mdx b/docs/versioned_docs/version-1.0/reference/python/rich_text.mdx new file mode 100644 index 00000000..96a7a9d1 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/python/rich_text.mdx @@ -0,0 +1,121 @@ +# Rich text + +## `RichText` + +**Class** + +```python +RichText(text: 'str', bold: 'bool | None' = None, italic: 'bool | None' = None, strike: 'bool | None' = None, code: 'bool | None' = None) -> 'None' +``` + +
    {"The core unit of the rich text API. Allows for the formatting of text\n with visual styles like bolding, italics and strikethroughs.\n Combined with higher-level containers like `RichTextSection`,\n `RichText` can be used to create complicated and deeply nested\n rich text within Slack messages.\n\nArgs:\n text: the text content to render.\n bold: whether to render the given text in bold font.\n italic: whether to render the given text in italics.\n strike: whether to render the given text with a \"strikethrough\".\n code: whether to render the given text as an inline code snippet\n (monospaced)."}
    + +## `RichTextChannel` + +**Class** + +```python +RichTextChannel(channel_id: 'str', bold: 'bool | None' = None, italic: 'bool | None' = None, strike: 'bool | None' = None, highlight: 'bool | None' = None, client_highlight: 'bool | None' = None, unlink: 'bool | None' = None) -> 'None' +``` + +
    {"Rich text rendering of a Slack channel (e.g. #general).\n\nSee: \n\nArgs:\n channel_id: the ID of the channel to render. You can get this from\n the channel settings or the URL (if using Slack in the browser).\n bold: whether to render the given channel in bold font.\n italic: whether to render the given channel in italics.\n strike: whether to render the given channel with a \"strikethrough\".\n highlight: whether to give the channel a distinct highlight when rendered.\n client_highlight: a Slack-internal rendering hint accompanying\n mention-style elements. Rarely needed by app developers; pass\n ``None`` (the default) unless you have a specific reason to set\n it.\n unlink: whether to remove the link to the channel from the channel when\n rendered."}
    + +## `RichTextCodeBlock` + +**Class** + +```python +RichTextCodeBlock(elements: 'RichTextElement | list[RichTextElement]', border: 'int | None' = None) -> 'None' +``` + +
    {"A rich text element for representing blocks of code in\n [`RichTextBlocks`](/slackblocks/latest/reference/blocks/#blocks.RichTextBlock).\n\nThis is roughly equivalent to the triple-backtick ```code``` syntax in markdown.\n\nSee: .\n\nArgs:\n elements: one or more rich text primitive objexts\n (e.g. [`RichText`](/slackblocks/latest/reference/rich_text/#rich_text.RichText)).\n border: the thickness (in pixels) of the border around the code block.\n\nThrows:\n InvalidUsageError: if any of the items in `elements` aren't valid rich\n text elements."}
    + +## `RichTextElement` + +**Class** + +```python +RichTextElement(type_: 'RichTextElementType') -> 'None' +``` + +
    {"Abstract base class for all rich text element classes.\n\nThese are the primitives that form the basis of rich text objects and\nthe [`RichTextBlock`](/slackblocks/latest/reference/blocks/#blocks.RichTextBlock)."}
    + +## `RichTextEmoji` + +**Class** + +```python +RichTextEmoji(name: 'str') -> 'None' +``` + +
    {"A rich text element for displaying an emoji.\n\nThe emoji can either be one built in to Slack or a custom workspace emoji.\n\nSee: \n\nArgs:\n name: the unique name of the emoji to represent e.g. \"wave\".\n\nThrows:\n InvalidUsageError: if the emoji `name` provided is empty."}
    + +## `RichTextLink` + +**Class** + +```python +RichTextLink(url: 'str', text: 'str | None' = None, unsafe: 'bool | None' = None, bold: 'bool | None' = None, italic: 'bool | None' = None, strike: 'bool | None' = None, code: 'bool | None' = None) -> 'None' +``` + +
    {"A rich text primitive to display links in text.\n\nSee: \n\nArgs:\n url: the url which the link will point to.\n text: the text to render with the link. If not provided, the raw URL\n will be used.\n unsafe: whether the link is \"safe\".\n bold: whether to render the given text in bold font.\n italic: whether to render the given text in italics.\n strike: whether to render the given text with a \"strikethrough\".\n code: whether to render the given text as an inline code snippet\n (monospaced)."}
    + +## `RichTextList` + +**Class** + +```python +RichTextList(style: 'str | ListType', elements: 'RichTextSection | list[RichTextSection]', indent: 'int | None' = None, offset: 'int | None' = 0, border: 'int | None' = 0) -> 'None' +``` + +
    {"Renders to a HTML list containing rich text elements.\n\nSee: .\n\nArgs:\n style: one of `ListType.BULLET` or `ListType.ORDERED`.\n elements: a list of (possibly nested) `RichTextSection` elements.\n Each object in this list will be rendered as a list item.\n indent: indent (in pixels) of each list item.\n offset: offset (in pixels) of each list item.\n border: thickness (in pixels) of the (optional) border around the list.\n\nThrows:\n InvalidUsageError: if style is not a valid `ListType` or any of the\n items in `elements` isn't a valid `RichTextSection`."}
    + +## `RichTextObject` + +**Class** + +```python +RichTextObject(type_: 'RichTextObjectType') -> 'None' +``` + +
    {"Abstract class housing shared functionality of RichTextObjects.\n\nArgs:\n type_: the type of rich text object this class is, from\n `RichTextObjectType`."}
    + +## `RichTextQuote` + +**Class** + +```python +RichTextQuote(elements: 'RichTextElement | list[RichTextElement]', border: 'int | None' = None) -> 'None' +``` + +
    {"A rich text object for representing a block quote.\n\nBlock quotes are presented with a vertical bar to the left hand side of\n the text.\n\nSee: \n\nArgs:\n elements: one or more rich text primitive objexts\n (e.g. [`RichText`](/slackblocks/latest/reference/rich_text/#rich_text.RichText)).\n border: the thickness (in pixels) of the border around the code block."}
    + +## `RichTextSection` + +**Class** + +```python +RichTextSection(elements: 'RichTextElement | list[RichTextElement]') -> 'None' +``` + +
    {"The most basic rich text container object, which takes rich text elements\n and renders them when `RichTextSection` is passed to a\n [`RichTextBlock`](/slackblocks/latest/reference/blocks/#blocks.RichTextBlock).\n\nSee: .\n\nArgs:\n elements: one or more rich text elements that will form the content of the section.\n e.g. `RichText`, `RichTextLink`.\n\nThrows:\n InvalidUsageError: if any of the items passed to `elements` isn't a valid\n `RichTextObject`."}
    + +## `RichTextUser` + +**Class** + +```python +RichTextUser(user_id: 'str', bold: 'bool | None' = None, italic: 'bool | None' = None, strike: 'bool | None' = None, highlight: 'bool | None' = None, client_highlight: 'bool | None' = None, unlink: 'bool | None' = None) -> 'None' +``` + +
    {"Rich text element for representing users in\n [`RichTextBlocks`](/slackblocks/latest/reference/blocks/#blocks.RichTextBlock).\n\nSee: .\n\nArgs:\n user_id: the Slack ID of the user in question, you can get these\n from users' profiles or Slack client requests.\n bold: whether to render the given user in bold font.\n italic: whether to render the given user in italics.\n strike: whether to render the given user with a \"strikethrough\".\n highlight: whether to give the user a distinct highlight when rendered.\n client_highlight: a Slack-internal rendering hint accompanying\n mention-style elements. Rarely needed by app developers; pass\n ``None`` (the default) unless you have a specific reason to set\n it.\n unlink: whether to remove the link to the user from the channel when\n rendered."}
    + +## `RichTextUserGroup` + +**Class** + +```python +RichTextUserGroup(user_group_id: 'str', bold: 'bool | None' = None, italic: 'bool | None' = None, strike: 'bool | None' = None, highlight: 'bool | None' = None, client_highlight: 'bool | None' = None, unlink: 'bool | None' = None) -> 'None' +``` + +
    {"Rich text element for representing groups of users in\n [`RichTextBlocks`](/slackblocks/latest/reference/blocks/#blocks.RichTextBlock)`.\n\nSee: .\n\nArgs:\n user_group_id: the Slack ID of the user group being represented.\n bold: whether to render the given user in bold font.\n italic: whether to render the given user in italics.\n strike: whether to render the given user with a \"strikethrough\".\n highlight: whether to give the user a distinct highlight when rendered.\n client_highlight: a Slack-internal rendering hint accompanying\n mention-style elements. Rarely needed by app developers; pass\n ``None`` (the default) unless you have a specific reason to set\n it.\n unlink: whether to remove the link to the user from the channel when\n rendered."}
    diff --git a/docs/versioned_docs/version-1.0/reference/python/views.mdx b/docs/versioned_docs/version-1.0/reference/python/views.mdx new file mode 100644 index 00000000..909dbd78 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/python/views.mdx @@ -0,0 +1,31 @@ +# Views + +## `HomeTabView` + +**Class** + +```python +HomeTabView(blocks: 'Block | list[Block]', private_metadata: 'str | None' = None, callback_id: 'str | None' = None, external_id: 'str | None' = None) -> 'None' +``` + +
    {"`HomeTabViews` are used with the `views.publish` Web API method.\n\nSee: .\n\nArgs:\n blocks: A list of blocks that defines the content of the view (max 100).\n private_metadata: a string (max 3000 chars) that will be sent to your app\n in `view_submission`.\n callback_id: A string that will identify submissions of this view.\n external_id: A custom identifier that is unique within the views of a\n given Slack team."}
    + +## `ModalView` + +**Class** + +```python +ModalView(title: 'TextLike', blocks: 'Block | list[Block]', close: 'TextLike | None' = None, submit: 'TextLike | None' = None, private_metadata: 'str | None' = None, callback_id: 'str | None' = None, clear_on_close: 'bool | None' = False, notify_on_close: 'bool | None' = False, external_id: 'str | None' = None, submit_disabled: 'bool | None' = False) -> 'None' +``` + +
    {"Modal views are used with the `views.open`, `views.update` and `views.push`\n Slack Web API methods.\n\nSee: \n\nArgs:\n title: heading that appears at the top left of the view.\n blocks: a list of blocks (max 100) that define the content of the view.\n close: the text of the close button (max 24 chars) in the view.\n Must be `Text.PLAINTEXT`.\n submit: the text of the submit button (max 24 chars) in the view.\n Must be `Text.PLAINTEXT`.\n private_metadata: a string (max 3000 chars) that will be sent to your app\n in `view_submission`.\n callback_id: A string that will identify submissions of this view.\n clear_on_close: when `True` all views in the model will be cleared when\n it is closed.\n notify_on_close: when `True` a `view_closed` event will be sent when the\n modal is closed.\n external_id: A custom identifier that is unique within the views of a\n given Slack team.\n submit_disabled: when `True` disabled submitting the form until one or\n more inputs have been provided. Used only for\n [`configuaration models`](https://api.slack.com/reference/workflows/configuration-view)."}
    + +## `View` + +**Class** + +```python +View(type: 'ViewType', blocks: 'Block | list[Block]', private_metadata: 'str | None' = None, callback_id: 'str | None' = None, external_id: 'str | None' = None) -> 'None' +``` + +
    {"Base class for Slack app surfaces -- the visual areas an app can populate\nwith blocks. Concrete subclasses are\n[`ModalView`](/slackblocks/latest/reference/views/#views.ModalView) (for\npop-up modals) and\n[`HomeTabView`](/slackblocks/latest/reference/views/#views.HomeTabView)\n(for the per-user App Home tab).\n\nSee: .\n\nArgs:\n type: one of the `ViewType` enum members. Concrete subclasses set\n this for you; in practice you should construct `ModalView` or\n `HomeTabView` rather than `View` directly.\n blocks: 1-100 blocks that make up the contents of the view.\n private_metadata: a string (max 3000 characters) that will be sent\n back to your app in any view-related interaction payloads.\n Useful for stashing per-view server-side context.\n callback_id: an identifier (max 255 characters) for distinguishing\n this view's submissions from other views your app exposes.\n external_id: a custom identifier that is unique within the views of\n a given Slack team. Slack uses it to find views your app has\n previously published.\n\nThrows:\n InvalidUsageError: if any of the validation checks fail."}
    diff --git a/docs/versioned_docs/version-1.0/reference/typescript/classes/InvalidUsageError.md b/docs/versioned_docs/version-1.0/reference/typescript/classes/InvalidUsageError.md new file mode 100644 index 00000000..6a66c11d --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/classes/InvalidUsageError.md @@ -0,0 +1,227 @@ +# Class: InvalidUsageError + +Defined in: typescript/src/errors.ts:9 + +## Extends + +- `Error` + +## Extended by + +- [`LengthError`](LengthError.md) +- [`RangeError`](RangeError.md) +- [`MutualExclusivityError`](MutualExclusivityError.md) +- [`TypeMismatchError`](TypeMismatchError.md) +- [`MissingRequiredError`](MissingRequiredError.md) + +## Constructors + +### Constructor + +> **new InvalidUsageError**(`path`, `message`): `InvalidUsageError` + +Defined in: typescript/src/errors.ts:13 + +#### Parameters + +##### path + +`string` + +##### message + +`string` + +#### Returns + +`InvalidUsageError` + +#### Overrides + +`Error.constructor` + +## Properties + +### category + +> `readonly` **category**: [`ErrorCategory`](../type-aliases/ErrorCategory.md) = `"invalid-usage"` + +Defined in: typescript/src/errors.ts:10 + +*** + +### cause? + +> `optional` **cause?**: `unknown` + +Defined in: node\_modules/.pnpm/typescript@5.9.3/node\_modules/typescript/lib/lib.es2022.error.d.ts:26 + +#### Inherited from + +`Error.cause` + +*** + +### message + +> **message**: `string` + +Defined in: node\_modules/.pnpm/typescript@5.9.3/node\_modules/typescript/lib/lib.es5.d.ts:1077 + +#### Inherited from + +`Error.message` + +*** + +### name + +> **name**: `string` + +Defined in: node\_modules/.pnpm/typescript@5.9.3/node\_modules/typescript/lib/lib.es5.d.ts:1076 + +#### Inherited from + +`Error.name` + +*** + +### path + +> `readonly` **path**: `string` + +Defined in: typescript/src/errors.ts:11 + +*** + +### stack? + +> `optional` **stack?**: `string` + +Defined in: node\_modules/.pnpm/typescript@5.9.3/node\_modules/typescript/lib/lib.es5.d.ts:1078 + +#### Inherited from + +`Error.stack` + +*** + +### stackTraceLimit + +> `static` **stackTraceLimit**: `number` + +Defined in: node\_modules/.pnpm/@types+node@26.2.0/node\_modules/@types/node/globals.d.ts:67 + +The `Error.stackTraceLimit` property specifies the number of stack frames +collected by a stack trace (whether generated by `new Error().stack` or +`Error.captureStackTrace(obj)`). + +The default value is `10` but may be set to any valid JavaScript number. Changes +will affect any stack trace captured _after_ the value has been changed. + +If set to a non-number value, or set to a negative number, stack traces will +not capture any frames. + +#### Inherited from + +`Error.stackTraceLimit` + +## Methods + +### captureStackTrace() + +> `static` **captureStackTrace**(`targetObject`, `constructorOpt?`): `void` + +Defined in: node\_modules/.pnpm/@types+node@26.2.0/node\_modules/@types/node/globals.d.ts:51 + +Creates a `.stack` property on `targetObject`, which when accessed returns +a string representing the location in the code at which +`Error.captureStackTrace()` was called. + +```js +const myObject = {}; +Error.captureStackTrace(myObject); +myObject.stack; // Similar to `new Error().stack` +``` + +The first line of the trace will be prefixed with +`${myObject.name}: ${myObject.message}`. + +The optional `constructorOpt` argument accepts a function. If given, all frames +above `constructorOpt`, including `constructorOpt`, will be omitted from the +generated stack trace. + +The `constructorOpt` argument is useful for hiding implementation +details of error generation from the user. For instance: + +```js +function a() { + b(); +} + +function b() { + c(); +} + +function c() { + // Create an error without stack trace to avoid calculating the stack trace twice. + const { stackTraceLimit } = Error; + Error.stackTraceLimit = 0; + const error = new Error(); + Error.stackTraceLimit = stackTraceLimit; + + // Capture the stack trace above function b + Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace + throw error; +} + +a(); +``` + +#### Parameters + +##### targetObject + +`object` + +##### constructorOpt? + +`Function` + +#### Returns + +`void` + +#### Inherited from + +`Error.captureStackTrace` + +*** + +### prepareStackTrace() + +> `static` **prepareStackTrace**(`err`, `stackTraces`): `any` + +Defined in: node\_modules/.pnpm/@types+node@26.2.0/node\_modules/@types/node/globals.d.ts:55 + +#### Parameters + +##### err + +`Error` + +##### stackTraces + +`CallSite`[] + +#### Returns + +`any` + +#### See + +https://v8.dev/docs/stack-trace-api#customizing-stack-traces + +#### Inherited from + +`Error.prepareStackTrace` diff --git a/docs/versioned_docs/version-1.0/reference/typescript/classes/LengthError.md b/docs/versioned_docs/version-1.0/reference/typescript/classes/LengthError.md new file mode 100644 index 00000000..feb62e13 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/classes/LengthError.md @@ -0,0 +1,227 @@ +# Class: LengthError + +Defined in: typescript/src/errors.ts:20 + +## Extends + +- [`InvalidUsageError`](InvalidUsageError.md) + +## Constructors + +### Constructor + +> **new LengthError**(`path`, `message`): `LengthError` + +Defined in: typescript/src/errors.ts:13 + +#### Parameters + +##### path + +`string` + +##### message + +`string` + +#### Returns + +`LengthError` + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`constructor`](InvalidUsageError.md#constructor) + +## Properties + +### category + +> `readonly` **category**: `"length-exceeded"` + +Defined in: typescript/src/errors.ts:21 + +#### Overrides + +[`InvalidUsageError`](InvalidUsageError.md).[`category`](InvalidUsageError.md#category) + +*** + +### cause? + +> `optional` **cause?**: `unknown` + +Defined in: node\_modules/.pnpm/typescript@5.9.3/node\_modules/typescript/lib/lib.es2022.error.d.ts:26 + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`cause`](InvalidUsageError.md#cause) + +*** + +### message + +> **message**: `string` + +Defined in: node\_modules/.pnpm/typescript@5.9.3/node\_modules/typescript/lib/lib.es5.d.ts:1077 + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`message`](InvalidUsageError.md#message) + +*** + +### name + +> **name**: `string` + +Defined in: node\_modules/.pnpm/typescript@5.9.3/node\_modules/typescript/lib/lib.es5.d.ts:1076 + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`name`](InvalidUsageError.md#name) + +*** + +### path + +> `readonly` **path**: `string` + +Defined in: typescript/src/errors.ts:11 + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`path`](InvalidUsageError.md#path) + +*** + +### stack? + +> `optional` **stack?**: `string` + +Defined in: node\_modules/.pnpm/typescript@5.9.3/node\_modules/typescript/lib/lib.es5.d.ts:1078 + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`stack`](InvalidUsageError.md#stack) + +*** + +### stackTraceLimit + +> `static` **stackTraceLimit**: `number` + +Defined in: node\_modules/.pnpm/@types+node@26.2.0/node\_modules/@types/node/globals.d.ts:67 + +The `Error.stackTraceLimit` property specifies the number of stack frames +collected by a stack trace (whether generated by `new Error().stack` or +`Error.captureStackTrace(obj)`). + +The default value is `10` but may be set to any valid JavaScript number. Changes +will affect any stack trace captured _after_ the value has been changed. + +If set to a non-number value, or set to a negative number, stack traces will +not capture any frames. + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`stackTraceLimit`](InvalidUsageError.md#stacktracelimit) + +## Methods + +### captureStackTrace() + +> `static` **captureStackTrace**(`targetObject`, `constructorOpt?`): `void` + +Defined in: node\_modules/.pnpm/@types+node@26.2.0/node\_modules/@types/node/globals.d.ts:51 + +Creates a `.stack` property on `targetObject`, which when accessed returns +a string representing the location in the code at which +`Error.captureStackTrace()` was called. + +```js +const myObject = {}; +Error.captureStackTrace(myObject); +myObject.stack; // Similar to `new Error().stack` +``` + +The first line of the trace will be prefixed with +`${myObject.name}: ${myObject.message}`. + +The optional `constructorOpt` argument accepts a function. If given, all frames +above `constructorOpt`, including `constructorOpt`, will be omitted from the +generated stack trace. + +The `constructorOpt` argument is useful for hiding implementation +details of error generation from the user. For instance: + +```js +function a() { + b(); +} + +function b() { + c(); +} + +function c() { + // Create an error without stack trace to avoid calculating the stack trace twice. + const { stackTraceLimit } = Error; + Error.stackTraceLimit = 0; + const error = new Error(); + Error.stackTraceLimit = stackTraceLimit; + + // Capture the stack trace above function b + Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace + throw error; +} + +a(); +``` + +#### Parameters + +##### targetObject + +`object` + +##### constructorOpt? + +`Function` + +#### Returns + +`void` + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`captureStackTrace`](InvalidUsageError.md#capturestacktrace) + +*** + +### prepareStackTrace() + +> `static` **prepareStackTrace**(`err`, `stackTraces`): `any` + +Defined in: node\_modules/.pnpm/@types+node@26.2.0/node\_modules/@types/node/globals.d.ts:55 + +#### Parameters + +##### err + +`Error` + +##### stackTraces + +`CallSite`[] + +#### Returns + +`any` + +#### See + +https://v8.dev/docs/stack-trace-api#customizing-stack-traces + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`prepareStackTrace`](InvalidUsageError.md#preparestacktrace) diff --git a/docs/versioned_docs/version-1.0/reference/typescript/classes/MissingRequiredError.md b/docs/versioned_docs/version-1.0/reference/typescript/classes/MissingRequiredError.md new file mode 100644 index 00000000..91535dfb --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/classes/MissingRequiredError.md @@ -0,0 +1,227 @@ +# Class: MissingRequiredError + +Defined in: typescript/src/errors.ts:36 + +## Extends + +- [`InvalidUsageError`](InvalidUsageError.md) + +## Constructors + +### Constructor + +> **new MissingRequiredError**(`path`, `message`): `MissingRequiredError` + +Defined in: typescript/src/errors.ts:13 + +#### Parameters + +##### path + +`string` + +##### message + +`string` + +#### Returns + +`MissingRequiredError` + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`constructor`](InvalidUsageError.md#constructor) + +## Properties + +### category + +> `readonly` **category**: `"missing-required"` + +Defined in: typescript/src/errors.ts:37 + +#### Overrides + +[`InvalidUsageError`](InvalidUsageError.md).[`category`](InvalidUsageError.md#category) + +*** + +### cause? + +> `optional` **cause?**: `unknown` + +Defined in: node\_modules/.pnpm/typescript@5.9.3/node\_modules/typescript/lib/lib.es2022.error.d.ts:26 + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`cause`](InvalidUsageError.md#cause) + +*** + +### message + +> **message**: `string` + +Defined in: node\_modules/.pnpm/typescript@5.9.3/node\_modules/typescript/lib/lib.es5.d.ts:1077 + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`message`](InvalidUsageError.md#message) + +*** + +### name + +> **name**: `string` + +Defined in: node\_modules/.pnpm/typescript@5.9.3/node\_modules/typescript/lib/lib.es5.d.ts:1076 + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`name`](InvalidUsageError.md#name) + +*** + +### path + +> `readonly` **path**: `string` + +Defined in: typescript/src/errors.ts:11 + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`path`](InvalidUsageError.md#path) + +*** + +### stack? + +> `optional` **stack?**: `string` + +Defined in: node\_modules/.pnpm/typescript@5.9.3/node\_modules/typescript/lib/lib.es5.d.ts:1078 + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`stack`](InvalidUsageError.md#stack) + +*** + +### stackTraceLimit + +> `static` **stackTraceLimit**: `number` + +Defined in: node\_modules/.pnpm/@types+node@26.2.0/node\_modules/@types/node/globals.d.ts:67 + +The `Error.stackTraceLimit` property specifies the number of stack frames +collected by a stack trace (whether generated by `new Error().stack` or +`Error.captureStackTrace(obj)`). + +The default value is `10` but may be set to any valid JavaScript number. Changes +will affect any stack trace captured _after_ the value has been changed. + +If set to a non-number value, or set to a negative number, stack traces will +not capture any frames. + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`stackTraceLimit`](InvalidUsageError.md#stacktracelimit) + +## Methods + +### captureStackTrace() + +> `static` **captureStackTrace**(`targetObject`, `constructorOpt?`): `void` + +Defined in: node\_modules/.pnpm/@types+node@26.2.0/node\_modules/@types/node/globals.d.ts:51 + +Creates a `.stack` property on `targetObject`, which when accessed returns +a string representing the location in the code at which +`Error.captureStackTrace()` was called. + +```js +const myObject = {}; +Error.captureStackTrace(myObject); +myObject.stack; // Similar to `new Error().stack` +``` + +The first line of the trace will be prefixed with +`${myObject.name}: ${myObject.message}`. + +The optional `constructorOpt` argument accepts a function. If given, all frames +above `constructorOpt`, including `constructorOpt`, will be omitted from the +generated stack trace. + +The `constructorOpt` argument is useful for hiding implementation +details of error generation from the user. For instance: + +```js +function a() { + b(); +} + +function b() { + c(); +} + +function c() { + // Create an error without stack trace to avoid calculating the stack trace twice. + const { stackTraceLimit } = Error; + Error.stackTraceLimit = 0; + const error = new Error(); + Error.stackTraceLimit = stackTraceLimit; + + // Capture the stack trace above function b + Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace + throw error; +} + +a(); +``` + +#### Parameters + +##### targetObject + +`object` + +##### constructorOpt? + +`Function` + +#### Returns + +`void` + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`captureStackTrace`](InvalidUsageError.md#capturestacktrace) + +*** + +### prepareStackTrace() + +> `static` **prepareStackTrace**(`err`, `stackTraces`): `any` + +Defined in: node\_modules/.pnpm/@types+node@26.2.0/node\_modules/@types/node/globals.d.ts:55 + +#### Parameters + +##### err + +`Error` + +##### stackTraces + +`CallSite`[] + +#### Returns + +`any` + +#### See + +https://v8.dev/docs/stack-trace-api#customizing-stack-traces + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`prepareStackTrace`](InvalidUsageError.md#preparestacktrace) diff --git a/docs/versioned_docs/version-1.0/reference/typescript/classes/MutualExclusivityError.md b/docs/versioned_docs/version-1.0/reference/typescript/classes/MutualExclusivityError.md new file mode 100644 index 00000000..bd8c7072 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/classes/MutualExclusivityError.md @@ -0,0 +1,227 @@ +# Class: MutualExclusivityError + +Defined in: typescript/src/errors.ts:28 + +## Extends + +- [`InvalidUsageError`](InvalidUsageError.md) + +## Constructors + +### Constructor + +> **new MutualExclusivityError**(`path`, `message`): `MutualExclusivityError` + +Defined in: typescript/src/errors.ts:13 + +#### Parameters + +##### path + +`string` + +##### message + +`string` + +#### Returns + +`MutualExclusivityError` + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`constructor`](InvalidUsageError.md#constructor) + +## Properties + +### category + +> `readonly` **category**: `"mutually-exclusive"` + +Defined in: typescript/src/errors.ts:29 + +#### Overrides + +[`InvalidUsageError`](InvalidUsageError.md).[`category`](InvalidUsageError.md#category) + +*** + +### cause? + +> `optional` **cause?**: `unknown` + +Defined in: node\_modules/.pnpm/typescript@5.9.3/node\_modules/typescript/lib/lib.es2022.error.d.ts:26 + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`cause`](InvalidUsageError.md#cause) + +*** + +### message + +> **message**: `string` + +Defined in: node\_modules/.pnpm/typescript@5.9.3/node\_modules/typescript/lib/lib.es5.d.ts:1077 + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`message`](InvalidUsageError.md#message) + +*** + +### name + +> **name**: `string` + +Defined in: node\_modules/.pnpm/typescript@5.9.3/node\_modules/typescript/lib/lib.es5.d.ts:1076 + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`name`](InvalidUsageError.md#name) + +*** + +### path + +> `readonly` **path**: `string` + +Defined in: typescript/src/errors.ts:11 + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`path`](InvalidUsageError.md#path) + +*** + +### stack? + +> `optional` **stack?**: `string` + +Defined in: node\_modules/.pnpm/typescript@5.9.3/node\_modules/typescript/lib/lib.es5.d.ts:1078 + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`stack`](InvalidUsageError.md#stack) + +*** + +### stackTraceLimit + +> `static` **stackTraceLimit**: `number` + +Defined in: node\_modules/.pnpm/@types+node@26.2.0/node\_modules/@types/node/globals.d.ts:67 + +The `Error.stackTraceLimit` property specifies the number of stack frames +collected by a stack trace (whether generated by `new Error().stack` or +`Error.captureStackTrace(obj)`). + +The default value is `10` but may be set to any valid JavaScript number. Changes +will affect any stack trace captured _after_ the value has been changed. + +If set to a non-number value, or set to a negative number, stack traces will +not capture any frames. + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`stackTraceLimit`](InvalidUsageError.md#stacktracelimit) + +## Methods + +### captureStackTrace() + +> `static` **captureStackTrace**(`targetObject`, `constructorOpt?`): `void` + +Defined in: node\_modules/.pnpm/@types+node@26.2.0/node\_modules/@types/node/globals.d.ts:51 + +Creates a `.stack` property on `targetObject`, which when accessed returns +a string representing the location in the code at which +`Error.captureStackTrace()` was called. + +```js +const myObject = {}; +Error.captureStackTrace(myObject); +myObject.stack; // Similar to `new Error().stack` +``` + +The first line of the trace will be prefixed with +`${myObject.name}: ${myObject.message}`. + +The optional `constructorOpt` argument accepts a function. If given, all frames +above `constructorOpt`, including `constructorOpt`, will be omitted from the +generated stack trace. + +The `constructorOpt` argument is useful for hiding implementation +details of error generation from the user. For instance: + +```js +function a() { + b(); +} + +function b() { + c(); +} + +function c() { + // Create an error without stack trace to avoid calculating the stack trace twice. + const { stackTraceLimit } = Error; + Error.stackTraceLimit = 0; + const error = new Error(); + Error.stackTraceLimit = stackTraceLimit; + + // Capture the stack trace above function b + Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace + throw error; +} + +a(); +``` + +#### Parameters + +##### targetObject + +`object` + +##### constructorOpt? + +`Function` + +#### Returns + +`void` + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`captureStackTrace`](InvalidUsageError.md#capturestacktrace) + +*** + +### prepareStackTrace() + +> `static` **prepareStackTrace**(`err`, `stackTraces`): `any` + +Defined in: node\_modules/.pnpm/@types+node@26.2.0/node\_modules/@types/node/globals.d.ts:55 + +#### Parameters + +##### err + +`Error` + +##### stackTraces + +`CallSite`[] + +#### Returns + +`any` + +#### See + +https://v8.dev/docs/stack-trace-api#customizing-stack-traces + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`prepareStackTrace`](InvalidUsageError.md#preparestacktrace) diff --git a/docs/versioned_docs/version-1.0/reference/typescript/classes/RangeError.md b/docs/versioned_docs/version-1.0/reference/typescript/classes/RangeError.md new file mode 100644 index 00000000..f99311d8 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/classes/RangeError.md @@ -0,0 +1,227 @@ +# Class: RangeError + +Defined in: typescript/src/errors.ts:24 + +## Extends + +- [`InvalidUsageError`](InvalidUsageError.md) + +## Constructors + +### Constructor + +> **new RangeError**(`path`, `message`): `RangeError` + +Defined in: typescript/src/errors.ts:13 + +#### Parameters + +##### path + +`string` + +##### message + +`string` + +#### Returns + +`RangeError` + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`constructor`](InvalidUsageError.md#constructor) + +## Properties + +### category + +> `readonly` **category**: `"out-of-range"` + +Defined in: typescript/src/errors.ts:25 + +#### Overrides + +[`InvalidUsageError`](InvalidUsageError.md).[`category`](InvalidUsageError.md#category) + +*** + +### cause? + +> `optional` **cause?**: `unknown` + +Defined in: node\_modules/.pnpm/typescript@5.9.3/node\_modules/typescript/lib/lib.es2022.error.d.ts:26 + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`cause`](InvalidUsageError.md#cause) + +*** + +### message + +> **message**: `string` + +Defined in: node\_modules/.pnpm/typescript@5.9.3/node\_modules/typescript/lib/lib.es5.d.ts:1077 + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`message`](InvalidUsageError.md#message) + +*** + +### name + +> **name**: `string` + +Defined in: node\_modules/.pnpm/typescript@5.9.3/node\_modules/typescript/lib/lib.es5.d.ts:1076 + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`name`](InvalidUsageError.md#name) + +*** + +### path + +> `readonly` **path**: `string` + +Defined in: typescript/src/errors.ts:11 + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`path`](InvalidUsageError.md#path) + +*** + +### stack? + +> `optional` **stack?**: `string` + +Defined in: node\_modules/.pnpm/typescript@5.9.3/node\_modules/typescript/lib/lib.es5.d.ts:1078 + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`stack`](InvalidUsageError.md#stack) + +*** + +### stackTraceLimit + +> `static` **stackTraceLimit**: `number` + +Defined in: node\_modules/.pnpm/@types+node@26.2.0/node\_modules/@types/node/globals.d.ts:67 + +The `Error.stackTraceLimit` property specifies the number of stack frames +collected by a stack trace (whether generated by `new Error().stack` or +`Error.captureStackTrace(obj)`). + +The default value is `10` but may be set to any valid JavaScript number. Changes +will affect any stack trace captured _after_ the value has been changed. + +If set to a non-number value, or set to a negative number, stack traces will +not capture any frames. + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`stackTraceLimit`](InvalidUsageError.md#stacktracelimit) + +## Methods + +### captureStackTrace() + +> `static` **captureStackTrace**(`targetObject`, `constructorOpt?`): `void` + +Defined in: node\_modules/.pnpm/@types+node@26.2.0/node\_modules/@types/node/globals.d.ts:51 + +Creates a `.stack` property on `targetObject`, which when accessed returns +a string representing the location in the code at which +`Error.captureStackTrace()` was called. + +```js +const myObject = {}; +Error.captureStackTrace(myObject); +myObject.stack; // Similar to `new Error().stack` +``` + +The first line of the trace will be prefixed with +`${myObject.name}: ${myObject.message}`. + +The optional `constructorOpt` argument accepts a function. If given, all frames +above `constructorOpt`, including `constructorOpt`, will be omitted from the +generated stack trace. + +The `constructorOpt` argument is useful for hiding implementation +details of error generation from the user. For instance: + +```js +function a() { + b(); +} + +function b() { + c(); +} + +function c() { + // Create an error without stack trace to avoid calculating the stack trace twice. + const { stackTraceLimit } = Error; + Error.stackTraceLimit = 0; + const error = new Error(); + Error.stackTraceLimit = stackTraceLimit; + + // Capture the stack trace above function b + Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace + throw error; +} + +a(); +``` + +#### Parameters + +##### targetObject + +`object` + +##### constructorOpt? + +`Function` + +#### Returns + +`void` + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`captureStackTrace`](InvalidUsageError.md#capturestacktrace) + +*** + +### prepareStackTrace() + +> `static` **prepareStackTrace**(`err`, `stackTraces`): `any` + +Defined in: node\_modules/.pnpm/@types+node@26.2.0/node\_modules/@types/node/globals.d.ts:55 + +#### Parameters + +##### err + +`Error` + +##### stackTraces + +`CallSite`[] + +#### Returns + +`any` + +#### See + +https://v8.dev/docs/stack-trace-api#customizing-stack-traces + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`prepareStackTrace`](InvalidUsageError.md#preparestacktrace) diff --git a/docs/versioned_docs/version-1.0/reference/typescript/classes/TypeMismatchError.md b/docs/versioned_docs/version-1.0/reference/typescript/classes/TypeMismatchError.md new file mode 100644 index 00000000..5ea2c940 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/classes/TypeMismatchError.md @@ -0,0 +1,227 @@ +# Class: TypeMismatchError + +Defined in: typescript/src/errors.ts:32 + +## Extends + +- [`InvalidUsageError`](InvalidUsageError.md) + +## Constructors + +### Constructor + +> **new TypeMismatchError**(`path`, `message`): `TypeMismatchError` + +Defined in: typescript/src/errors.ts:13 + +#### Parameters + +##### path + +`string` + +##### message + +`string` + +#### Returns + +`TypeMismatchError` + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`constructor`](InvalidUsageError.md#constructor) + +## Properties + +### category + +> `readonly` **category**: `"type-mismatch"` + +Defined in: typescript/src/errors.ts:33 + +#### Overrides + +[`InvalidUsageError`](InvalidUsageError.md).[`category`](InvalidUsageError.md#category) + +*** + +### cause? + +> `optional` **cause?**: `unknown` + +Defined in: node\_modules/.pnpm/typescript@5.9.3/node\_modules/typescript/lib/lib.es2022.error.d.ts:26 + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`cause`](InvalidUsageError.md#cause) + +*** + +### message + +> **message**: `string` + +Defined in: node\_modules/.pnpm/typescript@5.9.3/node\_modules/typescript/lib/lib.es5.d.ts:1077 + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`message`](InvalidUsageError.md#message) + +*** + +### name + +> **name**: `string` + +Defined in: node\_modules/.pnpm/typescript@5.9.3/node\_modules/typescript/lib/lib.es5.d.ts:1076 + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`name`](InvalidUsageError.md#name) + +*** + +### path + +> `readonly` **path**: `string` + +Defined in: typescript/src/errors.ts:11 + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`path`](InvalidUsageError.md#path) + +*** + +### stack? + +> `optional` **stack?**: `string` + +Defined in: node\_modules/.pnpm/typescript@5.9.3/node\_modules/typescript/lib/lib.es5.d.ts:1078 + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`stack`](InvalidUsageError.md#stack) + +*** + +### stackTraceLimit + +> `static` **stackTraceLimit**: `number` + +Defined in: node\_modules/.pnpm/@types+node@26.2.0/node\_modules/@types/node/globals.d.ts:67 + +The `Error.stackTraceLimit` property specifies the number of stack frames +collected by a stack trace (whether generated by `new Error().stack` or +`Error.captureStackTrace(obj)`). + +The default value is `10` but may be set to any valid JavaScript number. Changes +will affect any stack trace captured _after_ the value has been changed. + +If set to a non-number value, or set to a negative number, stack traces will +not capture any frames. + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`stackTraceLimit`](InvalidUsageError.md#stacktracelimit) + +## Methods + +### captureStackTrace() + +> `static` **captureStackTrace**(`targetObject`, `constructorOpt?`): `void` + +Defined in: node\_modules/.pnpm/@types+node@26.2.0/node\_modules/@types/node/globals.d.ts:51 + +Creates a `.stack` property on `targetObject`, which when accessed returns +a string representing the location in the code at which +`Error.captureStackTrace()` was called. + +```js +const myObject = {}; +Error.captureStackTrace(myObject); +myObject.stack; // Similar to `new Error().stack` +``` + +The first line of the trace will be prefixed with +`${myObject.name}: ${myObject.message}`. + +The optional `constructorOpt` argument accepts a function. If given, all frames +above `constructorOpt`, including `constructorOpt`, will be omitted from the +generated stack trace. + +The `constructorOpt` argument is useful for hiding implementation +details of error generation from the user. For instance: + +```js +function a() { + b(); +} + +function b() { + c(); +} + +function c() { + // Create an error without stack trace to avoid calculating the stack trace twice. + const { stackTraceLimit } = Error; + Error.stackTraceLimit = 0; + const error = new Error(); + Error.stackTraceLimit = stackTraceLimit; + + // Capture the stack trace above function b + Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace + throw error; +} + +a(); +``` + +#### Parameters + +##### targetObject + +`object` + +##### constructorOpt? + +`Function` + +#### Returns + +`void` + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`captureStackTrace`](InvalidUsageError.md#capturestacktrace) + +*** + +### prepareStackTrace() + +> `static` **prepareStackTrace**(`err`, `stackTraces`): `any` + +Defined in: node\_modules/.pnpm/@types+node@26.2.0/node\_modules/@types/node/globals.d.ts:55 + +#### Parameters + +##### err + +`Error` + +##### stackTraces + +`CallSite`[] + +#### Returns + +`any` + +#### See + +https://v8.dev/docs/stack-trace-api#customizing-stack-traces + +#### Inherited from + +[`InvalidUsageError`](InvalidUsageError.md).[`prepareStackTrace`](InvalidUsageError.md#preparestacktrace) diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/actions.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/actions.md new file mode 100644 index 00000000..3e77bd80 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/actions.md @@ -0,0 +1,25 @@ +# Function: actions() + +> **actions**(`input`, `settings?`): [`SlackWire`](../type-aliases/SlackWire.md)\<`ActionsBlock`\> + +Defined in: typescript/src/blocks.ts:42 + +## Parameters + +### input + +#### blockId? + +`string` + +#### elements + +[`JsonObject`](../interfaces/JsonObject.md)[] + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackWire`](../type-aliases/SlackWire.md)\<`ActionsBlock`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/asText.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/asText.md new file mode 100644 index 00000000..07d4c4ef --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/asText.md @@ -0,0 +1,23 @@ +# Function: asText() + +> **asText**(`value`, `kind?`, `settings?`): [`TextObject`](../type-aliases/TextObject.md) + +Defined in: typescript/src/objects.ts:38 + +## Parameters + +### value + +[`TextLike`](../type-aliases/TextLike.md) + +### kind? + +`"plain_text"` \| `"mrkdwn"` + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`TextObject`](../type-aliases/TextObject.md) diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/assertValid.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/assertValid.md new file mode 100644 index 00000000..1fb807f5 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/assertValid.md @@ -0,0 +1,15 @@ +# Function: assertValid() + +> **assertValid**(`payload`): `asserts payload is JsonObject` + +Defined in: typescript/src/validation.ts:238 + +## Parameters + +### payload + +[`JsonValue`](../type-aliases/JsonValue.md) + +## Returns + +`asserts payload is JsonObject` diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/attachment.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/attachment.md new file mode 100644 index 00000000..b416f216 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/attachment.md @@ -0,0 +1,29 @@ +# Function: attachment() + +> **attachment**(`input`, `settings?`): [`JsonObject`](../interfaces/JsonObject.md) + +Defined in: typescript/src/messages.ts:4 + +## Parameters + +### input + +#### blocks + +[`JsonObject`](../interfaces/JsonObject.md)[] + +#### color? + +`string` + +#### fallback? + +`string` + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`JsonObject`](../interfaces/JsonObject.md) diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/blockKitBuilderUrl.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/blockKitBuilderUrl.md new file mode 100644 index 00000000..ffa95024 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/blockKitBuilderUrl.md @@ -0,0 +1,19 @@ +# Function: blockKitBuilderUrl() + +> **blockKitBuilderUrl**(`payload`, `teamId?`): `string` + +Defined in: typescript/src/builder.ts:5 + +## Parameters + +### payload + +[`JsonObject`](../interfaces/JsonObject.md) \| [`JsonObject`](../interfaces/JsonObject.md)[] + +### teamId? + +`string` + +## Returns + +`string` diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/button.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/button.md new file mode 100644 index 00000000..3d0b3bc8 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/button.md @@ -0,0 +1,19 @@ +# Function: button() + +> **button**(`input`, `settings?`): [`SlackObject`](../type-aliases/SlackObject.md)\<`"button"`\> + +Defined in: typescript/src/elements.ts:43 + +## Parameters + +### input + +[`ButtonInput`](../interfaces/ButtonInput.md) + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackObject`](../type-aliases/SlackObject.md)\<`"button"`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/channelMultiSelect.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/channelMultiSelect.md new file mode 100644 index 00000000..35cf3dcb --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/channelMultiSelect.md @@ -0,0 +1,19 @@ +# Function: channelMultiSelect() + +> **channelMultiSelect**(`input`, `settings?`): [`SlackObject`](../type-aliases/SlackObject.md)\<`"multi_channels_select"`\> + +Defined in: typescript/src/elements.ts:103 + +## Parameters + +### input + +[`ActionInput`](../interfaces/ActionInput.md) + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackObject`](../type-aliases/SlackObject.md)\<`"multi_channels_select"`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/channelSelect.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/channelSelect.md new file mode 100644 index 00000000..1dce44af --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/channelSelect.md @@ -0,0 +1,19 @@ +# Function: channelSelect() + +> **channelSelect**(`input`, `settings?`): [`SlackObject`](../type-aliases/SlackObject.md)\<`"channels_select"`\> + +Defined in: typescript/src/elements.ts:145 + +## Parameters + +### input + +[`ActionInput`](../interfaces/ActionInput.md) + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackObject`](../type-aliases/SlackObject.md)\<`"channels_select"`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/checkboxes.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/checkboxes.md new file mode 100644 index 00000000..9ca5a2d1 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/checkboxes.md @@ -0,0 +1,19 @@ +# Function: checkboxes() + +> **checkboxes**(`input`, `settings?`): [`SlackObject`](../type-aliases/SlackObject.md)\<`"checkboxes"`\> + +Defined in: typescript/src/elements.ts:54 + +## Parameters + +### input + +[`ActionInput`](../interfaces/ActionInput.md) & `object` + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackObject`](../type-aliases/SlackObject.md)\<`"checkboxes"`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/columnSettings.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/columnSettings.md new file mode 100644 index 00000000..e0288f9b --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/columnSettings.md @@ -0,0 +1,25 @@ +# Function: columnSettings() + +> **columnSettings**(`input`, `settings?`): [`JsonObject`](../interfaces/JsonObject.md) + +Defined in: typescript/src/objects.ts:171 + +## Parameters + +### input + +#### align? + +`"left"` \| `"center"` \| `"right"` + +#### isWrapped? + +`boolean` + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`JsonObject`](../interfaces/JsonObject.md) diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/confirmation.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/confirmation.md new file mode 100644 index 00000000..8abd3c3d --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/confirmation.md @@ -0,0 +1,19 @@ +# Function: confirmation() + +> **confirmation**(`input`, `settings?`): [`JsonObject`](../interfaces/JsonObject.md) + +Defined in: typescript/src/objects.ts:54 + +## Parameters + +### input + +[`ConfirmationInput`](../interfaces/ConfirmationInput.md) + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`JsonObject`](../interfaces/JsonObject.md) diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/context.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/context.md new file mode 100644 index 00000000..ec2ae2a2 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/context.md @@ -0,0 +1,25 @@ +# Function: context() + +> **context**(`input`, `settings?`): [`SlackWire`](../type-aliases/SlackWire.md)\<`ContextBlock`\> + +Defined in: typescript/src/blocks.ts:49 + +## Parameters + +### input + +#### blockId? + +`string` + +#### elements + +[`JsonObject`](../interfaces/JsonObject.md)[] + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackWire`](../type-aliases/SlackWire.md)\<`ContextBlock`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/conversationFilter.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/conversationFilter.md new file mode 100644 index 00000000..9a79f127 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/conversationFilter.md @@ -0,0 +1,29 @@ +# Function: conversationFilter() + +> **conversationFilter**(`input`, `settings?`): [`JsonObject`](../interfaces/JsonObject.md) + +Defined in: typescript/src/objects.ts:120 + +## Parameters + +### input + +#### excludeBotUsers? + +`boolean` + +#### excludeExternalSharedChannels? + +`boolean` + +#### include? + +`string`[] + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`JsonObject`](../interfaces/JsonObject.md) diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/conversationMultiSelect.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/conversationMultiSelect.md new file mode 100644 index 00000000..f49e755b --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/conversationMultiSelect.md @@ -0,0 +1,19 @@ +# Function: conversationMultiSelect() + +> **conversationMultiSelect**(`input`, `settings?`): [`SlackObject`](../type-aliases/SlackObject.md)\<`"multi_conversations_select"`\> + +Defined in: typescript/src/elements.ts:107 + +## Parameters + +### input + +[`ActionInput`](../interfaces/ActionInput.md) + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackObject`](../type-aliases/SlackObject.md)\<`"multi_conversations_select"`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/conversationSelect.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/conversationSelect.md new file mode 100644 index 00000000..402167a4 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/conversationSelect.md @@ -0,0 +1,19 @@ +# Function: conversationSelect() + +> **conversationSelect**(`input`, `settings?`): [`SlackObject`](../type-aliases/SlackObject.md)\<`"conversations_select"`\> + +Defined in: typescript/src/elements.ts:149 + +## Parameters + +### input + +[`ActionInput`](../interfaces/ActionInput.md) + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackObject`](../type-aliases/SlackObject.md)\<`"conversations_select"`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/datePicker.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/datePicker.md new file mode 100644 index 00000000..e7d6c727 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/datePicker.md @@ -0,0 +1,19 @@ +# Function: datePicker() + +> **datePicker**(`input`, `settings?`): [`SlackObject`](../type-aliases/SlackObject.md)\<`"datepicker"`\> + +Defined in: typescript/src/elements.ts:61 + +## Parameters + +### input + +[`ActionInput`](../interfaces/ActionInput.md) + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackObject`](../type-aliases/SlackObject.md)\<`"datepicker"`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/dateTimePicker.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/dateTimePicker.md new file mode 100644 index 00000000..958c93e4 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/dateTimePicker.md @@ -0,0 +1,19 @@ +# Function: dateTimePicker() + +> **dateTimePicker**(`input`, `settings?`): [`SlackObject`](../type-aliases/SlackObject.md)\<`"datetimepicker"`\> + +Defined in: typescript/src/elements.ts:68 + +## Parameters + +### input + +[`ActionInput`](../interfaces/ActionInput.md) + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackObject`](../type-aliases/SlackObject.md)\<`"datetimepicker"`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/dispatchActionConfiguration.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/dispatchActionConfiguration.md new file mode 100644 index 00000000..35cb8186 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/dispatchActionConfiguration.md @@ -0,0 +1,21 @@ +# Function: dispatchActionConfiguration() + +> **dispatchActionConfiguration**(`input`, `settings?`): [`JsonObject`](../interfaces/JsonObject.md) + +Defined in: typescript/src/objects.ts:130 + +## Parameters + +### input + +#### triggerActionsOn + +`string`[] + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`JsonObject`](../interfaces/JsonObject.md) diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/divider.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/divider.md new file mode 100644 index 00000000..3a8fa60c --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/divider.md @@ -0,0 +1,21 @@ +# Function: divider() + +> **divider**(`input?`, `settings?`): [`SlackWire`](../type-aliases/SlackWire.md)\<`DividerBlock`\> + +Defined in: typescript/src/blocks.ts:56 + +## Parameters + +### input? + +#### blockId? + +`string` + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackWire`](../type-aliases/SlackWire.md)\<`DividerBlock`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/emailInput.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/emailInput.md new file mode 100644 index 00000000..2901356b --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/emailInput.md @@ -0,0 +1,19 @@ +# Function: emailInput() + +> **emailInput**(`input`, `settings?`): [`SlackObject`](../type-aliases/SlackObject.md)\<`"email_text_input"`\> + +Defined in: typescript/src/elements.ts:75 + +## Parameters + +### input + +[`ActionInput`](../interfaces/ActionInput.md) + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackObject`](../type-aliases/SlackObject.md)\<`"email_text_input"`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/externalMultiSelect.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/externalMultiSelect.md new file mode 100644 index 00000000..69550b6f --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/externalMultiSelect.md @@ -0,0 +1,19 @@ +# Function: externalMultiSelect() + +> **externalMultiSelect**(`input`, `settings?`): [`SlackObject`](../type-aliases/SlackObject.md)\<`"multi_external_select"`\> + +Defined in: typescript/src/elements.ts:111 + +## Parameters + +### input + +[`ActionInput`](../interfaces/ActionInput.md) + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackObject`](../type-aliases/SlackObject.md)\<`"multi_external_select"`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/externalSelect.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/externalSelect.md new file mode 100644 index 00000000..677938e6 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/externalSelect.md @@ -0,0 +1,19 @@ +# Function: externalSelect() + +> **externalSelect**(`input`, `settings?`): [`SlackObject`](../type-aliases/SlackObject.md)\<`"external_select"`\> + +Defined in: typescript/src/elements.ts:153 + +## Parameters + +### input + +[`ActionInput`](../interfaces/ActionInput.md) + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackObject`](../type-aliases/SlackObject.md)\<`"external_select"`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/fileBlock.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/fileBlock.md new file mode 100644 index 00000000..5c5978b1 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/fileBlock.md @@ -0,0 +1,29 @@ +# Function: fileBlock() + +> **fileBlock**(`input`, `settings?`): [`SlackWire`](../type-aliases/SlackWire.md)\<`FileBlock`\> + +Defined in: typescript/src/blocks.ts:63 + +## Parameters + +### input + +#### blockId? + +`string` + +#### externalId + +`string` + +#### source? + +`"remote"` + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackWire`](../type-aliases/SlackWire.md)\<`FileBlock`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/fileInput.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/fileInput.md new file mode 100644 index 00000000..8f63d1b5 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/fileInput.md @@ -0,0 +1,29 @@ +# Function: fileInput() + +> **fileInput**(`input`, `settings?`): [`JsonObject`](../interfaces/JsonObject.md) + +Defined in: typescript/src/elements.ts:82 + +## Parameters + +### input + +#### actionId + +`string` + +#### filetypes? + +`string`[] + +#### maxFiles? + +`number` + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`JsonObject`](../interfaces/JsonObject.md) diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/header.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/header.md new file mode 100644 index 00000000..b40d1a0a --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/header.md @@ -0,0 +1,25 @@ +# Function: header() + +> **header**(`input`, `settings?`): [`SlackWire`](../type-aliases/SlackWire.md)\<`HeaderBlock`\> + +Defined in: typescript/src/blocks.ts:70 + +## Parameters + +### input + +#### blockId? + +`string` + +#### text + +[`TextLike`](../type-aliases/TextLike.md) + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackWire`](../type-aliases/SlackWire.md)\<`HeaderBlock`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/homeTab.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/homeTab.md new file mode 100644 index 00000000..8bf578f0 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/homeTab.md @@ -0,0 +1,33 @@ +# Function: homeTab() + +> **homeTab**(`input`, `settings?`): [`SlackObject`](../type-aliases/SlackObject.md)\<`"home"`\> + +Defined in: typescript/src/views.ts:33 + +## Parameters + +### input + +#### blocks + +[`JsonObject`](../interfaces/JsonObject.md)[] + +#### callbackId? + +`string` + +#### externalId? + +`string` + +#### privateMetadata? + +`string` + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackObject`](../type-aliases/SlackObject.md)\<`"home"`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/imageBlock.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/imageBlock.md new file mode 100644 index 00000000..1f0f3434 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/imageBlock.md @@ -0,0 +1,33 @@ +# Function: imageBlock() + +> **imageBlock**(`input`, `settings?`): [`SlackWire`](../type-aliases/SlackWire.md)\<`ImageBlock`\> + +Defined in: typescript/src/blocks.ts:81 + +## Parameters + +### input + +#### altText? + +`string` + +#### blockId? + +`string` + +#### imageUrl + +`string` + +#### title? + +[`TextLike`](../type-aliases/TextLike.md) + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackWire`](../type-aliases/SlackWire.md)\<`ImageBlock`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/imageElement.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/imageElement.md new file mode 100644 index 00000000..95be723b --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/imageElement.md @@ -0,0 +1,19 @@ +# Function: imageElement() + +> **imageElement**(`input`, `settings?`): [`SlackObject`](../type-aliases/SlackObject.md)\<`"image"`\> + +Defined in: typescript/src/elements.ts:93 + +## Parameters + +### input + +`object` & \{ `imageUrl`: `string`; `slackFile?`: `undefined`; \} \| \{ `imageUrl?`: `undefined`; `slackFile`: [`JsonObject`](../interfaces/JsonObject.md); \} + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackObject`](../type-aliases/SlackObject.md)\<`"image"`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/input.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/input.md new file mode 100644 index 00000000..5acc961d --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/input.md @@ -0,0 +1,41 @@ +# Function: input() + +> **input**(`value`, `settings?`): [`SlackWire`](../type-aliases/SlackWire.md)\<`InputBlock`\> + +Defined in: typescript/src/blocks.ts:95 + +## Parameters + +### value + +#### blockId? + +`string` + +#### dispatchAction? + +`boolean` + +#### element + +[`JsonObject`](../interfaces/JsonObject.md) + +#### hint? + +[`TextLike`](../type-aliases/TextLike.md) + +#### label + +[`TextLike`](../type-aliases/TextLike.md) + +#### optional? + +`boolean` + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackWire`](../type-aliases/SlackWire.md)\<`InputBlock`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/inputParameter.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/inputParameter.md new file mode 100644 index 00000000..003027d8 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/inputParameter.md @@ -0,0 +1,25 @@ +# Function: inputParameter() + +> **inputParameter**(`input`, `settings?`): [`JsonObject`](../interfaces/JsonObject.md) + +Defined in: typescript/src/objects.ts:137 + +## Parameters + +### input + +#### name + +`string` + +#### value + +`string` + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`JsonObject`](../interfaces/JsonObject.md) diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/markdownBlock.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/markdownBlock.md new file mode 100644 index 00000000..12e1f42b --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/markdownBlock.md @@ -0,0 +1,25 @@ +# Function: markdownBlock() + +> **markdownBlock**(`input`, `settings?`): [`SlackWire`](../type-aliases/SlackWire.md)\<`MarkdownBlock`\> + +Defined in: typescript/src/blocks.ts:117 + +## Parameters + +### input + +#### blockId? + +`string` + +#### text + +`string` + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackWire`](../type-aliases/SlackWire.md)\<`MarkdownBlock`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/message.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/message.md new file mode 100644 index 00000000..6be23d2d --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/message.md @@ -0,0 +1,19 @@ +# Function: message() + +> **message**(`input`, `settings?`): [`JsonObject`](../interfaces/JsonObject.md) + +Defined in: typescript/src/messages.ts:22 + +## Parameters + +### input + +[`MessageInput`](../interfaces/MessageInput.md) + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`JsonObject`](../interfaces/JsonObject.md) diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/messageResponse.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/messageResponse.md new file mode 100644 index 00000000..59d84ae5 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/messageResponse.md @@ -0,0 +1,41 @@ +# Function: messageResponse() + +> **messageResponse**(`input`, `settings?`): [`JsonObject`](../interfaces/JsonObject.md) + +Defined in: typescript/src/messages.ts:29 + +## Parameters + +### input + +#### attachments? + +[`JsonObject`](../interfaces/JsonObject.md)[] + +#### blocks? + +[`JsonObject`](../interfaces/JsonObject.md)[] + +#### mrkdwn? + +`boolean` + +#### replaceOriginal? + +`boolean` + +#### responseType? + +`"ephemeral"` \| `"in_channel"` + +#### text? + +`string` + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`JsonObject`](../interfaces/JsonObject.md) diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/modal.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/modal.md new file mode 100644 index 00000000..9d54f83a --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/modal.md @@ -0,0 +1,57 @@ +# Function: modal() + +> **modal**(`input`, `settings?`): [`SlackObject`](../type-aliases/SlackObject.md)\<`"modal"`\> + +Defined in: typescript/src/views.ts:5 + +## Parameters + +### input + +#### blocks + +[`JsonObject`](../interfaces/JsonObject.md)[] + +#### callbackId? + +`string` + +#### clearOnClose? + +`boolean` + +#### close? + +[`TextLike`](../type-aliases/TextLike.md) + +#### externalId? + +`string` + +#### notifyOnClose? + +`boolean` + +#### privateMetadata? + +`string` + +#### submit? + +[`TextLike`](../type-aliases/TextLike.md) + +#### submitDisabled? + +`boolean` + +#### title + +[`TextLike`](../type-aliases/TextLike.md) + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackObject`](../type-aliases/SlackObject.md)\<`"modal"`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/mrkdwn.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/mrkdwn.md new file mode 100644 index 00000000..6d960891 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/mrkdwn.md @@ -0,0 +1,23 @@ +# Function: mrkdwn() + +> **mrkdwn**(`text`, `options?`, `settings?`): [`TextObject`](../type-aliases/TextObject.md) + +Defined in: typescript/src/objects.ts:30 + +## Parameters + +### text + +`string` + +### options? + +[`MarkdownOptions`](../interfaces/MarkdownOptions.md) = `{}` + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`TextObject`](../type-aliases/TextObject.md) diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/numberInput.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/numberInput.md new file mode 100644 index 00000000..627ac269 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/numberInput.md @@ -0,0 +1,19 @@ +# Function: numberInput() + +> **numberInput**(`input`, `settings?`): [`SlackObject`](../type-aliases/SlackObject.md)\<`"number_input"`\> + +Defined in: typescript/src/elements.ts:123 + +## Parameters + +### input + +[`ActionInput`](../interfaces/ActionInput.md) + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackObject`](../type-aliases/SlackObject.md)\<`"number_input"`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/option.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/option.md new file mode 100644 index 00000000..673e478e --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/option.md @@ -0,0 +1,19 @@ +# Function: option() + +> **option**(`input`, `settings?`): [`JsonObject`](../interfaces/JsonObject.md) + +Defined in: typescript/src/objects.ts:85 + +## Parameters + +### input + +[`OptionInput`](../interfaces/OptionInput.md) + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`JsonObject`](../interfaces/JsonObject.md) diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/optionGroup.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/optionGroup.md new file mode 100644 index 00000000..93981231 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/optionGroup.md @@ -0,0 +1,19 @@ +# Function: optionGroup() + +> **optionGroup**(`input`, `settings?`): [`JsonObject`](../interfaces/JsonObject.md) + +Defined in: typescript/src/objects.ts:110 + +## Parameters + +### input + +[`OptionGroupInput`](../interfaces/OptionGroupInput.md) + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`JsonObject`](../interfaces/JsonObject.md) diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/overflow.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/overflow.md new file mode 100644 index 00000000..1c67fdeb --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/overflow.md @@ -0,0 +1,19 @@ +# Function: overflow() + +> **overflow**(`input`, `settings?`): [`SlackObject`](../type-aliases/SlackObject.md)\<`"overflow"`\> + +Defined in: typescript/src/elements.ts:127 + +## Parameters + +### input + +[`ActionInput`](../interfaces/ActionInput.md) & `object` + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackObject`](../type-aliases/SlackObject.md)\<`"overflow"`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/plainText.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/plainText.md new file mode 100644 index 00000000..46921a96 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/plainText.md @@ -0,0 +1,23 @@ +# Function: plainText() + +> **plainText**(`text`, `options?`, `settings?`): [`TextObject`](../type-aliases/TextObject.md) + +Defined in: typescript/src/objects.ts:22 + +## Parameters + +### text + +`string` + +### options? + +[`PlainTextOptions`](../interfaces/PlainTextOptions.md) = `{}` + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`TextObject`](../type-aliases/TextObject.md) diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/plainTextInput.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/plainTextInput.md new file mode 100644 index 00000000..1100ca89 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/plainTextInput.md @@ -0,0 +1,19 @@ +# Function: plainTextInput() + +> **plainTextInput**(`input`, `settings?`): [`SlackObject`](../type-aliases/SlackObject.md)\<`"plain_text_input"`\> + +Defined in: typescript/src/elements.ts:134 + +## Parameters + +### input + +[`ActionInput`](../interfaces/ActionInput.md) + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackObject`](../type-aliases/SlackObject.md)\<`"plain_text_input"`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/radioButtons.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/radioButtons.md new file mode 100644 index 00000000..901de8b7 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/radioButtons.md @@ -0,0 +1,19 @@ +# Function: radioButtons() + +> **radioButtons**(`input`, `settings?`): [`SlackObject`](../type-aliases/SlackObject.md)\<`"radio_buttons"`\> + +Defined in: typescript/src/elements.ts:138 + +## Parameters + +### input + +[`ActionInput`](../interfaces/ActionInput.md) & `object` + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackObject`](../type-aliases/SlackObject.md)\<`"radio_buttons"`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/rawText.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/rawText.md new file mode 100644 index 00000000..0cad19c5 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/rawText.md @@ -0,0 +1,19 @@ +# Function: rawText() + +> **rawText**(`text`, `settings?`): [`SlackObject`](../type-aliases/SlackObject.md)\<`"raw_text"`\> + +Defined in: typescript/src/objects.ts:178 + +## Parameters + +### text + +`string` + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackObject`](../type-aliases/SlackObject.md)\<`"raw_text"`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/richText.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/richText.md new file mode 100644 index 00000000..fa155f33 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/richText.md @@ -0,0 +1,23 @@ +# Function: richText() + +> **richText**(`text`, `style?`, `settings?`): [`SlackObject`](../type-aliases/SlackObject.md)\<`"text"`\> + +Defined in: typescript/src/rich-text.ts:11 + +## Parameters + +### text + +`string` + +### style? + +[`RichTextStyle`](../interfaces/RichTextStyle.md) + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackObject`](../type-aliases/SlackObject.md)\<`"text"`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/richTextBlock.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/richTextBlock.md new file mode 100644 index 00000000..c54d65be --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/richTextBlock.md @@ -0,0 +1,25 @@ +# Function: richTextBlock() + +> **richTextBlock**(`input`, `settings?`): [`SlackWire`](../type-aliases/SlackWire.md)\<`RichTextBlock`\> + +Defined in: typescript/src/blocks.ts:124 + +## Parameters + +### input + +#### blockId? + +`string` + +#### elements + +[`JsonObject`](../interfaces/JsonObject.md)[] + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackWire`](../type-aliases/SlackWire.md)\<`RichTextBlock`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/richTextChannel.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/richTextChannel.md new file mode 100644 index 00000000..adbaf9c1 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/richTextChannel.md @@ -0,0 +1,23 @@ +# Function: richTextChannel() + +> **richTextChannel**(`channelId`, `style?`, `settings?`): [`SlackObject`](../type-aliases/SlackObject.md)\<`"channel"`\> + +Defined in: typescript/src/rich-text.ts:19 + +## Parameters + +### channelId + +`string` + +### style? + +[`RichTextStyle`](../interfaces/RichTextStyle.md) + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackObject`](../type-aliases/SlackObject.md)\<`"channel"`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/richTextCodeBlock.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/richTextCodeBlock.md new file mode 100644 index 00000000..25b3968f --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/richTextCodeBlock.md @@ -0,0 +1,25 @@ +# Function: richTextCodeBlock() + +> **richTextCodeBlock**(`elements`, `options?`, `settings?`): [`SlackObject`](../type-aliases/SlackObject.md)\<`"rich_text_preformatted"`\> + +Defined in: typescript/src/rich-text.ts:77 + +## Parameters + +### elements + +[`JsonObject`](../interfaces/JsonObject.md)[] + +### options? + +#### border? + +`number` + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackObject`](../type-aliases/SlackObject.md)\<`"rich_text_preformatted"`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/richTextEmoji.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/richTextEmoji.md new file mode 100644 index 00000000..547e3065 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/richTextEmoji.md @@ -0,0 +1,19 @@ +# Function: richTextEmoji() + +> **richTextEmoji**(`name`, `settings?`): [`SlackObject`](../type-aliases/SlackObject.md)\<`"emoji"`\> + +Defined in: typescript/src/rich-text.ts:27 + +## Parameters + +### name + +`string` + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackObject`](../type-aliases/SlackObject.md)\<`"emoji"`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/richTextInput.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/richTextInput.md new file mode 100644 index 00000000..7ce9d6be --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/richTextInput.md @@ -0,0 +1,19 @@ +# Function: richTextInput() + +> **richTextInput**(`input`, `settings?`): [`SlackObject`](../type-aliases/SlackObject.md)\<`"rich_text_input"`\> + +Defined in: typescript/src/elements.ts:184 + +## Parameters + +### input + +[`ActionInput`](../interfaces/ActionInput.md) + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackObject`](../type-aliases/SlackObject.md)\<`"rich_text_input"`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/richTextLink.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/richTextLink.md new file mode 100644 index 00000000..f2ac0730 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/richTextLink.md @@ -0,0 +1,33 @@ +# Function: richTextLink() + +> **richTextLink**(`input`, `settings?`): [`SlackObject`](../type-aliases/SlackObject.md)\<`"link"`\> + +Defined in: typescript/src/rich-text.ts:34 + +## Parameters + +### input + +#### style? + +[`RichTextStyle`](../interfaces/RichTextStyle.md) + +#### text? + +`string` + +#### unsafe? + +`boolean` + +#### url + +`string` + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackObject`](../type-aliases/SlackObject.md)\<`"link"`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/richTextList.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/richTextList.md new file mode 100644 index 00000000..9ff4d6d2 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/richTextList.md @@ -0,0 +1,37 @@ +# Function: richTextList() + +> **richTextList**(`input`, `settings?`): [`SlackObject`](../type-aliases/SlackObject.md)\<`"rich_text_list"`\> + +Defined in: typescript/src/rich-text.ts:64 + +## Parameters + +### input + +#### border? + +`number` + +#### elements + +[`JsonObject`](../interfaces/JsonObject.md)[] + +#### indent? + +`number` + +#### offset? + +`number` + +#### style? + +`"bullet"` \| `"ordered"` + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackObject`](../type-aliases/SlackObject.md)\<`"rich_text_list"`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/richTextQuote.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/richTextQuote.md new file mode 100644 index 00000000..c4923c45 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/richTextQuote.md @@ -0,0 +1,25 @@ +# Function: richTextQuote() + +> **richTextQuote**(`elements`, `options?`, `settings?`): [`SlackObject`](../type-aliases/SlackObject.md)\<`"rich_text_quote"`\> + +Defined in: typescript/src/rich-text.ts:85 + +## Parameters + +### elements + +[`JsonObject`](../interfaces/JsonObject.md)[] + +### options? + +#### border? + +`number` + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackObject`](../type-aliases/SlackObject.md)\<`"rich_text_quote"`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/richTextSection.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/richTextSection.md new file mode 100644 index 00000000..375ba870 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/richTextSection.md @@ -0,0 +1,19 @@ +# Function: richTextSection() + +> **richTextSection**(`elements`, `settings?`): [`SlackObject`](../type-aliases/SlackObject.md)\<`"rich_text_section"`\> + +Defined in: typescript/src/rich-text.ts:57 + +## Parameters + +### elements + +[`JsonObject`](../interfaces/JsonObject.md)[] + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackObject`](../type-aliases/SlackObject.md)\<`"rich_text_section"`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/richTextUser.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/richTextUser.md new file mode 100644 index 00000000..deb946cb --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/richTextUser.md @@ -0,0 +1,23 @@ +# Function: richTextUser() + +> **richTextUser**(`userId`, `style?`, `settings?`): [`SlackObject`](../type-aliases/SlackObject.md)\<`"user"`\> + +Defined in: typescript/src/rich-text.ts:41 + +## Parameters + +### userId + +`string` + +### style? + +[`RichTextStyle`](../interfaces/RichTextStyle.md) + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackObject`](../type-aliases/SlackObject.md)\<`"user"`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/richTextUserGroup.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/richTextUserGroup.md new file mode 100644 index 00000000..1c892294 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/richTextUserGroup.md @@ -0,0 +1,23 @@ +# Function: richTextUserGroup() + +> **richTextUserGroup**(`usergroupId`, `style?`, `settings?`): [`SlackObject`](../type-aliases/SlackObject.md)\<`"usergroup"`\> + +Defined in: typescript/src/rich-text.ts:49 + +## Parameters + +### usergroupId + +`string` + +### style? + +[`RichTextStyle`](../interfaces/RichTextStyle.md) + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackObject`](../type-aliases/SlackObject.md)\<`"usergroup"`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/section.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/section.md new file mode 100644 index 00000000..ef9e039d --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/section.md @@ -0,0 +1,19 @@ +# Function: section() + +> **section**(`input`, `settings?`): [`SlackWire`](../type-aliases/SlackWire.md)\<`SectionBlock`\> + +Defined in: typescript/src/blocks.ts:27 + +## Parameters + +### input + +[`SectionInput`](../interfaces/SectionInput.md) + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackWire`](../type-aliases/SlackWire.md)\<`SectionBlock`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/slackFile.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/slackFile.md new file mode 100644 index 00000000..3b3317de --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/slackFile.md @@ -0,0 +1,25 @@ +# Function: slackFile() + +> **slackFile**(`input`, `settings?`): [`JsonObject`](../interfaces/JsonObject.md) + +Defined in: typescript/src/objects.ts:158 + +## Parameters + +### input + +#### id? + +`string` + +#### url? + +`string` + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`JsonObject`](../interfaces/JsonObject.md) diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/staticMultiSelect.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/staticMultiSelect.md new file mode 100644 index 00000000..19716ab7 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/staticMultiSelect.md @@ -0,0 +1,19 @@ +# Function: staticMultiSelect() + +> **staticMultiSelect**(`input`, `settings?`): [`SlackObject`](../type-aliases/SlackObject.md)\<`"multi_static_select"`\> + +Defined in: typescript/src/elements.ts:115 + +## Parameters + +### input + +[`ActionInput`](../interfaces/ActionInput.md) + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackObject`](../type-aliases/SlackObject.md)\<`"multi_static_select"`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/staticSelect.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/staticSelect.md new file mode 100644 index 00000000..bfaa3526 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/staticSelect.md @@ -0,0 +1,19 @@ +# Function: staticSelect() + +> **staticSelect**(`input`, `settings?`): [`SlackObject`](../type-aliases/SlackObject.md)\<`"static_select"`\> + +Defined in: typescript/src/elements.ts:157 + +## Parameters + +### input + +[`ActionInput`](../interfaces/ActionInput.md) + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackObject`](../type-aliases/SlackObject.md)\<`"static_select"`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/table.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/table.md new file mode 100644 index 00000000..59c3384b --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/table.md @@ -0,0 +1,29 @@ +# Function: table() + +> **table**(`input`, `settings?`): [`SlackWire`](../type-aliases/SlackWire.md)\<`TableBlock`\> + +Defined in: typescript/src/blocks.ts:131 + +## Parameters + +### input + +#### blockId? + +`string` + +#### columnSettings? + +[`JsonObject`](../interfaces/JsonObject.md)[] + +#### rows + +[`JsonObject`](../interfaces/JsonObject.md)[][] + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackWire`](../type-aliases/SlackWire.md)\<`TableBlock`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/timePicker.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/timePicker.md new file mode 100644 index 00000000..ee7e9ed7 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/timePicker.md @@ -0,0 +1,19 @@ +# Function: timePicker() + +> **timePicker**(`input`, `settings?`): [`SlackObject`](../type-aliases/SlackObject.md)\<`"timepicker"`\> + +Defined in: typescript/src/elements.ts:165 + +## Parameters + +### input + +[`ActionInput`](../interfaces/ActionInput.md) + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackObject`](../type-aliases/SlackObject.md)\<`"timepicker"`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/trigger.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/trigger.md new file mode 100644 index 00000000..a19249b5 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/trigger.md @@ -0,0 +1,25 @@ +# Function: trigger() + +> **trigger**(`input`, `settings?`): [`JsonObject`](../interfaces/JsonObject.md) + +Defined in: typescript/src/objects.ts:144 + +## Parameters + +### input + +#### customizableInputParameters? + +[`JsonObject`](../interfaces/JsonObject.md)[] + +#### url + +`string` + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`JsonObject`](../interfaces/JsonObject.md) diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/urlInput.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/urlInput.md new file mode 100644 index 00000000..b4784f4e --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/urlInput.md @@ -0,0 +1,19 @@ +# Function: urlInput() + +> **urlInput**(`input`, `settings?`): [`SlackObject`](../type-aliases/SlackObject.md)\<`"url_text_input"`\> + +Defined in: typescript/src/elements.ts:169 + +## Parameters + +### input + +[`ActionInput`](../interfaces/ActionInput.md) + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackObject`](../type-aliases/SlackObject.md)\<`"url_text_input"`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/userMultiSelect.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/userMultiSelect.md new file mode 100644 index 00000000..a1ddfa94 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/userMultiSelect.md @@ -0,0 +1,19 @@ +# Function: userMultiSelect() + +> **userMultiSelect**(`input`, `settings?`): [`SlackObject`](../type-aliases/SlackObject.md)\<`"multi_users_select"`\> + +Defined in: typescript/src/elements.ts:119 + +## Parameters + +### input + +[`ActionInput`](../interfaces/ActionInput.md) + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackObject`](../type-aliases/SlackObject.md)\<`"multi_users_select"`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/userSelect.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/userSelect.md new file mode 100644 index 00000000..8a73e459 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/userSelect.md @@ -0,0 +1,19 @@ +# Function: userSelect() + +> **userSelect**(`input`, `settings?`): [`SlackObject`](../type-aliases/SlackObject.md)\<`"users_select"`\> + +Defined in: typescript/src/elements.ts:161 + +## Parameters + +### input + +[`ActionInput`](../interfaces/ActionInput.md) + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackObject`](../type-aliases/SlackObject.md)\<`"users_select"`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/validate.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/validate.md new file mode 100644 index 00000000..d6df448c --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/validate.md @@ -0,0 +1,15 @@ +# Function: validate() + +> **validate**(`payload`): `payload is JsonObject` + +Defined in: typescript/src/validation.ts:245 + +## Parameters + +### payload + +`unknown` + +## Returns + +`payload is JsonObject` diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/video.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/video.md new file mode 100644 index 00000000..0301c6b8 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/video.md @@ -0,0 +1,57 @@ +# Function: video() + +> **video**(`input`, `settings?`): [`SlackWire`](../type-aliases/SlackWire.md)\<`VideoBlock`\> + +Defined in: typescript/src/blocks.ts:138 + +## Parameters + +### input + +#### altText + +`string` + +#### authorName? + +`string` + +#### blockId? + +`string` + +#### description? + +[`TextLike`](../type-aliases/TextLike.md) + +#### providerIconUrl? + +`string` + +#### providerName? + +`string` + +#### thumbnailUrl + +`string` + +#### title + +[`TextLike`](../type-aliases/TextLike.md) + +#### titleUrl? + +`string` + +#### videoUrl + +`string` + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackWire`](../type-aliases/SlackWire.md)\<`VideoBlock`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/webhookMessage.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/webhookMessage.md new file mode 100644 index 00000000..3198f5fc --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/webhookMessage.md @@ -0,0 +1,53 @@ +# Function: webhookMessage() + +> **webhookMessage**(`input`, `settings?`): [`JsonObject`](../interfaces/JsonObject.md) + +Defined in: typescript/src/messages.ts:52 + +## Parameters + +### input + +#### attachments? + +[`JsonObject`](../interfaces/JsonObject.md)[] + +#### blocks? + +[`JsonObject`](../interfaces/JsonObject.md)[] + +#### deleteOriginal? + +`boolean` + +#### metadata? + +[`JsonObject`](../interfaces/JsonObject.md) + +#### replaceOriginal? + +`boolean` + +#### responseType? + +`"ephemeral"` \| `"in_channel"` + +#### text? + +`string` + +#### unfurlLinks? + +`boolean` + +#### unfurlMedia? + +`boolean` + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`JsonObject`](../interfaces/JsonObject.md) diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/workflow.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/workflow.md new file mode 100644 index 00000000..1f51b8d7 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/workflow.md @@ -0,0 +1,21 @@ +# Function: workflow() + +> **workflow**(`input`, `settings?`): [`JsonObject`](../interfaces/JsonObject.md) + +Defined in: typescript/src/objects.ts:151 + +## Parameters + +### input + +#### trigger + +[`JsonObject`](../interfaces/JsonObject.md) + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`JsonObject`](../interfaces/JsonObject.md) diff --git a/docs/versioned_docs/version-1.0/reference/typescript/functions/workflowButton.md b/docs/versioned_docs/version-1.0/reference/typescript/functions/workflowButton.md new file mode 100644 index 00000000..ae2899fd --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/functions/workflowButton.md @@ -0,0 +1,19 @@ +# Function: workflowButton() + +> **workflowButton**(`input`, `settings?`): [`SlackObject`](../type-aliases/SlackObject.md)\<`"workflow_button"`\> + +Defined in: typescript/src/elements.ts:173 + +## Parameters + +### input + +[`WorkflowButtonInput`](../interfaces/WorkflowButtonInput.md) + +### settings? + +[`FactorySettings`](../interfaces/FactorySettings.md) = `{}` + +## Returns + +[`SlackObject`](../type-aliases/SlackObject.md)\<`"workflow_button"`\> diff --git a/docs/versioned_docs/version-1.0/reference/typescript/index.md b/docs/versioned_docs/version-1.0/reference/typescript/index.md new file mode 100644 index 00000000..518dd7d6 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/index.md @@ -0,0 +1,116 @@ +# TypeScript API reference + +## Classes + +- [InvalidUsageError](classes/InvalidUsageError.md) +- [LengthError](classes/LengthError.md) +- [MissingRequiredError](classes/MissingRequiredError.md) +- [MutualExclusivityError](classes/MutualExclusivityError.md) +- [RangeError](classes/RangeError.md) +- [TypeMismatchError](classes/TypeMismatchError.md) + +## Interfaces + +- [ActionInput](interfaces/ActionInput.md) +- [ButtonInput](interfaces/ButtonInput.md) +- [ConfirmationInput](interfaces/ConfirmationInput.md) +- [FactorySettings](interfaces/FactorySettings.md) +- [JsonObject](interfaces/JsonObject.md) +- [MarkdownOptions](interfaces/MarkdownOptions.md) +- [MessageInput](interfaces/MessageInput.md) +- [OptionGroupInput](interfaces/OptionGroupInput.md) +- [OptionInput](interfaces/OptionInput.md) +- [PlainTextOptions](interfaces/PlainTextOptions.md) +- [RichTextStyle](interfaces/RichTextStyle.md) +- [SectionInput](interfaces/SectionInput.md) +- [WorkflowButtonInput](interfaces/WorkflowButtonInput.md) + +## Type Aliases + +- [BlockKitPayload](type-aliases/BlockKitPayload.md) +- [ElementInput](type-aliases/ElementInput.md) +- [ErrorCategory](type-aliases/ErrorCategory.md) +- [JsonPrimitive](type-aliases/JsonPrimitive.md) +- [JsonValue](type-aliases/JsonValue.md) +- [SlackCompatibleBlock](type-aliases/SlackCompatibleBlock.md) +- [SlackObject](type-aliases/SlackObject.md) +- [SlackWire](type-aliases/SlackWire.md) +- [TextLike](type-aliases/TextLike.md) +- [TextObject](type-aliases/TextObject.md) + +## Variables + +- [specVersion](variables/specVersion.md) + +## Functions + +- [actions](functions/actions.md) +- [assertValid](functions/assertValid.md) +- [asText](functions/asText.md) +- [attachment](functions/attachment.md) +- [blockKitBuilderUrl](functions/blockKitBuilderUrl.md) +- [button](functions/button.md) +- [channelMultiSelect](functions/channelMultiSelect.md) +- [channelSelect](functions/channelSelect.md) +- [checkboxes](functions/checkboxes.md) +- [columnSettings](functions/columnSettings.md) +- [confirmation](functions/confirmation.md) +- [context](functions/context.md) +- [conversationFilter](functions/conversationFilter.md) +- [conversationMultiSelect](functions/conversationMultiSelect.md) +- [conversationSelect](functions/conversationSelect.md) +- [datePicker](functions/datePicker.md) +- [dateTimePicker](functions/dateTimePicker.md) +- [dispatchActionConfiguration](functions/dispatchActionConfiguration.md) +- [divider](functions/divider.md) +- [emailInput](functions/emailInput.md) +- [externalMultiSelect](functions/externalMultiSelect.md) +- [externalSelect](functions/externalSelect.md) +- [fileBlock](functions/fileBlock.md) +- [fileInput](functions/fileInput.md) +- [header](functions/header.md) +- [homeTab](functions/homeTab.md) +- [imageBlock](functions/imageBlock.md) +- [imageElement](functions/imageElement.md) +- [input](functions/input.md) +- [inputParameter](functions/inputParameter.md) +- [markdownBlock](functions/markdownBlock.md) +- [message](functions/message.md) +- [messageResponse](functions/messageResponse.md) +- [modal](functions/modal.md) +- [mrkdwn](functions/mrkdwn.md) +- [numberInput](functions/numberInput.md) +- [option](functions/option.md) +- [optionGroup](functions/optionGroup.md) +- [overflow](functions/overflow.md) +- [plainText](functions/plainText.md) +- [plainTextInput](functions/plainTextInput.md) +- [radioButtons](functions/radioButtons.md) +- [rawText](functions/rawText.md) +- [richText](functions/richText.md) +- [richTextBlock](functions/richTextBlock.md) +- [richTextChannel](functions/richTextChannel.md) +- [richTextCodeBlock](functions/richTextCodeBlock.md) +- [richTextEmoji](functions/richTextEmoji.md) +- [richTextInput](functions/richTextInput.md) +- [richTextLink](functions/richTextLink.md) +- [richTextList](functions/richTextList.md) +- [richTextQuote](functions/richTextQuote.md) +- [richTextSection](functions/richTextSection.md) +- [richTextUser](functions/richTextUser.md) +- [richTextUserGroup](functions/richTextUserGroup.md) +- [section](functions/section.md) +- [slackFile](functions/slackFile.md) +- [staticMultiSelect](functions/staticMultiSelect.md) +- [staticSelect](functions/staticSelect.md) +- [table](functions/table.md) +- [timePicker](functions/timePicker.md) +- [trigger](functions/trigger.md) +- [urlInput](functions/urlInput.md) +- [userMultiSelect](functions/userMultiSelect.md) +- [userSelect](functions/userSelect.md) +- [validate](functions/validate.md) +- [video](functions/video.md) +- [webhookMessage](functions/webhookMessage.md) +- [workflow](functions/workflow.md) +- [workflowButton](functions/workflowButton.md) diff --git a/docs/versioned_docs/version-1.0/reference/typescript/interfaces/ActionInput.md b/docs/versioned_docs/version-1.0/reference/typescript/interfaces/ActionInput.md new file mode 100644 index 00000000..f8a4b1a4 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/interfaces/ActionInput.md @@ -0,0 +1,19 @@ +# Interface: ActionInput + +Defined in: typescript/src/elements.ts:8 + +## Extends + +- [`ElementInput`](../type-aliases/ElementInput.md) + +## Indexable + +> \[`key`: `string`\]: `unknown` + +## Properties + +### actionId + +> **actionId**: `string` + +Defined in: typescript/src/elements.ts:9 diff --git a/docs/versioned_docs/version-1.0/reference/typescript/interfaces/ButtonInput.md b/docs/versioned_docs/version-1.0/reference/typescript/interfaces/ButtonInput.md new file mode 100644 index 00000000..c6b4a3a0 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/interfaces/ButtonInput.md @@ -0,0 +1,67 @@ +# Interface: ButtonInput + +Defined in: typescript/src/elements.ts:25 + +## Extends + +- [`ElementInput`](../type-aliases/ElementInput.md) + +## Indexable + +> \[`key`: `string`\]: `unknown` + +## Properties + +### accessibilityLabel? + +> `optional` **accessibilityLabel?**: `string` + +Defined in: typescript/src/elements.ts:32 + +*** + +### actionId + +> **actionId**: `string` + +Defined in: typescript/src/elements.ts:27 + +*** + +### confirm? + +> `optional` **confirm?**: [`JsonObject`](JsonObject.md) + +Defined in: typescript/src/elements.ts:31 + +*** + +### style? + +> `optional` **style?**: `"primary"` \| `"danger"` + +Defined in: typescript/src/elements.ts:30 + +*** + +### text + +> **text**: [`TextLike`](../type-aliases/TextLike.md) + +Defined in: typescript/src/elements.ts:26 + +*** + +### url? + +> `optional` **url?**: `string` + +Defined in: typescript/src/elements.ts:28 + +*** + +### value? + +> `optional` **value?**: `string` + +Defined in: typescript/src/elements.ts:29 diff --git a/docs/versioned_docs/version-1.0/reference/typescript/interfaces/ConfirmationInput.md b/docs/versioned_docs/version-1.0/reference/typescript/interfaces/ConfirmationInput.md new file mode 100644 index 00000000..83028b2c --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/interfaces/ConfirmationInput.md @@ -0,0 +1,35 @@ +# Interface: ConfirmationInput + +Defined in: typescript/src/objects.ts:47 + +## Properties + +### confirm + +> **confirm**: [`TextLike`](../type-aliases/TextLike.md) + +Defined in: typescript/src/objects.ts:50 + +*** + +### deny + +> **deny**: [`TextLike`](../type-aliases/TextLike.md) + +Defined in: typescript/src/objects.ts:51 + +*** + +### text + +> **text**: [`TextLike`](../type-aliases/TextLike.md) + +Defined in: typescript/src/objects.ts:49 + +*** + +### title + +> **title**: [`TextLike`](../type-aliases/TextLike.md) + +Defined in: typescript/src/objects.ts:48 diff --git a/docs/versioned_docs/version-1.0/reference/typescript/interfaces/FactorySettings.md b/docs/versioned_docs/version-1.0/reference/typescript/interfaces/FactorySettings.md new file mode 100644 index 00000000..3c2c9784 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/interfaces/FactorySettings.md @@ -0,0 +1,13 @@ +# Interface: FactorySettings + +Defined in: typescript/src/types.ts:10 + +## Properties + +### validate? + +> `optional` **validate?**: `boolean` + +Defined in: typescript/src/types.ts:12 + +Disable eager validation for this construction only. diff --git a/docs/versioned_docs/version-1.0/reference/typescript/interfaces/JsonObject.md b/docs/versioned_docs/version-1.0/reference/typescript/interfaces/JsonObject.md new file mode 100644 index 00000000..fc004bda --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/interfaces/JsonObject.md @@ -0,0 +1,7 @@ +# Interface: JsonObject + +Defined in: typescript/src/types.ts:6 + +## Indexable + +> \[`key`: `string`\]: [`JsonValue`](../type-aliases/JsonValue.md) diff --git a/docs/versioned_docs/version-1.0/reference/typescript/interfaces/MarkdownOptions.md b/docs/versioned_docs/version-1.0/reference/typescript/interfaces/MarkdownOptions.md new file mode 100644 index 00000000..d6e1fc22 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/interfaces/MarkdownOptions.md @@ -0,0 +1,11 @@ +# Interface: MarkdownOptions + +Defined in: typescript/src/objects.ts:12 + +## Properties + +### verbatim? + +> `optional` **verbatim?**: `boolean` + +Defined in: typescript/src/objects.ts:13 diff --git a/docs/versioned_docs/version-1.0/reference/typescript/interfaces/MessageInput.md b/docs/versioned_docs/version-1.0/reference/typescript/interfaces/MessageInput.md new file mode 100644 index 00000000..609df5ac --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/interfaces/MessageInput.md @@ -0,0 +1,67 @@ +# Interface: MessageInput + +Defined in: typescript/src/messages.ts:11 + +## Properties + +### attachments? + +> `optional` **attachments?**: [`JsonObject`](JsonObject.md)[] + +Defined in: typescript/src/messages.ts:14 + +*** + +### blocks? + +> `optional` **blocks?**: [`JsonObject`](JsonObject.md)[] + +Defined in: typescript/src/messages.ts:13 + +*** + +### channel + +> **channel**: `string` + +Defined in: typescript/src/messages.ts:12 + +*** + +### metadata? + +> `optional` **metadata?**: [`JsonObject`](JsonObject.md) + +Defined in: typescript/src/messages.ts:19 + +*** + +### mrkdwn? + +> `optional` **mrkdwn?**: `boolean` + +Defined in: typescript/src/messages.ts:16 + +*** + +### text? + +> `optional` **text?**: `string` + +Defined in: typescript/src/messages.ts:15 + +*** + +### unfurlLinks? + +> `optional` **unfurlLinks?**: `boolean` + +Defined in: typescript/src/messages.ts:17 + +*** + +### unfurlMedia? + +> `optional` **unfurlMedia?**: `boolean` + +Defined in: typescript/src/messages.ts:18 diff --git a/docs/versioned_docs/version-1.0/reference/typescript/interfaces/OptionGroupInput.md b/docs/versioned_docs/version-1.0/reference/typescript/interfaces/OptionGroupInput.md new file mode 100644 index 00000000..7ab34375 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/interfaces/OptionGroupInput.md @@ -0,0 +1,19 @@ +# Interface: OptionGroupInput + +Defined in: typescript/src/objects.ts:105 + +## Properties + +### label + +> **label**: [`TextLike`](../type-aliases/TextLike.md) + +Defined in: typescript/src/objects.ts:106 + +*** + +### options + +> **options**: [`JsonObject`](JsonObject.md)[] + +Defined in: typescript/src/objects.ts:107 diff --git a/docs/versioned_docs/version-1.0/reference/typescript/interfaces/OptionInput.md b/docs/versioned_docs/version-1.0/reference/typescript/interfaces/OptionInput.md new file mode 100644 index 00000000..76562de3 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/interfaces/OptionInput.md @@ -0,0 +1,35 @@ +# Interface: OptionInput + +Defined in: typescript/src/objects.ts:78 + +## Properties + +### description? + +> `optional` **description?**: [`TextLike`](../type-aliases/TextLike.md) + +Defined in: typescript/src/objects.ts:81 + +*** + +### text + +> **text**: [`TextLike`](../type-aliases/TextLike.md) + +Defined in: typescript/src/objects.ts:79 + +*** + +### url? + +> `optional` **url?**: `string` + +Defined in: typescript/src/objects.ts:82 + +*** + +### value + +> **value**: `string` + +Defined in: typescript/src/objects.ts:80 diff --git a/docs/versioned_docs/version-1.0/reference/typescript/interfaces/PlainTextOptions.md b/docs/versioned_docs/version-1.0/reference/typescript/interfaces/PlainTextOptions.md new file mode 100644 index 00000000..b7e13e8d --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/interfaces/PlainTextOptions.md @@ -0,0 +1,11 @@ +# Interface: PlainTextOptions + +Defined in: typescript/src/objects.ts:8 + +## Properties + +### emoji? + +> `optional` **emoji?**: `boolean` + +Defined in: typescript/src/objects.ts:9 diff --git a/docs/versioned_docs/version-1.0/reference/typescript/interfaces/RichTextStyle.md b/docs/versioned_docs/version-1.0/reference/typescript/interfaces/RichTextStyle.md new file mode 100644 index 00000000..4d77d16c --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/interfaces/RichTextStyle.md @@ -0,0 +1,35 @@ +# Interface: RichTextStyle + +Defined in: typescript/src/rich-text.ts:4 + +## Properties + +### bold? + +> `optional` **bold?**: `boolean` + +Defined in: typescript/src/rich-text.ts:5 + +*** + +### code? + +> `optional` **code?**: `boolean` + +Defined in: typescript/src/rich-text.ts:8 + +*** + +### italic? + +> `optional` **italic?**: `boolean` + +Defined in: typescript/src/rich-text.ts:6 + +*** + +### strike? + +> `optional` **strike?**: `boolean` + +Defined in: typescript/src/rich-text.ts:7 diff --git a/docs/versioned_docs/version-1.0/reference/typescript/interfaces/SectionInput.md b/docs/versioned_docs/version-1.0/reference/typescript/interfaces/SectionInput.md new file mode 100644 index 00000000..c76cd2e6 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/interfaces/SectionInput.md @@ -0,0 +1,35 @@ +# Interface: SectionInput + +Defined in: typescript/src/blocks.ts:20 + +## Properties + +### accessory? + +> `optional` **accessory?**: [`JsonObject`](JsonObject.md) + +Defined in: typescript/src/blocks.ts:24 + +*** + +### blockId? + +> `optional` **blockId?**: `string` + +Defined in: typescript/src/blocks.ts:22 + +*** + +### fields? + +> `optional` **fields?**: [`TextLike`](../type-aliases/TextLike.md)[] + +Defined in: typescript/src/blocks.ts:23 + +*** + +### text? + +> `optional` **text?**: [`TextLike`](../type-aliases/TextLike.md) + +Defined in: typescript/src/blocks.ts:21 diff --git a/docs/versioned_docs/version-1.0/reference/typescript/interfaces/WorkflowButtonInput.md b/docs/versioned_docs/version-1.0/reference/typescript/interfaces/WorkflowButtonInput.md new file mode 100644 index 00000000..1ceef756 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/interfaces/WorkflowButtonInput.md @@ -0,0 +1,51 @@ +# Interface: WorkflowButtonInput + +Defined in: typescript/src/elements.ts:35 + +## Extends + +- [`ElementInput`](../type-aliases/ElementInput.md) + +## Indexable + +> \[`key`: `string`\]: `unknown` + +## Properties + +### accessibilityLabel? + +> `optional` **accessibilityLabel?**: `string` + +Defined in: typescript/src/elements.ts:40 + +*** + +### actionId? + +> `optional` **actionId?**: `string` + +Defined in: typescript/src/elements.ts:38 + +*** + +### confirm? + +> `optional` **confirm?**: [`JsonObject`](JsonObject.md) + +Defined in: typescript/src/elements.ts:39 + +*** + +### text + +> **text**: [`TextLike`](../type-aliases/TextLike.md) + +Defined in: typescript/src/elements.ts:36 + +*** + +### workflow + +> **workflow**: [`JsonObject`](JsonObject.md) + +Defined in: typescript/src/elements.ts:37 diff --git a/docs/versioned_docs/version-1.0/reference/typescript/type-aliases/BlockKitPayload.md b/docs/versioned_docs/version-1.0/reference/typescript/type-aliases/BlockKitPayload.md new file mode 100644 index 00000000..41b7ff09 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/type-aliases/BlockKitPayload.md @@ -0,0 +1,5 @@ +# Type Alias: BlockKitPayload + +> **BlockKitPayload** = [`JsonObject`](../interfaces/JsonObject.md) + +Defined in: typescript/src/types.ts:15 diff --git a/docs/versioned_docs/version-1.0/reference/typescript/type-aliases/ElementInput.md b/docs/versioned_docs/version-1.0/reference/typescript/type-aliases/ElementInput.md new file mode 100644 index 00000000..b5c0d0bf --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/type-aliases/ElementInput.md @@ -0,0 +1,5 @@ +# Type Alias: ElementInput + +> **ElementInput** = `Record`\<`string`, `unknown`\> + +Defined in: typescript/src/elements.ts:6 diff --git a/docs/versioned_docs/version-1.0/reference/typescript/type-aliases/ErrorCategory.md b/docs/versioned_docs/version-1.0/reference/typescript/type-aliases/ErrorCategory.md new file mode 100644 index 00000000..9e242baf --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/type-aliases/ErrorCategory.md @@ -0,0 +1,5 @@ +# Type Alias: ErrorCategory + +> **ErrorCategory** = `"length-exceeded"` \| `"out-of-range"` \| `"mutually-exclusive"` \| `"type-mismatch"` \| `"missing-required"` \| `"invalid-usage"` + +Defined in: typescript/src/errors.ts:1 diff --git a/docs/versioned_docs/version-1.0/reference/typescript/type-aliases/JsonPrimitive.md b/docs/versioned_docs/version-1.0/reference/typescript/type-aliases/JsonPrimitive.md new file mode 100644 index 00000000..eae8d74a --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/type-aliases/JsonPrimitive.md @@ -0,0 +1,5 @@ +# Type Alias: JsonPrimitive + +> **JsonPrimitive** = `boolean` \| `number` \| `string` \| `null` + +Defined in: typescript/src/types.ts:3 diff --git a/docs/versioned_docs/version-1.0/reference/typescript/type-aliases/JsonValue.md b/docs/versioned_docs/version-1.0/reference/typescript/type-aliases/JsonValue.md new file mode 100644 index 00000000..68399791 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/type-aliases/JsonValue.md @@ -0,0 +1,5 @@ +# Type Alias: JsonValue + +> **JsonValue** = [`JsonPrimitive`](JsonPrimitive.md) \| [`JsonObject`](../interfaces/JsonObject.md) \| `JsonValue`[] + +Defined in: typescript/src/types.ts:4 diff --git a/docs/versioned_docs/version-1.0/reference/typescript/type-aliases/SlackCompatibleBlock.md b/docs/versioned_docs/version-1.0/reference/typescript/type-aliases/SlackCompatibleBlock.md new file mode 100644 index 00000000..6d34a9cd --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/type-aliases/SlackCompatibleBlock.md @@ -0,0 +1,7 @@ +# Type Alias: SlackCompatibleBlock + +> **SlackCompatibleBlock** = [`SlackWire`](SlackWire.md)\<`KnownBlock`\> + +Defined in: typescript/src/types.ts:20 + +Compatibility helper for call sites that accept Slack's official block types. diff --git a/docs/versioned_docs/version-1.0/reference/typescript/type-aliases/SlackObject.md b/docs/versioned_docs/version-1.0/reference/typescript/type-aliases/SlackObject.md new file mode 100644 index 00000000..3c407c62 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/type-aliases/SlackObject.md @@ -0,0 +1,17 @@ +# Type Alias: SlackObject\ + +> **SlackObject**\<`Type`\> = [`JsonObject`](../interfaces/JsonObject.md) & `object` + +Defined in: typescript/src/types.ts:16 + +## Type Declaration + +### type + +> **type**: `Type` + +## Type Parameters + +### Type + +`Type` *extends* `string` diff --git a/docs/versioned_docs/version-1.0/reference/typescript/type-aliases/SlackWire.md b/docs/versioned_docs/version-1.0/reference/typescript/type-aliases/SlackWire.md new file mode 100644 index 00000000..c7672402 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/type-aliases/SlackWire.md @@ -0,0 +1,11 @@ +# Type Alias: SlackWire\ + +> **SlackWire**\<`Type`\> = `Type` & [`JsonObject`](../interfaces/JsonObject.md) + +Defined in: typescript/src/types.ts:17 + +## Type Parameters + +### Type + +`Type` diff --git a/docs/versioned_docs/version-1.0/reference/typescript/type-aliases/TextLike.md b/docs/versioned_docs/version-1.0/reference/typescript/type-aliases/TextLike.md new file mode 100644 index 00000000..3fa8989b --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/type-aliases/TextLike.md @@ -0,0 +1,5 @@ +# Type Alias: TextLike + +> **TextLike** = `string` \| [`TextObject`](TextObject.md) + +Defined in: typescript/src/objects.ts:6 diff --git a/docs/versioned_docs/version-1.0/reference/typescript/type-aliases/TextObject.md b/docs/versioned_docs/version-1.0/reference/typescript/type-aliases/TextObject.md new file mode 100644 index 00000000..f78a5e82 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/type-aliases/TextObject.md @@ -0,0 +1,5 @@ +# Type Alias: TextObject + +> **TextObject** = [`SlackObject`](SlackObject.md)\<`"plain_text"` \| `"mrkdwn"`\> + +Defined in: typescript/src/objects.ts:5 diff --git a/docs/versioned_docs/version-1.0/reference/typescript/variables/specVersion.md b/docs/versioned_docs/version-1.0/reference/typescript/variables/specVersion.md new file mode 100644 index 00000000..448d9874 --- /dev/null +++ b/docs/versioned_docs/version-1.0/reference/typescript/variables/specVersion.md @@ -0,0 +1,5 @@ +# Variable: specVersion + +> `const` **specVersion**: `"1.0.0"` = `"1.0.0"` + +Defined in: typescript/src/index.ts:12 diff --git a/docs/versioned_docs/version-1.0/usage/_category_.json b/docs/versioned_docs/version-1.0/usage/_category_.json new file mode 100644 index 00000000..15ef8773 --- /dev/null +++ b/docs/versioned_docs/version-1.0/usage/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "Usage", + "position": 2, + "collapsed": false +} diff --git a/docs/versioned_docs/version-1.0/usage/compatibility.mdx b/docs/versioned_docs/version-1.0/usage/compatibility.mdx new file mode 100644 index 00000000..2428dd91 --- /dev/null +++ b/docs/versioned_docs/version-1.0/usage/compatibility.mdx @@ -0,0 +1,74 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Compatibility + +This page documents which Python versions are supported by each `slackblocks` release line, so you can choose the right line for your runtime. + +Each row in the table maps a major `slackblocks` release line to the oldest Python interpreter that can run it. **Minimum Python** means that version or any newer supported Python version—not that the release only works on that one version. The status in parentheses tells you whether the line receives current feature development or maintenance fixes only. + +Start with the Python version used by your application or deployment environment, then choose the newest `slackblocks` line whose minimum requirement it meets. For example, Python 3.9 requires `slackblocks` 1.x, while Python 3.10 and newer can use 2.x. + +## Support matrix + +| `slackblocks` version | Minimum Python | Notes | +| --- | --- | --- | +| `1.x` (maintenance) | 3.8.1 | The last release line to support Python 3.8 and 3.9. | +| `2.x` (current) | 3.10 | Modern typing (`X \| Y`, `list[X]`), dataclasses with `slots`, `match` statements, and other Python 3.10+ features used internally. | + +If you cannot upgrade Python, pin to the appropriate major version: + + + + +```text +slackblocks>=1,<2 # Python 3.8/3.9 friendly +slackblocks>=2,<3 # Python 3.10+ only +``` + + + + + +```toml +slackblocks = "^1" # Python 3.8/3.9 friendly +slackblocks = "^2" # Python 3.10+ only +``` + + + + + +```toml +"slackblocks>=1,<2" # Python 3.8/3.9 friendly +"slackblocks>=2,<3" # Python 3.10+ only +``` + + + + + +## Why we move forward + +`slackblocks` follows the upstream Python release cycle. Once a Python version reaches its [official end-of-life](https://devguide.python.org/versions/), it stops receiving security patches, and we prefer not to ship new feature work targeting unmaintained runtimes. + +| Python version | EOL date | +| --- | --- | +| 3.8 | 2024-10-07 | +| 3.9 | 2025-10-31 | +| 3.10 | 2026-10 | +| 3.11 | 2027-10 | +| 3.12 | 2028-10 | +| 3.13 | 2029-10 | +| 3.14 | 2030-10 | + +Bugfix releases on existing lines may continue past these dates on a best-effort basis, but new feature work will target supported Pythons. + +## Choosing a version + +- **You're on Python 3.8 or 3.9**: install the latest `1.x`. +- **You're on Python 3.10 or newer**: install the current `2.x` release line. +- **You're starting a new project on a modern Python**: prefer `2.x` to take advantage of the improved typing surface. + +For an upgrade walkthrough from `1.x` to `2.x`, see the +[Migration Guide](migration). diff --git a/docs/versioned_docs/version-1.0/usage/cookbook.mdx b/docs/versioned_docs/version-1.0/usage/cookbook.mdx new file mode 100644 index 00000000..5ffe31c7 --- /dev/null +++ b/docs/versioned_docs/version-1.0/usage/cookbook.mdx @@ -0,0 +1,452 @@ +import LanguageContent, { Python, TypeScript } from '@site/src/components/LanguageContent'; + +# Recipe Book + +End-to-end recipes for common Slack messaging patterns. Each example produces a complete, valid `Message` (or `Modal`) you can pass directly to the Slack SDK. + +The reference docs cover *what* each class does in isolation; this page is for *how* to combine them into something useful. + +## Build status notification + +A typical CI/CD success or failure notification: header, summary fields, divider, contextual footer. + + + + +```python +from slackblocks import ( + ContextBlock, + DividerBlock, + HeaderBlock, + Message, + SectionBlock, + Text, +) + + +def build_status_message( + *, + channel: str, + project: str, + branch: str, + commit: str, + author: str, + duration: str, + passed: bool, +) -> Message: + icon = ":white_check_mark:" if passed else ":x:" + status = "passed" if passed else "failed" + + return Message( + channel=channel, + text=f"Build {status} for {project}@{branch}", # plain-text fallback + blocks=[ + HeaderBlock(f"{icon} {project} build {status}"), + SectionBlock( + fields=[ + f"*Branch*\n`{branch}`", + f"*Commit*\n`{commit[:7]}`", + f"*Author*\n{author}", + f"*Duration*\n{duration}", + ], + ), + DividerBlock(), + ContextBlock( + elements=[ + Text(f":calendar: Triggered by push to `{branch}`"), + ], + ), + ], + ) +``` + + + + +```ts +import { context, divider, header, message, mrkdwn, section } from "slackblocks"; + +function buildStatusMessage(input: { + channel: string; + project: string; + branch: string; + commit: string; + author: string; + duration: string; + passed: boolean; +}) { + const icon = input.passed ? ":white_check_mark:" : ":x:"; + const status = input.passed ? "passed" : "failed"; + + return message({ + channel: input.channel, + text: `Build ${status} for ${input.project}@${input.branch}`, + blocks: [ + header({ text: `${icon} ${input.project} build ${status}` }), + section({ + fields: [ + `*Branch*\n\`${input.branch}\``, + `*Commit*\n\`${input.commit.slice(0, 7)}\``, + `*Author*\n${input.author}`, + `*Duration*\n${input.duration}`, + ], + }), + divider(), + context({ elements: [mrkdwn(`:calendar: Triggered by push to \`${input.branch}\``)] }), + ], + }); +} +``` + + + + +Tips: + +- Always pass a `text=` fallback to `Message` — Slack uses it for desktop and mobile push notifications. +- `SectionBlock` accepts up to 10 `fields`, each up to 2,000 characters. + +## Approval request with action buttons + +A two-button approval flow. The buttons carry `value` and `action_id` so your interaction handler can identify them. + +```python +from slackblocks import ( + ActionsBlock, + Button, + ContextBlock, + HeaderBlock, + Message, + SectionBlock, + Text, +) + + +def approval_request(*, channel: str, request_id: str, requester: str, summary: str) -> Message: + return Message( + channel=channel, + text=f"Approval requested by {requester}", + blocks=[ + HeaderBlock(":hand: Approval needed"), + SectionBlock(text=f"*Requested by:* {requester}\n\n{summary}"), + ActionsBlock( + block_id=f"approval:{request_id}", + elements=[ + Button( + text="Approve", + action_id="approve", + value=request_id, + style="primary", + ), + Button( + text="Reject", + action_id="reject", + value=request_id, + style="danger", + ), + Button( + text="View details", + action_id="details", + url=f"https://approvals.example.com/{request_id}", + ), + ], + ), + ContextBlock( + elements=[Text(f"Request ID: `{request_id}`")], + ), + ], + ) +``` + +When the user clicks a button, Slack will POST an interaction payload to your app. Match on `action_id` (`approve` / `reject` / `details`) and pull the request ID from `block_id` or the button's `value`. + +## Rich-formatted alert + +Use `RichTextBlock` when you want inline bold/italic/code styling without writing markdown by hand. + +```python +from slackblocks import ( + Message, + RichText, + RichTextBlock, + RichTextLink, + RichTextSection, +) + + +def deploy_alert(*, channel: str, service: str, version: str, dashboard_url: str) -> Message: + return Message( + channel=channel, + text=f"Deployed {service} {version}", + blocks=[ + RichTextBlock( + RichTextSection( + elements=[ + RichText(text="Deployed "), + RichText(text=service, bold=True), + RichText(text=" version "), + RichText(text=version, code=True), + RichText(text=". "), + RichTextLink(url=dashboard_url, text="View dashboard"), + RichText(text="."), + ], + ), + ), + ], + ) +``` + +## Confirmation modal + +A modal is opened in response to an interaction `trigger_id` from Slack. + +```python +from slack_sdk import WebClient +from slackblocks import ( + InputBlock, + Modal, + PlainTextInput, + SectionBlock, +) + + +def open_confirmation_modal(client: WebClient, trigger_id: str, target: str) -> None: + modal = Modal( + title="Confirm deletion", + submit="Delete", + close="Cancel", + callback_id="confirm_delete", + private_metadata=target, # round-tripped back to your handler on submit + blocks=[ + SectionBlock(f":warning: This will permanently delete *{target}*."), + InputBlock( + label="Type the name to confirm", + element=PlainTextInput( + action_id="confirmation_text", + placeholder=target, + ), + block_id="confirmation", + ), + ], + ) + + client.views_open(trigger_id=trigger_id, view=modal.to_dict()) +``` + +When the user submits, your `view_submission` handler will receive the input under `state.values["confirmation"]["confirmation_text"]`. + +## Threaded reply + +Pass `thread_ts` (the timestamp of the parent message) to reply in-thread. + +```python +from slackblocks import Message, SectionBlock + +reply = Message( + channel="#general", + thread_ts="1700000000.000100", + blocks=SectionBlock("Reticulating splines... 30% complete."), +) +``` + +## Ephemeral slash-command response + +Reply to a slash command with a message only the invoking user sees: + +```python +from slackblocks import MessageResponse, SectionBlock + +body = MessageResponse( + blocks=SectionBlock(":mag: Searching... I'll DM you when I'm done."), + ephemeral=True, +).json() +# return `body` as the JSON response to Slack's slash-command webhook +``` + +## Multi-column status report (table) + +`TableBlock` is useful for compact tabular output. + +```python +from slackblocks import ( + ColumnSettings, + Message, + RawText, + RichText, + RichTextSection, + TableBlock, +) + + +def header_cell(text: str) -> RichTextSection: + return RichTextSection(elements=[RichText(text=text, bold=True)]) + + +report = Message( + channel="#ops", + text="Daily service report", + blocks=[ + TableBlock( + column_settings=[ + ColumnSettings(align="left"), + ColumnSettings(align="right"), + ColumnSettings(align="right"), + ], + rows=[ + [header_cell("Service"), header_cell("p99 (ms)"), header_cell("Errors")], + [RawText("api"), RawText("142"), RawText("3")], + [RawText("worker"), RawText("89"), RawText("0")], + [RawText("billing"), RawText("310"), RawText("12")], + ], + ), + ], +) +``` + +## Deprecated: colored-bar attachment + +Slack has long deprecated message attachments, but they're still the only way to get the colored vertical bar on the left of a message. `slackblocks` supports them when you really need that styling: + +```python +from slackblocks import ( + Attachment, + Color, + Message, + SectionBlock, +) + +msg = Message( + channel="#alerts", + text="Disk usage warning", + attachments=[ + Attachment( + color=Color.YELLOW, + blocks=[SectionBlock(":warning: `/var` is at 87% capacity on `prod-db-1`.")], + ), + ], +) +``` + +Prefer plain blocks where possible — Slack may drop attachment support in the future. + + +## Preview a message in the browser + +Use `block_kit_builder_url` to build a [Block Kit Builder](https://app.slack.com/block-kit-builder) URL and open it in your browser to verify a message before posting it. Useful while iterating on layout — no Slack credentials needed. + +```python +from slackblocks import ( + block_kit_builder_url, + DividerBlock, + HeaderBlock, + Markdown, + SectionBlock, +) + +blocks = [ + HeaderBlock("Build #482 passed :white_check_mark:"), + SectionBlock(text=Markdown("All 1,247 tests green in 3m 12s.")), + DividerBlock(), + SectionBlock(fields=["*Author*\n@nick", "*Branch*\n`main`"]), +] + +print(block_kit_builder_url(blocks)) +# https://app.slack.com/block-kit-builder/#%7B%22blocks%22%3A%5B...%5D%7D +``` + +`block_kit_builder_url` accepts: + +- A single `Block`, `Element`, or anything else with a `_resolve()` method. +- A list of `Block` objects (wrapped in `{"blocks": [...]}` automatically). +- A `Message`, `WebhookMessage`, `MessageResponse`, or `View`. +- A raw `dict` (escape hatch). + +Pass `team_id="T0123ABCD"` for a workspace-specific URL. + + +## Parse incoming Slack JSON + +If your app handles Slack interactivity payloads or events, you can parse the JSON back into `slackblocks` objects with `Block.from_dict`: + +```python +import json +from slackblocks import Block, SectionBlock + +incoming = json.loads(slack_request_body) + +for raw_block in incoming.get("blocks", []): + block = Block.from_dict(raw_block) + if isinstance(block, SectionBlock): + print("Section text:", block.text.text if block.text else None) +``` + +`Block.from_dict` reads `data["type"]` and dispatches to the right subclass. The composition objects (`Text`, `Option`, `Confirm`, etc.) round-trip fully via their own `from_dict` classmethods. + +In the current release, blocks containing interactive elements (`ActionsBlock`, `InputBlock`, `SectionBlock` with an `accessory`, `ContextBlock` with image elements) raise `NotImplementedError` — this is on the roadmap for a follow-up release. + + +## One-line workflow trigger + +`Workflow.from_url` collapses the most common workflow construction: + +```python +from slackblocks import ( + ActionsBlock, + Message, + SectionBlock, + Workflow, + WorkflowButton, +) + +msg = Message( + channel="#release", + blocks=[ + SectionBlock("Run the release workflow with the parameters below."), + ActionsBlock( + elements=[ + WorkflowButton( + text="Release", + workflow=Workflow.from_url( + "https://slack.com/shortcuts/Ft012KXZK1MZ/...", + env="prod", + retries="3", + ), + ), + ], + ), + ], +) +``` + +Each keyword pair becomes one `InputParameter` on the underlying `Trigger`. Calling `Workflow.from_url(url)` with no parameters omits the `customizable_input_parameters` field. + + +## Typed exception handling + +`InvalidUsageError` is the base type for every validation failure raised by `slackblocks`. As of `2.x`, five subclasses let you `except` for specific failure categories instead of string-matching the message: + +```python +from slackblocks import ( + Button, + LengthError, + MutualExclusivityError, + SlackFile, + Image, +) + +try: + Button(text="x" * 100, action_id="b") +except LengthError as e: + # specifically a length violation, not a missing-required or type-mismatch + log.warning("button text too long: %s", e) + +try: + Image( + image_url="https://x.png", + slack_file=SlackFile(url="https://y.png", id=None), + ) +except MutualExclusivityError as e: + log.error("image source ambiguous: %s", e) +``` + +Existing `except InvalidUsageError` blocks continue to catch every subclass — the new types are purely additive. diff --git a/docs/versioned_docs/version-1.0/usage/installation.mdx b/docs/versioned_docs/version-1.0/usage/installation.mdx new file mode 100644 index 00000000..935c0ee5 --- /dev/null +++ b/docs/versioned_docs/version-1.0/usage/installation.mdx @@ -0,0 +1,102 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import LanguageContent, { Python, TypeScript } from '@site/src/components/LanguageContent'; + +# Installation + +Choose Python or TypeScript from the site navigation. The selection applies across the documentation and is preserved as you move between pages. + + + + +Install the Python package from [PyPI](https://pypi.org/project/slackblocks/): + + + + +```bash +pip install slackblocks +``` + + + + +```bash +poetry add slackblocks +``` + + + + +```bash +pipenv install slackblocks +``` + + + + +```bash +uv add slackblocks +``` + + + + +Python 2.x requires Python 3.10 or newer and has no runtime dependencies. See [Compatibility](compatibility) for the support matrix and 1.x migration guidance. + +Verify the installation: + +```python +from slackblocks import Message, SectionBlock + +print(Message(channel="#general", blocks=SectionBlock("Hello, world!")).json()) +``` + +Pin the current major release with `slackblocks~=2.0`, and uninstall with `pip uninstall slackblocks` (or the equivalent command for your package manager). + + + + +Install the ESM package from npm: + + + + +```bash +pnpm add slackblocks +``` + + + + +```bash +npm install slackblocks +``` + + + + +```bash +yarn add slackblocks +``` + + + + +The package requires Node 20.19 or newer, is ESM-only, and emits no runtime imports beyond your own code. + +Verify the installation in `hello.mjs`: + +```ts +import { message, section } from "slackblocks"; + +console.log(message({ + channel: "C0123456", + blocks: [section({ text: "Hello, world!" })], +})); +``` + +Run it with `node hello.mjs`. Pin the current major release with `slackblocks@^2.0.0`, and uninstall with `pnpm remove slackblocks` (or your package manager's equivalent). + + + diff --git a/docs/versioned_docs/version-1.0/usage/migration.mdx b/docs/versioned_docs/version-1.0/usage/migration.mdx new file mode 100644 index 00000000..5c45ec28 --- /dev/null +++ b/docs/versioned_docs/version-1.0/usage/migration.mdx @@ -0,0 +1,253 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Migrating from 1.x to 2.x + +`slackblocks 2.0` is a major version bump that focuses on cleaning up internal +correctness issues, modernising the type-annotation surface, and adding several +ergonomic helpers. The good news: **for almost all users, upgrading is a +no-op** beyond changing the Python version pin. + +This page covers what actually changes for you and what's worth adopting once +you've upgraded. + +## Quick checklist + +| Step | Action | +| --- | --- | +| 1 | Confirm you are on **Python 3.10 or newer**. If not, stay on `slackblocks ~= 1.2`. | +| 2 | Bump your dependency pin to `slackblocks ~= 2.0` (or `>=2,<3`). | +| 3 | Run your test suite. Existing code should continue to work unchanged. | +| 4 | Optionally adopt the new conveniences below. | + +## Truly breaking changes + +There is exactly one breaking change you might trip over: + +### Python 3.8 and 3.9 are no longer supported + +Both reached upstream end of life +([3.8 EOL Oct 2024](https://devguide.python.org/versions/), +[3.9 EOL Oct 2025](https://devguide.python.org/versions/)) and are not +receiving security patches. + +If you are still on either: + +- **Stay on the `1.x` line** until you can upgrade Python. The 1.x line is + maintained on a best-effort basis for bugfixes; see the + [Compatibility](compatibility) page. +- Pin via your package manager: + + + + +```text +slackblocks>=1,<2 +``` + + + + + +```toml +slackblocks = "^1" +``` + + + + + +```toml +"slackblocks>=1,<2" +``` + + + + + +That's it for breaking changes. Nothing else in the public API was removed +or renamed. + +## What's *not* breaking, but worth adopting + +### `PlainText` and `Markdown` instead of `Text(type_=...)` + +Before: + +```python +from slackblocks import Text, TextType + +heading = Text("Welcome", type_=TextType.PLAINTEXT, emoji=True) +body = Text("**bold**", type_=TextType.MARKDOWN, verbatim=True) +``` + +After: + +```python +from slackblocks import PlainText, Markdown + +heading = PlainText("Welcome", emoji=True) +body = Markdown("**bold**", verbatim=True) +``` + +`PlainText` and `Markdown` are subclasses of `Text`, so anywhere a `Text` or +`TextLike` was accepted before still accepts the new types. The rendered +JSON is byte-identical to the equivalent `Text` calls. + +### `Workflow.from_url(...)` instead of nested `Workflow(trigger=Trigger(...))` + +Before: + +```python +from slackblocks import Workflow, Trigger, InputParameter + +workflow = Workflow( + trigger=Trigger( + url="https://slack.com/shortcuts/...", + customizable_input_parameters=[ + InputParameter(name="env", value="prod"), + InputParameter(name="retries", value="3"), + ], + ), +) +``` + +After: + +```python +from slackblocks import Workflow + +workflow = Workflow.from_url( + "https://slack.com/shortcuts/...", + env="prod", + retries="3", +) +``` + +The verbose form continues to work, so you do not have to migrate. + +### `block_kit_builder_url(...)` for browser preview + +New helper that turns any block, list of blocks, message, view, or raw dict +into a [Block Kit Builder](https://app.slack.com/block-kit-builder) URL. Open +the URL in your browser to see exactly what Slack will render before you +ship. + +```python +from slackblocks import SectionBlock, block_kit_builder_url + +print(block_kit_builder_url(SectionBlock("Hi"))) +# https://app.slack.com/block-kit-builder/#%7B%22blocks%22%3A%5B...%5D%7D +``` + +Pass `team_id="T0123ABCD"` for a workspace-specific URL. + +### Typed exceptions for finer-grained error handling + +`InvalidUsageError` now has five subclasses, raised in well-defined +situations: + +| Subclass | Raised when | +| --- | --- | +| `LengthError` | A string or list violates a min/max-length constraint. | +| `RangeError` | A numeric value violates a min/max-value constraint. | +| `TypeMismatchError` | Wrong type or unexpected discrete value. | +| `MutualExclusivityError` | Two args that must not both be set were both set. | +| `MissingRequiredError` | At least one of a set of args was required. | + +```python +from slackblocks import Button, LengthError + +try: + Button(text="x" * 100, action_id="b") +except LengthError as e: + # specifically a length violation + handle_length(e) +``` + +**Existing `except InvalidUsageError` blocks continue to catch every +subclass** — no change required to upgrade. The new subclasses are purely +additive. + +### Round-tripping incoming Slack JSON with `from_dict` + +If your app receives Slack interactivity payloads or events and wants to +inspect the blocks, you can now parse them back into `slackblocks` objects: + +```python +import json +from slackblocks import Block + +incoming = json.loads(slack_request_body) +block = Block.from_dict(incoming["blocks"][0]) +print(block.text.text) # for a SectionBlock, etc. +``` + +`Block.from_dict` reads `data["type"]` and dispatches to the right subclass. +Composition objects (`Text`, `Option`, `Confirm`, etc.) and the simple +blocks (`DividerBlock`, `FileBlock`, `HeaderBlock`, `MarkdownBlock`, +`ImageBlock`, `SectionBlock`, `ContextBlock`, `VideoBlock`) round-trip fully. + +Blocks that contain interactive elements (`ActionsBlock`, `InputBlock`, +`SectionBlock` with an `accessory`, `ContextBlock` with image elements) +raise `NotImplementedError` for now; these depend on `Element.from_dict` +which is planned for a follow-up release. + +### Two new block types + +Slack added these in 2024; they're now available: + +```python +from slackblocks import MarkdownBlock, VideoBlock + +# Slack's GitHub-flavored markdown block (richer than SectionBlock mrkdwn). +MarkdownBlock(text="# Heading\n\n- item 1\n- item 2") + +# Embed a video from a Slack-supported provider. +VideoBlock( + alt_text="Demo", + thumbnail_url="https://example.com/thumb.png", + title="Getting Started", + video_url="https://example.com/video.mp4", +) +``` + +## Type-checking improvements + +The 2.x series ships with substantially tighter type signatures. If you +type-check your code with mypy, pyright, or Pyre, expect that: + +- `Text.to_text("hi")` is now correctly typed as `Text` (was previously + `Text | None`). Code that did `assert text is not None` after `to_text` + calls can drop the assertion. +- `Button(style="warning")` is now flagged at type-check time — + `style` is `Literal["primary", "danger"] | ButtonStyle | None`. +- `ColumnSettings(align="LEFT")` is similarly flagged at type-check time. +- `ConversationFilter(include=["bogus"])` is flagged. + +These constraints already existed at runtime; the difference is that mypy +now agrees with the runtime behaviour. + +## Internal changes you might notice + +The `_resolve()` method on every block, element, and composition object was +refactored to use a shared `slackblocks._core.resolve()` walker. This is +strictly internal — JSON output is byte-identical to 1.x — but if you have +been subclassing internal classes you may notice the `_resolve` bodies are +much shorter. + +If you are extending `slackblocks` with custom classes: + +- If your custom class has a `_resolve` method that follows the existing + pattern (manual `if self.x is not None: out["x"] = self.x._resolve()`), it + continues to work in 2.x without modification. +- If you want, you can switch to using the new `slackblocks._core.resolve` + / `omit_none` helpers; doing so guarantees recursion into nested + `_resolve` outputs and is much more concise. + +## Reporting issues + +If you hit a real upgrade problem, please [open an issue on +GitHub](https://github.com/nicklambourne/slackblocks/issues/new) — include +your Python version, your `slackblocks` version (old and new), and a +minimal repro. diff --git a/docs/versioned_docs/version-1.0/usage/sending_messages.mdx b/docs/versioned_docs/version-1.0/usage/sending_messages.mdx new file mode 100644 index 00000000..9a039d95 --- /dev/null +++ b/docs/versioned_docs/version-1.0/usage/sending_messages.mdx @@ -0,0 +1,243 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import LanguageContent, { Python, TypeScript } from '@site/src/components/LanguageContent'; + +# Sending Messages + +`slackblocks` produces the JSON payloads that Slack APIs accept; it does **not** make HTTP calls itself. Send those payloads with Slack's official SDK or any HTTP client. + + + + +The trick is the `**` operator: a `slackblocks.Message` is a mapping, so you can unpack it directly into `client.chat_postMessage(...)`. + +## With the modern `slack-sdk` + + + + +```python +from os import environ +from slack_sdk import WebClient +from slackblocks import Message, SectionBlock + + +client = WebClient(token=environ["SLACK_API_TOKEN"]) +block = SectionBlock("Hello, world!") +message = Message(channel="#general", blocks=block) + +response = client.chat_postMessage(**message) +``` + + + + + +```json +{ + "channel": "#general", + "mrkdwn": true, + "blocks": [ + { + "type": "section", + "block_id": "992ceb6b-9ad4-496b-b8e6-1bd8a632e8b3", + "text": { + "type": "mrkdwn", + "text": "Hello, world!" + } + } + ] +} +``` +Note: the `block_id` field is a pseudorandomly generated UUID. Pass an explicit `block_id` to any block constructor if you need deterministic IDs (e.g. for testing or interaction handling). + + + + + +```bash +curl -H "Content-type: application/json" \ + --data '{"channel":"#general","blocks":[{"type":"section","block_id":"992ceb6b-9ad4-496b-b8e6-1bd8a632e8b3","text":{"type":"mrkdwn","text":"Hello, world!"}}]}' \ + -H "Authorization: Bearer ${SLACK_API_TOKEN}" \ + -X POST https://slack.com/api/chat.postMessage +``` + + + + + +![Hello World rendered in Slack](/img/hello_world.png) + + + + + +## With the legacy `slackclient` + +The API is identical — only the import path changes: + +```python +from os import environ +from slack import WebClient # legacy slackclient package +from slackblocks import Message, SectionBlock + + +client = WebClient(token=environ["SLACK_API_TOKEN"]) +message = Message(channel="#general", blocks=SectionBlock("Hello, world!")) + +response = client.chat_postMessage(**message) +``` + +## Other delivery surfaces + +`slackblocks` provides specialized message classes for each Slack delivery surface. They all unpack the same way as `Message`. + +### Incoming webhooks + +```python +from slack_sdk.webhook import WebhookClient +from slackblocks import WebhookMessage, SectionBlock + +webhook = WebhookClient(url="https://hooks.slack.com/services/...") +message = WebhookMessage(blocks=SectionBlock("Build complete :white_check_mark:")) + +webhook.send(**message) +``` + +`WebhookMessage` supports webhook-only options like `response_type`, `replace_original`, and `delete_original`. + +### Slash command / interaction responses + +When responding to a slash command or interactive payload, use `MessageResponse`: + +```python +from slackblocks import MessageResponse, SectionBlock + +response_body = MessageResponse( + blocks=SectionBlock("Got it! Working on that now..."), + ephemeral=True, # only visible to the invoking user +).json() +``` + +### Modals & home tabs + +For modals and home tab views, build a `Modal` (or `HomeTabView`) and pass it to `views_open` / `views_publish`: + +```python +from slack_sdk import WebClient +from slackblocks import Modal, SectionBlock + +client = WebClient(token=environ["SLACK_API_TOKEN"]) +modal = Modal( + title="Confirm action", + blocks=[SectionBlock("Are you sure?")], + submit="Yes", + close="Cancel", +) + +client.views_open(trigger_id=trigger_id, view=modal.to_dict()) +``` + +See [Modals reference](../reference/python/modals) and [Views reference](../reference/python/views) for the full surface. + +## Sending without an SDK + +Because `Message` renders to a plain dict, you can also send it directly: + +```python +import json +import os +import urllib.request + +from slackblocks import Message, SectionBlock + +message = Message(channel="#general", blocks=SectionBlock("Hello, world!")) + +req = urllib.request.Request( + "https://slack.com/api/chat.postMessage", + data=message.json().encode("utf-8"), + headers={ + "Content-Type": "application/json; charset=utf-8", + "Authorization": f"Bearer {os.environ['SLACK_API_TOKEN']}", + }, +) +urllib.request.urlopen(req) +``` + + + + +## With `@slack/web-api` + +Factories return plain Slack-shaped objects, so pass the payload directly to the official client: + +```ts +import { WebClient } from "@slack/web-api"; +import { message, section } from "slackblocks"; + +const client = new WebClient(process.env.SLACK_API_TOKEN); +const payload = message({ + channel: "C0123456", + blocks: [section({ text: "Hello, world!" })], +}); + +await client.chat.postMessage(payload); +``` + +Use a channel ID rather than a display name when possible. Provide a `text` fallback for notifications and accessibility in production messages. + +## Incoming webhooks + +```ts +import { IncomingWebhook } from "@slack/webhook"; +import { section, webhookMessage } from "slackblocks"; + +const webhook = new IncomingWebhook(process.env.SLACK_WEBHOOK_URL!); +await webhook.send(webhookMessage({ + blocks: [section({ text: "Build complete :white_check_mark:" })], +})); +``` + +## Slash-command and interaction responses + +Construct the response body, then return it through your web framework: + +```ts +import { messageResponse, section } from "slackblocks"; + +const responseBody = messageResponse({ + blocks: [section({ text: "Got it! Working on that now..." })], + responseType: "ephemeral", +}); +``` + +## Modals and home tabs + +```ts +import { modal, section } from "slackblocks"; + +const view = modal({ + title: "Confirm action", + blocks: [section({ text: "Are you sure?" })], + submit: "Yes", + close: "Cancel", +}); + +await client.views.open({ trigger_id: triggerId, view }); +``` + +## Sending without an SDK + +```ts +await fetch("https://slack.com/api/chat.postMessage", { + method: "POST", + headers: { + authorization: `Bearer ${process.env.SLACK_API_TOKEN}`, + "content-type": "application/json", + }, + body: JSON.stringify(payload), +}); +``` + + + diff --git a/docs/versioned_docs/version-1.0/usage/troubleshooting.md b/docs/versioned_docs/version-1.0/usage/troubleshooting.md new file mode 100644 index 00000000..7f8d0238 --- /dev/null +++ b/docs/versioned_docs/version-1.0/usage/troubleshooting.md @@ -0,0 +1,143 @@ +# Troubleshooting & FAQ + +Common questions, gotchas, and error messages. + +## Why is my message body coming through with literal `*asterisks*` instead of bold? + +Slack supports two text types: `mrkdwn` (a Slack-flavoured markdown) and `plain_text`. `slackblocks` uses `mrkdwn` by default for `SectionBlock` text, but **`HeaderBlock`, button labels, modal titles, input labels, and tab/option labels are forced to `plain_text` by Slack** — markdown syntax in those fields is rendered literally. + +If you need bold/italic styling in those places, you can't get it. If you need it elsewhere and aren't getting it, double-check you're not accidentally constructing a `Text(type_=TextType.PLAINTEXT, ...)`. + +## Why does my message say `text` is required? + +Slack will warn (or in some cases reject) messages that have `blocks` but no `text` fallback. The `text` field is used for: + +- Desktop and mobile **push notifications**. +- Accessibility readers. +- Clients that don't render Block Kit (rare, but they exist). + +Always pass a short `text=` summary alongside `blocks=`: + +```python +Message( + channel="#general", + text="Build #482 passed", # fallback + blocks=[HeaderBlock("Build #482 passed :white_check_mark:"), ...], +) +``` + +## What is `block_id` for? Should I set it? + +`block_id` is a stable identifier for a block. Slack echoes it back to you in interaction payloads (button clicks, modal submits) so you can correlate which block produced the event. + +- For **non-interactive** messages, you can leave it unset — `slackblocks` generates a random UUID. +- For **interactive** messages and modals, set explicit `block_id`s so your handlers can look up state reliably: + + ```python + ActionsBlock( + block_id="approval:req-123", + elements=[Button(text="Approve", action_id="approve", value="req-123")], + ) + ``` + +The same applies to `action_id` for elements. + +## What does `InvalidUsageError: ... exceeds limit of N characters` mean? + +Slack imposes hard character limits on most fields. `slackblocks` validates these at construction time so you find out before hitting Slack. Common limits: + +| Field | Limit (chars) | +|------------------------------------|---------------| +| `SectionBlock.text` | 3,000 | +| `SectionBlock.fields[i]` | 2,000 | +| `HeaderBlock.text` (`plain_text`) | 150 | +| `Button.text` | 75 | +| `Button.value` | 2,000 | +| `Button.url` | 3,000 | +| `Modal.title` / `submit` / `close` | 24 | +| `action_id` | 255 | +| `private_metadata` | 3,000 | +| `Option.url` | 3,000 | + +If a field exceeds its limit, truncate or split the content. + +## How many blocks can a single message have? + +- Channel messages: **50 blocks** (Slack-side limit). +- Modals and home tabs: **100 blocks**. +- `ContextBlock`: max **10 elements**. +- `ActionsBlock`: max **25 elements**. +- `SectionBlock.fields`: max **10 items**. +- `TableBlock`: max **100 rows × 20 columns**. + +## My buttons / selects don't do anything when clicked. + +`slackblocks` only constructs the *outgoing* payload. Handling button clicks, menu selections, and modal submissions requires: + +1. A public HTTPS endpoint registered as your app's **Interactivity & Shortcuts** URL. +2. An interaction handler that parses the payload Slack POSTs to that URL. + +The [`slack-bolt`](https://slack.dev/bolt-python/) framework is the easiest way to wire this up. + +## Why doesn't markdown work inside a `HeaderBlock`? + +By design — Slack only allows `plain_text` in headers. Use a `SectionBlock` (which supports `mrkdwn`) followed by a `DividerBlock` if you want bold or styled text as a heading. + +## How do I preview a message without actually sending it? + +Use Slack's [Block Kit Builder](https://app.slack.com/block-kit-builder) and paste the JSON output from `message.json()`: + +```python +print(message.json()) +``` + +## How do I send a `slackblocks.Message` with `requests`? + +`Message` renders to a dict, so: + +```python +import os +import requests + +from slackblocks import Message, SectionBlock + +message = Message(channel="#general", blocks=SectionBlock("Hi!")) + +requests.post( + "https://slack.com/api/chat.postMessage", + json=message.to_dict(), + headers={"Authorization": f"Bearer {os.environ['SLACK_API_TOKEN']}"}, +).raise_for_status() +``` + +## Can I use `slackblocks` with async code? + +Yes — `slackblocks` itself is synchronous and side-effect-free, so `Message(...)` construction works identically inside `async def` functions. Use the async `WebClient` from `slack_sdk.web.async_client` to actually send: + +```python +from slack_sdk.web.async_client import AsyncWebClient +from slackblocks import Message, SectionBlock + +async def notify(): + client = AsyncWebClient(token=...) + message = Message(channel="#general", blocks=SectionBlock("Hi!")) + await client.chat_postMessage(**message) +``` + +## How does `slackblocks` compare to the block classes in `slack-sdk`? + +`slack-sdk` ships its own `Block` / `SectionBlock` / etc. classes. `slackblocks` predates them and offers: + +- A more concise API (e.g. `SectionBlock("Hi!")` vs `SectionBlock(text=MarkdownTextObject(text="Hi!"))`). +- Stricter up-front validation with informative `InvalidUsageError` messages. +- Independent release cadence — usable with the legacy `slackclient` or no SDK at all. + +Use whichever you find more ergonomic; they produce equivalent JSON. + +## I'm getting a `pytest` `error` from a Python `DeprecationWarning`. + +`slackblocks`' own test suite turns warnings into errors via `pyproject.toml`. That setting only affects this project's CI — it doesn't propagate to your application. If you're seeing it, it's because you're running the `slackblocks` test suite as part of contributing. + +## Where do I report bugs / request features? + +GitHub Issues: diff --git a/docs/versioned_docs/version-1.0/usage/using_blocks.mdx b/docs/versioned_docs/version-1.0/usage/using_blocks.mdx new file mode 100644 index 00000000..50dc67dc --- /dev/null +++ b/docs/versioned_docs/version-1.0/usage/using_blocks.mdx @@ -0,0 +1,718 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Using Blocks + +Blocks are the fundamental visual units of a Slack message. Each block type renders as a different UI component (a section of text, a header, a divider, an image, a row of buttons, and so on). A `Message` is composed of one or more blocks, rendered top-to-bottom. + +This page lists every block type supported by `slackblocks`, with: + +- A short description of what the block is for. +- The `slackblocks` Python code to construct it. +- The JSON payload that's produced. +- A screenshot of how it looks in Slack. + +For the reverse mapping — looking up a class by name — see the [Blocks reference](../reference/python/blocks). For interactive UI bits (buttons, menus, date pickers) that go *inside* blocks, see [Elements](../reference/python/elements). + +## Section Block + + + + + + +```python +from slackblocks import CheckboxGroup, Option, SectionBlock + +SectionBlock( + text="This is a section block with a checkbox accessory.", + block_id="fake_block_id", + accessory=CheckboxGroup( + action_id="checkboxes-action", + options=[ + Option( + text="*Your Only Option*", + value="option_one" + ) + ] + ) +) +``` + + + + + +```json +{ + "type": "section", + "block_id": "fake_block_id", + "text": { + "type": "mrkdwn", + "text": "This is a section block with a checkbox accessory." + }, + "accessory": { + "type": "checkboxes", + "options": [ + { + "text": { + "type": "mrkdwn", + "text": "*Your Only Option*" + }, + "value": "option_one" + } + ], + "action_id": "checkboxes-action" + } +} +``` + + + + + +![An example of the UI output of a Section Block](/img/usage/section.png) + + + + + +## Rich Text Block + + + + +```python +from slackblocks import RichTextBlock, RichTextSection, RichText + +RichTextBlock( + RichTextSection( + [ + RichText( + "You 'bout to witness hip-hop in its most purest", + bold=True, + ), + RichText( + "Most rawest form, flow almost flawless", + strike=True, + ), + RichText( + "Most hardest, most honest known artist", + italic=True, + ), + ] + ), + block_id="fake_block_id", +) +``` + + + + + +```json +{ + "type": "rich_text", + "block_id": "fake_block_id", + "elements": [ + { + "type": "rich_text_section", + "elements": [ + { + "type": "text", + "text": "You 'bout to witness hip-hop in its most purest\n", + "style": { + "bold": true + } + }, + { + "type": "text", + "text": "Most rawest form, flow almost flawless\n", + "style": { + "strike": true + } + }, + { + "type": "text", + "text": "Most hardest, most honest known artist\n", + "style": { + "italic": true + } + } + ] + } + ] +} +``` + + + + + +![An example of the UI output of a Rich Text Block](/img/usage/rich_text.png) + + + + + +## Header Block + + + + + +```python +from slackblocks import HeaderBlock + +HeaderBlock( + "This is a header block", +) +``` + + + + + +```json +{ + "type": "header", + "text": { + "type": "plain_text", + "text": "This is a header block", + "emoji": true + } +} +``` + + + + + +![An example of the UI output of a Header Block](/img/usage/header.png) + + + + + +## Markdown Block + + +Slack added the `markdown` block type in 2024, primarily for AI / agentic apps. Unlike the `mrkdwn` text inside a [Section Block](#section-block), `MarkdownBlock` renders **GitHub-flavored Markdown**, supporting tables, code blocks, and richer list semantics. + +`text` is required (1 - 12,000 characters). + + + + +```python +from slackblocks import MarkdownBlock + +MarkdownBlock( + text="**Hello!** Markdown blocks support _GitHub-flavored_ syntax.", +) +``` + + + + + +```json +{ + "type": "markdown", + "text": "**Hello!** Markdown blocks support _GitHub-flavored_ syntax." +} +``` + + + + + +See the [Slack reference](https://api.slack.com/reference/block-kit/blocks#markdown) for the supported Markdown features. + + +## Image Block + + + + + +```python +from slackblocks import ImageBlock + +ImageBlock( + image_url="https://api.slack.com/img/blocks/bkb_template_images/beagle.png", + alt_text="a beagle", + title="dog", + block_id="fake_block_id", +) +``` + + + + + +```json +{ + "type": "image", + "block_id": "fake_block_id", + "image_url": "https://api.slack.com/img/blocks/bkb_template_images/beagle.png", + "alt_text": "a beagle", + "title": { + "type": "plain_text", + "text": "dog" + } +} +``` + + + + + +![An example of the UI output of an Image Block](/img/usage/image.png) + + + + + +## Input Block + + + + + +```python +from slackblocks import InputBlock, Text, TextType, PlainTextInput + +InputBlock( + label=Text("Label", type_=TextType.PLAINTEXT, emoji=True), + hint=Text("Hint", type_=TextType.PLAINTEXT, emoji=True), + element=PlainTextInput(action_id="action"), + block_id="fake_block_id", + optional=True, +) +``` + + + + + +```json +{ + "type": "input", + "block_id": "fake_block_id", + "label": { + "type": "plain_text", + "text": "Label", + "emoji": true + }, + "element": { + "type": "plain_text_input", + "action_id": "action" + }, + "hint": { + "type": "plain_text", + "text": "Hint", + "emoji": true + }, + "optional": true +} +``` + + + + + +![An example of the UI output of an Input Block](/img/usage/input.png) + + + + + +## Divider Block + + + + + +```python +from slackblocks import DividerBlock + +DividerBlock() +``` + + + + + +```json +{ + "type": "divider" +} +``` + + + + + +![An example of the UI output of an Divider Block](/img/usage/divider.png) + + + + + +## File Block + + + + + +```python +from slackblocks import FileBlock + +FileBlock( + external_id="external_id", + block_id="fake_block_id", +) +``` + + + + + +```json +{ + "type": "file", + "external_id": "external_id", + "source": "remote", + "block_id": "fake_block_id" +} +``` + + + + + +![An example of the UI output of an File Block](https://a.slack-edge.com/f156a3/img/api/file_upload_remote_file.png) +* Note that this example comes from the Slack Web API docs. + + + + + +## Context Block + + + + + +```python +from slackblocks import ContextBlock, Text + +ContextBlock( + elements=[ + Text("Hello, world!"), + ], + block_id="fake_block_id" +) +``` + + + + + +```json +{ + "type": "context", + "block_id": "fake_block_id", + "elements": [ + { + "type": "mrkdwn", + "text": "Hello, world!" + } + ] +} +``` + + + + + +![An example of the UI output of a Context Block](/img/usage/context.png) + + + + + +## Actions Block + + + + +```python +from slackblocks import ActionsBlock, CheckboxGroup, Option + +ActionsBlock( + block_id="fake_block_id", + elements=CheckboxGroup( + action_id="actionId-0", + options=[ + Option(text="*a*", value="a", description="*a*"), + Option(text="*b*", value="b", description="*b*"), + Option(text="*c*", value="c", description="*c*"), + ], + ), +) +``` + + + + + +```json +{ + "type": "actions", + "block_id": "fake_block_id", + "elements": [ + { + "type": "checkboxes", + "action_id": "actionId-0", + "options": [ + { + "text": { + "type": "mrkdwn", + "text": "*a*" + }, + "value": "a", + "description": { + "type": "plain_text", + "text": "*a*" + } + }, + { + "text": { + "type": "mrkdwn", + "text": "*b*" + }, + "value": "b", + "description": { + "type": "plain_text", + "text": "*b*" + } + }, + { + "text": { + "type": "mrkdwn", + "text": "*c*" + }, + "value": "c", + "description": { + "type": "plain_text", + "text": "*c*" + } + } + ] + } + ] +} +``` + + + + + +![An example of the UI output of an Actions Block](/img/usage/actions.png) + + + + + +## Table Block + + + + +```python +from slackblocks import ( + ColumnSettings, + RawText, + RichText, + RichTextLink, + RichTextSection, + TableBlock, +) + +TableBlock( + column_settings=[ + ColumnSettings(align="right", is_wrapped=True), + ColumnSettings(align="left"), + ], + rows=[ + [ + RichTextSection( + elements=[RichText(text="Header 1", bold=True)], + ), + RichTextSection( + elements=[RichText(text="Header 2", bold=True)], + ), + ], + [ + RawText(text="Datum 1"), + RichTextSection( + elements=[ + RichTextLink( + url="https://slack.com", + text="Datum 2", + ) + ], + ), + ], + ], +) +``` + + + + + +```json +{ + "blocks": [ + { + "type": "table", + "rows": [ + [ + { + "type": "rich_text", + "elements": [ + { + "type": "rich_text_section", + "elements": [ + { + "type": "text", + "text": "Header 1", + "style": { + "bold": true + } + } + ] + } + ] + }, + { + "type": "rich_text", + "elements": [ + { + "type": "rich_text_section", + "elements": [ + { + "type": "text", + "text": "Header 2", + "style": { + "bold": true + } + } + ] + } + ] + } + ], + [ + { + "type": "rich_text", + "elements": [ + { + "type": "rich_text_section", + "elements": [ + { + "type": "text", + "text": "Datum 1" + } + ] + } + ] + }, + { + "type": "rich_text", + "elements": [ + { + "type": "rich_text_section", + "elements": [ + { + "type": "text", + "text": "Datum 2" + } + ] + } + ] + } + ] + ] + } + ] +} +``` + + + + + +![An example of the UI output of a Table Block](/img/usage/table.png) + + + + + +## Video Block + + +Embeds a video from a Slack-supported provider (e.g. YouTube, Vimeo). The `title` accepts either a `str` (coerced to plain-text) or a `Text` instance; `description` works the same way. + +Required: `alt_text`, `thumbnail_url`, `title`, `video_url`. Slack restricts which domains may be embedded — supplying an unsupported URL will produce a Slack API error rather than an `InvalidUsageError` at construction. + + + + +```python +from slackblocks import VideoBlock + +VideoBlock( + alt_text="How to use slackblocks", + thumbnail_url="https://example.com/thumb.png", + title="Getting Started", + video_url="https://example.com/video.mp4", + author_name="The slackblocks docs", + description="A short walkthrough.", + provider_name="example.com", + title_url="https://example.com", +) +``` + + + + + +```json +{ + "type": "video", + "alt_text": "How to use slackblocks", + "thumbnail_url": "https://example.com/thumb.png", + "title": { + "type": "plain_text", + "text": "Getting Started" + }, + "video_url": "https://example.com/video.mp4", + "author_name": "The slackblocks docs", + "description": { + "type": "plain_text", + "text": "A short walkthrough." + }, + "provider_name": "example.com", + "title_url": "https://example.com" +} +``` + + + + + +See the [Slack reference](https://api.slack.com/reference/block-kit/blocks#video) for the full list of optional fields and provider requirements. diff --git a/docs/versioned_sidebars/version-1.0-sidebars.json b/docs/versioned_sidebars/version-1.0-sidebars.json new file mode 100644 index 00000000..1fd014a2 --- /dev/null +++ b/docs/versioned_sidebars/version-1.0-sidebars.json @@ -0,0 +1,8 @@ +{ + "docs": [ + { + "type": "autogenerated", + "dirName": "." + } + ] +} diff --git a/docs/versions.json b/docs/versions.json new file mode 100644 index 00000000..9a369ed1 --- /dev/null +++ b/docs/versions.json @@ -0,0 +1,3 @@ +[ + "1.0" +] diff --git a/typescript/package.json b/typescript/package.json index 29f440d5..1755a60b 100644 --- a/typescript/package.json +++ b/typescript/package.json @@ -1,6 +1,6 @@ { "name": "slackblocks", - "version": "0.1.0", + "version": "2.0.0", "description": "Typed Block Kit construction with eager, path-aware validation", "type": "module", "sideEffects": false, From b4047f8ea0b8069b067a8a52f0603989ed1bf53b Mon Sep 17 00:00:00 2001 From: Nicholas Lambourne Date: Fri, 14 Aug 2026 03:12:11 +1000 Subject: [PATCH 09/23] feat: standardise TypeScript block factory names --- .github/workflows/typescript.yml | 8 ++-- README.md | 4 +- docs/docs/index.mdx | 2 +- docs/docs/quick-start.mdx | 4 +- docs/docs/usage/cookbook.mdx | 19 +++++++--- docs/docs/usage/installation.mdx | 4 +- docs/docs/usage/sending_messages.mdx | 16 ++++---- docs/docs/usage/troubleshooting.mdx | 36 +++++++++--------- docs/docs/usage/using_blocks.mdx | 32 ++++++++-------- docs/examples/typescript/section_hello.ts | 4 +- docs/typescript-api-intro.md | 2 +- docs/versioned_docs/version-1.0/index.mdx | 12 +++--- typescript/README.md | 8 ++-- typescript/src/blocks.ts | 20 +++++----- typescript/test/conformance.test.ts | 46 +++++++++++------------ typescript/test/factories.test.ts | 16 ++++---- typescript/tsconfig.json | 4 ++ typescript/vitest.config.ts | 7 ++++ 18 files changed, 132 insertions(+), 112 deletions(-) diff --git a/.github/workflows/typescript.yml b/.github/workflows/typescript.yml index 610ba29f..149be5bf 100644 --- a/.github/workflows/typescript.yml +++ b/.github/workflows/typescript.yml @@ -101,11 +101,11 @@ jobs: - name: Import from ESM run: >- node --input-type=module -e - 'import("slackblocks").then(({section}) => - console.log(JSON.stringify(section({text:"smoke"}))))' + 'import("slackblocks").then(({sectionBlock}) => + console.log(JSON.stringify(sectionBlock({text:"smoke"}))))' - name: Require ESM from CommonJS run: >- node -e - 'const { section } = require("slackblocks"); - console.log(JSON.stringify(section({text:"smoke"})))' + 'const { sectionBlock } = require("slackblocks"); + console.log(JSON.stringify(sectionBlock({text:"smoke"})))' diff --git a/README.md b/README.md index 570b9903..e358a541 100644 --- a/README.md +++ b/README.md @@ -22,11 +22,11 @@ payload = Message(channel="#general", blocks=SectionBlock("Hello, world!")) TypeScript: ```ts -import { message, section } from "slackblocks"; +import { message, sectionBlock } from "slackblocks"; const payload = message({ channel: "C0123456", - blocks: [section({ text: "Hello, world!" })], + blocks: [sectionBlock({ text: "Hello, world!" })], }); ``` diff --git a/docs/docs/index.mdx b/docs/docs/index.mdx index cf0247d1..a60a2184 100644 --- a/docs/docs/index.mdx +++ b/docs/docs/index.mdx @@ -90,7 +90,7 @@ Interactive controls are built with factories such as [`button`](reference/types ### Blocks -Block factories include [`section`](reference/typescript/functions/section), [`header`](reference/typescript/functions/header), [`divider`](reference/typescript/functions/divider), [`actions`](reference/typescript/functions/actions), [`richTextBlock`](reference/typescript/functions/richTextBlock), [`markdownBlock`](reference/typescript/functions/markdownBlock), and [`table`](reference/typescript/functions/table). +Every block factory follows the same `Block` naming pattern: [`actionsBlock`](reference/typescript/functions/actionsBlock), [`contextBlock`](reference/typescript/functions/contextBlock), [`dividerBlock`](reference/typescript/functions/dividerBlock), [`fileBlock`](reference/typescript/functions/fileBlock), [`headerBlock`](reference/typescript/functions/headerBlock), [`imageBlock`](reference/typescript/functions/imageBlock), [`inputBlock`](reference/typescript/functions/inputBlock), [`markdownBlock`](reference/typescript/functions/markdownBlock), [`richTextBlock`](reference/typescript/functions/richTextBlock), [`sectionBlock`](reference/typescript/functions/sectionBlock), [`tableBlock`](reference/typescript/functions/tableBlock), and [`videoBlock`](reference/typescript/functions/videoBlock). ### Messages and views diff --git a/docs/docs/quick-start.mdx b/docs/docs/quick-start.mdx index f8c447c7..53de3b4d 100644 --- a/docs/docs/quick-start.mdx +++ b/docs/docs/quick-start.mdx @@ -50,12 +50,12 @@ pnpm add slackblocks ## Build a message ```ts -import { message, section } from "slackblocks"; +import { message, sectionBlock } from "slackblocks"; const payload = message({ channel: "C0123456", text: "Hello from slackblocks!", - blocks: [section({ text: "Hello, world!" })], + blocks: [sectionBlock({ text: "Hello, world!" })], }); console.log(JSON.stringify(payload, null, 2)); diff --git a/docs/docs/usage/cookbook.mdx b/docs/docs/usage/cookbook.mdx index 5ffe31c7..990493c4 100644 --- a/docs/docs/usage/cookbook.mdx +++ b/docs/docs/usage/cookbook.mdx @@ -64,7 +64,14 @@ def build_status_message( ```ts -import { context, divider, header, message, mrkdwn, section } from "slackblocks"; +import { + contextBlock, + dividerBlock, + headerBlock, + message, + mrkdwn, + sectionBlock, +} from "slackblocks"; function buildStatusMessage(input: { channel: string; @@ -82,8 +89,8 @@ function buildStatusMessage(input: { channel: input.channel, text: `Build ${status} for ${input.project}@${input.branch}`, blocks: [ - header({ text: `${icon} ${input.project} build ${status}` }), - section({ + headerBlock({ text: `${icon} ${input.project} build ${status}` }), + sectionBlock({ fields: [ `*Branch*\n\`${input.branch}\``, `*Commit*\n\`${input.commit.slice(0, 7)}\``, @@ -91,8 +98,10 @@ function buildStatusMessage(input: { `*Duration*\n${input.duration}`, ], }), - divider(), - context({ elements: [mrkdwn(`:calendar: Triggered by push to \`${input.branch}\``)] }), + dividerBlock(), + contextBlock({ + elements: [mrkdwn(`:calendar: Triggered by push to \`${input.branch}\``)], + }), ], }); } diff --git a/docs/docs/usage/installation.mdx b/docs/docs/usage/installation.mdx index 935c0ee5..b1857ba3 100644 --- a/docs/docs/usage/installation.mdx +++ b/docs/docs/usage/installation.mdx @@ -88,11 +88,11 @@ The package requires Node 20.19 or newer, is ESM-only, and emits no runtime impo Verify the installation in `hello.mjs`: ```ts -import { message, section } from "slackblocks"; +import { message, sectionBlock } from "slackblocks"; console.log(message({ channel: "C0123456", - blocks: [section({ text: "Hello, world!" })], + blocks: [sectionBlock({ text: "Hello, world!" })], })); ``` diff --git a/docs/docs/usage/sending_messages.mdx b/docs/docs/usage/sending_messages.mdx index 9a039d95..f8af62aa 100644 --- a/docs/docs/usage/sending_messages.mdx +++ b/docs/docs/usage/sending_messages.mdx @@ -173,12 +173,12 @@ Factories return plain Slack-shaped objects, so pass the payload directly to the ```ts import { WebClient } from "@slack/web-api"; -import { message, section } from "slackblocks"; +import { message, sectionBlock } from "slackblocks"; const client = new WebClient(process.env.SLACK_API_TOKEN); const payload = message({ channel: "C0123456", - blocks: [section({ text: "Hello, world!" })], + blocks: [sectionBlock({ text: "Hello, world!" })], }); await client.chat.postMessage(payload); @@ -190,11 +190,11 @@ Use a channel ID rather than a display name when possible. Provide a `text` fall ```ts import { IncomingWebhook } from "@slack/webhook"; -import { section, webhookMessage } from "slackblocks"; +import { sectionBlock, webhookMessage } from "slackblocks"; const webhook = new IncomingWebhook(process.env.SLACK_WEBHOOK_URL!); await webhook.send(webhookMessage({ - blocks: [section({ text: "Build complete :white_check_mark:" })], + blocks: [sectionBlock({ text: "Build complete :white_check_mark:" })], })); ``` @@ -203,10 +203,10 @@ await webhook.send(webhookMessage({ Construct the response body, then return it through your web framework: ```ts -import { messageResponse, section } from "slackblocks"; +import { messageResponse, sectionBlock } from "slackblocks"; const responseBody = messageResponse({ - blocks: [section({ text: "Got it! Working on that now..." })], + blocks: [sectionBlock({ text: "Got it! Working on that now..." })], responseType: "ephemeral", }); ``` @@ -214,11 +214,11 @@ const responseBody = messageResponse({ ## Modals and home tabs ```ts -import { modal, section } from "slackblocks"; +import { modal, sectionBlock } from "slackblocks"; const view = modal({ title: "Confirm action", - blocks: [section({ text: "Are you sure?" })], + blocks: [sectionBlock({ text: "Are you sure?" })], submit: "Yes", close: "Cancel", }); diff --git a/docs/docs/usage/troubleshooting.mdx b/docs/docs/usage/troubleshooting.mdx index 22a8b17c..c224a425 100644 --- a/docs/docs/usage/troubleshooting.mdx +++ b/docs/docs/usage/troubleshooting.mdx @@ -152,7 +152,7 @@ Use [GitHub Issues](https://github.com/nicklambourne/slackblocks/issues). ## Why is my message showing literal `*asterisks*` instead of bold text? -Slack supports `mrkdwn` and `plain_text`. The `section()` factory turns a string into `mrkdwn` by default, but Slack requires headers, button labels, modal titles, input labels, and option labels to use `plain_text`. Markdown syntax in those fields is displayed literally. +Slack supports `mrkdwn` and `plain_text`. The `sectionBlock()` factory turns a string into `mrkdwn` by default, but Slack requires headers, button labels, modal titles, input labels, and option labels to use `plain_text`. Markdown syntax in those fields is displayed literally. If styling is missing from a field that supports it, check that you have not wrapped the value with `plainText()`. Use `mrkdwn()` when you need to choose the text type explicitly. @@ -161,12 +161,12 @@ If styling is missing from a field that supports it, check that you have not wra Messages containing blocks should also provide a short plain-text fallback. Slack uses it for push notifications, assistive technology, and clients that cannot render Block Kit. ```ts -import { header, message } from "slackblocks"; +import { headerBlock, message } from "slackblocks"; const payload = message({ channel: "C0123456", text: "Build #482 passed", - blocks: [header({ text: "Build #482 passed :white_check_mark:" })], + blocks: [headerBlock({ text: "Build #482 passed :white_check_mark:" })], }); ``` @@ -177,9 +177,9 @@ const payload = message({ You can omit it for non-interactive content. For interactive messages and views, use a stable value that your handlers understand: ```ts -import { actions, button } from "slackblocks"; +import { actionsBlock, button } from "slackblocks"; -actions({ +actionsBlock({ blockId: "approval:req-123", elements: [ button({ text: "Approve", actionId: "approve", value: "req-123" }), @@ -197,9 +197,9 @@ Common limits include: | Factory field | Limit | |-------------------------------------|-------| -| `section().text` | 3,000 characters | -| `section().fields[i]` | 2,000 characters | -| `header().text` | 150 characters | +| `sectionBlock().text` | 3,000 characters | +| `sectionBlock().fields[i]` | 2,000 characters | +| `headerBlock().text` | 150 characters | | `button().text` | 75 characters | | `button().value` | 2,000 characters | | `button().url` | 3,000 characters | @@ -214,10 +214,10 @@ If Slack adds a field or raises a limit before the package catches up, pass `{ v - Channel messages: **50 blocks**. - Modals and home tabs: **100 blocks**. -- `context()`: up to **10 elements**. -- `actions()`: up to **25 elements**. -- `section().fields`: up to **10 items**. -- `table()`: up to **100 rows × 20 columns**. +- `contextBlock()`: up to **10 elements**. +- `actionsBlock()`: up to **25 elements**. +- `sectionBlock().fields`: up to **10 items**. +- `tableBlock()`: up to **100 rows × 20 columns**. ## Why don't my buttons or selects do anything when clicked? @@ -225,21 +225,21 @@ If Slack adds a field or raises a limit before the package catches up, pass `{ v [`@slack/bolt`](https://slack.dev/bolt-js/) is the usual starting point for a TypeScript or JavaScript app. -## Why doesn't markdown work inside `header()`? +## Why doesn't markdown work inside `headerBlock()`? -Slack only accepts `plain_text` in header blocks. Use `section()` followed by `divider()` when you need styled heading text. +Slack only accepts `plain_text` in header blocks. Use `sectionBlock()` followed by `dividerBlock()` when you need styled heading text. ## How can I preview a message without sending it? Generate a Block Kit Builder URL and open it in your browser: ```ts -import { blockKitBuilderUrl, message, section } from "slackblocks"; +import { blockKitBuilderUrl, message, sectionBlock } from "slackblocks"; const payload = message({ channel: "C0123456", text: "Preview message", - blocks: [section({ text: "Hello!" })], + blocks: [sectionBlock({ text: "Hello!" })], }); console.log(blockKitBuilderUrl(payload)); @@ -252,12 +252,12 @@ You can also paste `JSON.stringify(payload, null, 2)` into Slack's [Block Kit Bu Factories return plain objects, so no conversion step is required: ```ts -import { message, section } from "slackblocks"; +import { message, sectionBlock } from "slackblocks"; const payload = message({ channel: "C0123456", text: "Hello!", - blocks: [section({ text: "Hello!" })], + blocks: [sectionBlock({ text: "Hello!" })], }); const response = await fetch("https://slack.com/api/chat.postMessage", { diff --git a/docs/docs/usage/using_blocks.mdx b/docs/docs/usage/using_blocks.mdx index 7b8baae6..e2ed51c0 100644 --- a/docs/docs/usage/using_blocks.mdx +++ b/docs/docs/usage/using_blocks.mdx @@ -57,9 +57,9 @@ SectionBlock( ```ts -import { checkboxes, mrkdwn, option, section } from "slackblocks"; +import { checkboxes, mrkdwn, option, sectionBlock } from "slackblocks"; -section({ +sectionBlock({ text: "This is a section block with a checkbox accessory.", blockId: "fake_block_id", accessory: checkboxes({ @@ -236,9 +236,9 @@ HeaderBlock( ```ts -import { header, plainText } from "slackblocks"; +import { headerBlock, plainText } from "slackblocks"; -header({ +headerBlock({ text: plainText("This is a header block", { emoji: true }), }); ``` @@ -410,9 +410,9 @@ InputBlock( ```ts -import { input, plainText, plainTextInput } from "slackblocks"; +import { inputBlock, plainText, plainTextInput } from "slackblocks"; -input({ +inputBlock({ label: plainText("Label", { emoji: true }), hint: plainText("Hint", { emoji: true }), element: plainTextInput({ actionId: "action" }), @@ -478,9 +478,9 @@ DividerBlock() ```ts -import { divider } from "slackblocks"; +import { dividerBlock } from "slackblocks"; -divider(); +dividerBlock(); ``` @@ -585,9 +585,9 @@ ContextBlock( ```ts -import { context, mrkdwn } from "slackblocks"; +import { contextBlock, mrkdwn } from "slackblocks"; -context({ +contextBlock({ elements: [mrkdwn("Hello, world!")], blockId: "fake_block_id", }); @@ -650,9 +650,9 @@ ActionsBlock( ```ts -import { actions, checkboxes, mrkdwn, option, plainText } from "slackblocks"; +import { actionsBlock, checkboxes, mrkdwn, option, plainText } from "slackblocks"; -actions({ +actionsBlock({ blockId: "fake_block_id", elements: [ checkboxes({ @@ -791,10 +791,10 @@ import { richTextBlock, richTextLink, richTextSection, - table, + tableBlock, } from "slackblocks"; -table({ +tableBlock({ columnSettings: [ columnSettings({ align: "right", isWrapped: true }), columnSettings({ align: "left" }), @@ -946,9 +946,9 @@ VideoBlock( ```ts -import { video } from "slackblocks"; +import { videoBlock } from "slackblocks"; -video({ +videoBlock({ altText: "How to use slackblocks", thumbnailUrl: "https://example.com/thumb.png", title: "Getting Started", diff --git a/docs/examples/typescript/section_hello.ts b/docs/examples/typescript/section_hello.ts index dae22bc5..a5893028 100644 --- a/docs/examples/typescript/section_hello.ts +++ b/docs/examples/typescript/section_hello.ts @@ -1,6 +1,6 @@ -import { message, section } from "slackblocks"; +import { message, sectionBlock } from "slackblocks"; export const payload = message({ channel: "C0123456", - blocks: [section({ text: "Hello from slackblocks!", blockId: "hello" })], + blocks: [sectionBlock({ text: "Hello from slackblocks!", blockId: "hello" })], }); diff --git a/docs/typescript-api-intro.md b/docs/typescript-api-intro.md index 2f862acf..2d9fd2a6 100644 --- a/docs/typescript-api-intro.md +++ b/docs/typescript-api-intro.md @@ -2,4 +2,4 @@ This is the complete guide to slackblocks' public TypeScript API. Use it to find the factory, input type, or validation error you need while building a message, modal, or home tab. -Most applications start with a factory such as `message()`, `section()`, or `modal()`. The interfaces describe their camelCase inputs, while the returned objects use the snake_case fields expected by Slack. +Most applications start with a factory such as `message()`, `sectionBlock()`, or `modal()`. The interfaces describe their camelCase inputs, while the returned objects use the snake_case fields expected by Slack. diff --git a/docs/versioned_docs/version-1.0/index.mdx b/docs/versioned_docs/version-1.0/index.mdx index acad6867..c0523b56 100644 --- a/docs/versioned_docs/version-1.0/index.mdx +++ b/docs/versioned_docs/version-1.0/index.mdx @@ -114,24 +114,24 @@ The TypeScript package exposes data-first factories that return typed, Slack-sha ### Composition objects -Factories such as [`plainText`](reference/typescript/functions/plainText), [`mrkdwn`](reference/typescript/functions/mrkdwn), and [`option`](reference/typescript/functions/option) create the small values used throughout Block Kit payloads. +Factories such as [`plainText`](/1.0.0/reference/typescript/functions/plainText), [`mrkdwn`](/1.0.0/reference/typescript/functions/mrkdwn), and [`option`](/1.0.0/reference/typescript/functions/option) create the small values used throughout Block Kit payloads. ### Elements -Interactive controls are built with factories such as [`button`](reference/typescript/functions/button), [`checkboxes`](reference/typescript/functions/checkboxes), [`staticSelect`](reference/typescript/functions/staticSelect), and [`datePicker`](reference/typescript/functions/datePicker). +Interactive controls are built with factories such as [`button`](/1.0.0/reference/typescript/functions/button), [`checkboxes`](/1.0.0/reference/typescript/functions/checkboxes), [`staticSelect`](/1.0.0/reference/typescript/functions/staticSelect), and [`datePicker`](/1.0.0/reference/typescript/functions/datePicker). ### Blocks -Block factories include [`section`](reference/typescript/functions/section), [`header`](reference/typescript/functions/header), [`divider`](reference/typescript/functions/divider), [`actions`](reference/typescript/functions/actions), [`richTextBlock`](reference/typescript/functions/richTextBlock), [`markdownBlock`](reference/typescript/functions/markdownBlock), and [`table`](reference/typescript/functions/table). +Block factories include [`section`](/1.0.0/reference/typescript/functions/section), [`header`](/1.0.0/reference/typescript/functions/header), [`divider`](/1.0.0/reference/typescript/functions/divider), [`actions`](/1.0.0/reference/typescript/functions/actions), [`richTextBlock`](/1.0.0/reference/typescript/functions/richTextBlock), [`markdownBlock`](/1.0.0/reference/typescript/functions/markdownBlock), and [`table`](/1.0.0/reference/typescript/functions/table). ### Messages and views -Use [`message`](reference/typescript/functions/message), [`webhookMessage`](reference/typescript/functions/webhookMessage), and [`messageResponse`](reference/typescript/functions/messageResponse) for message payloads. Use [`modal`](reference/typescript/functions/modal) and [`homeTab`](reference/typescript/functions/homeTab) for Slack views. +Use [`message`](/1.0.0/reference/typescript/functions/message), [`webhookMessage`](/1.0.0/reference/typescript/functions/webhookMessage), and [`messageResponse`](/1.0.0/reference/typescript/functions/messageResponse) for message payloads. Use [`modal`](/1.0.0/reference/typescript/functions/modal) and [`homeTab`](/1.0.0/reference/typescript/functions/homeTab) for Slack views. ### Utilities -- [`blockKitBuilderUrl`](reference/typescript/functions/blockKitBuilderUrl) creates a browser preview URL. -- [`validate`](reference/typescript/functions/validate) and [`assertValid`](reference/typescript/functions/assertValid) validate existing Slack-shaped data. +- [`blockKitBuilderUrl`](/1.0.0/reference/typescript/functions/blockKitBuilderUrl) creates a browser preview URL. +- [`validate`](/1.0.0/reference/typescript/functions/validate) and [`assertValid`](/1.0.0/reference/typescript/functions/assertValid) validate existing Slack-shaped data. diff --git a/typescript/README.md b/typescript/README.md index db886ece..ae332117 100644 --- a/typescript/README.md +++ b/typescript/README.md @@ -1,14 +1,14 @@ # slackblocks for TypeScript -Typed Block Kit construction with eager, path-aware validation and conformance with slackblocks spec 1.0.0. +Typed Block Kit construction with eager, path-aware validation and conformance with the shared cross-language slackblocks specification. ```ts -import { button, divider, message, mrkdwn, section } from "slackblocks"; +import { button, dividerBlock, message, mrkdwn, sectionBlock } from "slackblocks"; const payload = message({ channel: "C0123456", blocks: [ - section({ + sectionBlock({ text: mrkdwn("*Deploy complete* :rocket:"), accessory: button({ text: "View logs", @@ -16,7 +16,7 @@ const payload = message({ url: "https://example.com/logs", }), }), - divider(), + dividerBlock(), ], }); ``` diff --git a/typescript/src/blocks.ts b/typescript/src/blocks.ts index c9f3005f..4051aa99 100644 --- a/typescript/src/blocks.ts +++ b/typescript/src/blocks.ts @@ -17,15 +17,15 @@ import { create } from "./internal.js"; import { asText, type TextLike } from "./objects.js"; import type { FactorySettings, JsonObject, SlackWire } from "./types.js"; -export interface SectionInput { +export interface SectionBlockInput { text?: TextLike; blockId?: string; fields?: TextLike[]; accessory?: JsonObject; } -export function section( - input: SectionInput, +export function sectionBlock( + input: SectionBlockInput, settings: FactorySettings = {}, ): SlackWire { return create( @@ -39,21 +39,21 @@ export function section( ) as SlackWire; } -export function actions( +export function actionsBlock( input: { elements: JsonObject[]; blockId?: string }, settings: FactorySettings = {}, ): SlackWire { return create("actions", input, settings) as SlackWire; } -export function context( +export function contextBlock( input: { elements: JsonObject[]; blockId?: string }, settings: FactorySettings = {}, ): SlackWire { return create("context", input, settings) as SlackWire; } -export function divider( +export function dividerBlock( input: { blockId?: string } = {}, settings: FactorySettings = {}, ): SlackWire { @@ -67,7 +67,7 @@ export function fileBlock( return create("file", { source: "remote", ...input }, settings) as SlackWire; } -export function header( +export function headerBlock( input: { text: TextLike; blockId?: string }, settings: FactorySettings = {}, ): SlackWire { @@ -92,7 +92,7 @@ export function imageBlock( ) as SlackWire; } -export function input( +export function inputBlock( value: { label: TextLike; element: JsonObject; @@ -128,14 +128,14 @@ export function richTextBlock( return create("rich_text", input, settings) as SlackWire; } -export function table( +export function tableBlock( input: { rows: JsonObject[][]; columnSettings?: JsonObject[]; blockId?: string }, settings: FactorySettings = {}, ): SlackWire { return create("table", input, settings) as SlackWire; } -export function video( +export function videoBlock( input: { altText: string; thumbnailUrl: string; diff --git a/typescript/test/conformance.test.ts b/typescript/test/conformance.test.ts index e2df259e..bd726a35 100644 --- a/typescript/test/conformance.test.ts +++ b/typescript/test/conformance.test.ts @@ -5,31 +5,31 @@ import { fileURLToPath } from "node:url"; import { describe, expect, it } from "vitest"; import { - actions, + actionsBlock, attachment, button, channelMultiSelect, channelSelect, checkboxes, confirmation, - context, + contextBlock, conversationFilter, conversationMultiSelect, conversationSelect, datePicker, dateTimePicker, dispatchActionConfiguration, - divider, + dividerBlock, emailInput, externalMultiSelect, externalSelect, fileBlock, fileInput, - header, + headerBlock, homeTab, imageElement, imageBlock, - input, + inputBlock, inputParameter, markdownBlock, message, @@ -54,10 +54,10 @@ import { richTextSection, richTextUser, richTextUserGroup, - section, + sectionBlock, staticMultiSelect, staticSelect, - table, + tableBlock, timePicker, trigger, type ErrorCategory, @@ -66,7 +66,7 @@ import { urlInput, userMultiSelect, userSelect, - video, + videoBlock, webhookMessage, workflow, workflowButton, @@ -113,18 +113,18 @@ function withoutType(input: FixtureInput): FixtureInput { function constructBlock(payload: FixtureInput): unknown { const value = withoutType(payload); switch (payload.type) { - case "actions": return actions(value); - case "context": return context(value); - case "divider": return divider(value); + case "actions": return actionsBlock(value); + case "context": return contextBlock(value); + case "divider": return dividerBlock(value); case "file": return fileBlock(value); - case "header": return header(value); + case "header": return headerBlock(value); case "image": return imageBlock(value); - case "input": return input(value); + case "input": return inputBlock(value); case "markdown": return markdownBlock(value); case "rich_text": return richTextBlock(value); - case "section": return section(value); - case "table": return table(value); - case "video": return video(value); + case "section": return sectionBlock(value); + case "table": return tableBlock(value); + case "video": return videoBlock(value); default: throw new Error(`No block factory for ${String(payload.type)}`); } } @@ -253,11 +253,11 @@ const choice = () => option({ text: "A", value: "a" }); const invalidCases: Record unknown> = { "text-empty": () => plainText(""), "text-too-long": () => plainText("x".repeat(3001)), - "section-missing-content": () => section({}), - "section-text-too-long": () => section({ text: "x".repeat(3001) }), - "section-too-many-fields": () => section({ fields: Array(11).fill("x") }), - "section-field-too-long": () => section({ fields: ["x".repeat(2001)] }), - "header-text-too-long": () => header({ text: "x".repeat(151) }), + "section-missing-content": () => sectionBlock({}), + "section-text-too-long": () => sectionBlock({ text: "x".repeat(3001) }), + "section-too-many-fields": () => sectionBlock({ fields: Array(11).fill("x") }), + "section-field-too-long": () => sectionBlock({ fields: ["x".repeat(2001)] }), + "header-text-too-long": () => headerBlock({ text: "x".repeat(151) }), "button-text-too-long": () => button({ text: "x".repeat(76), actionId: "a" }), "button-action-id-too-long": () => button({ text: "A", actionId: "x".repeat(256) }), "option-value-too-long": () => option({ text: "A", value: "x".repeat(76) }), @@ -274,9 +274,9 @@ const invalidCases: Record unknown> = { "number-input-inverted-range": () => numberInput({ actionId: "a", isDecimalAllowed: true, minValue: 2, maxValue: 1 }), "file-input-max-files-out-of-range": () => fileInput({ actionId: "a", maxFiles: 11 }), - "context-invalid-element": () => context({ elements: [divider()] }), + "context-invalid-element": () => contextBlock({ elements: [dividerBlock()] }), "input-invalid-element": () => - input({ label: "Label", element: button({ text: "A", actionId: "a" }) }), + inputBlock({ label: "Label", element: button({ text: "A", actionId: "a" }) }), "view-missing-blocks": () => homeTab({ blocks: [] }), }; diff --git a/typescript/test/factories.test.ts b/typescript/test/factories.test.ts index 64c716d6..4fffb029 100644 --- a/typescript/test/factories.test.ts +++ b/typescript/test/factories.test.ts @@ -7,13 +7,13 @@ import { LengthError, message, mrkdwn, - section, + sectionBlock, validate, } from "../src/index.js"; describe("data-first factories", () => { it("returns objects assignable to Slack's official block types", () => { - const block: KnownBlock = section({ text: "Typed" }); + const block: KnownBlock = sectionBlock({ text: "Typed" }); expect(block.type).toBe("section"); }); @@ -21,7 +21,7 @@ describe("data-first factories", () => { const payload = message({ channel: "C0123456", blocks: [ - section({ + sectionBlock({ blockId: "deploy", text: mrkdwn("*Deploy complete* :rocket:"), accessory: button({ @@ -55,7 +55,7 @@ describe("data-first factories", () => { it("reports a field path for validation errors", () => { expect(() => - section({ + sectionBlock({ blockId: "bad", accessory: button({ text: "A", actionId: "a" }), text: "x".repeat(3001), @@ -63,14 +63,14 @@ describe("data-first factories", () => { ).toThrowError(LengthError); try { - section({ text: "x".repeat(3001) }); + sectionBlock({ text: "x".repeat(3001) }); } catch (error) { expect((error as LengthError).path).toBe("text"); } }); it("allows validation to be disabled explicitly", () => { - expect(section({ text: "x".repeat(3001) }, { validate: false }).type).toBe("section"); + expect(sectionBlock({ text: "x".repeat(3001) }, { validate: false }).type).toBe("section"); }); it("validates arbitrary existing JSON with a type guard", () => { @@ -81,10 +81,10 @@ describe("data-first factories", () => { describe("Block Kit Builder URL", () => { it("wraps a block list and accepts a team ID", () => { - const url = blockKitBuilderUrl([section({ text: "Hi" })], "T123"); + const url = blockKitBuilderUrl([sectionBlock({ text: "Hi" })], "T123"); expect(url).toMatch(/^https:\/\/app\.slack\.com\/block-kit-builder\/T123#/); expect(decodeURIComponent(url.split("#")[1] ?? "")).toBe( - JSON.stringify({ blocks: [section({ text: "Hi" })] }), + JSON.stringify({ blocks: [sectionBlock({ text: "Hi" })] }), ); }); }); diff --git a/typescript/tsconfig.json b/typescript/tsconfig.json index da984fcb..90a77a5e 100644 --- a/typescript/tsconfig.json +++ b/typescript/tsconfig.json @@ -6,6 +6,10 @@ "strict": true, "noUncheckedIndexedAccess": true, "exactOptionalPropertyTypes": true, + "baseUrl": ".", + "paths": { + "slackblocks": ["./src/index.ts"] + }, "declaration": true, "resolveJsonModule": true, "verbatimModuleSyntax": true, diff --git a/typescript/vitest.config.ts b/typescript/vitest.config.ts index cd373e01..9e3b1705 100644 --- a/typescript/vitest.config.ts +++ b/typescript/vitest.config.ts @@ -1,6 +1,13 @@ +import { fileURLToPath } from "node:url"; + import { defineConfig } from "vitest/config"; export default defineConfig({ + resolve: { + alias: { + slackblocks: fileURLToPath(new URL("./src/index.ts", import.meta.url)), + }, + }, test: { coverage: { provider: "v8", From 870fbbaaf4804847bcd8ab12557b45a466c1e8f5 Mon Sep 17 00:00:00 2001 From: Nicholas Lambourne Date: Fri, 14 Aug 2026 03:13:27 +1000 Subject: [PATCH 10/23] docs: improve API reference generation and navigation --- docs/docs/index.mdx | 12 +- docs/docusaurus.config.ts | 92 ++++++++++++++- docs/scripts/generate_python_reference.py | 105 ++++++++++++++++-- docs/scripts/typedoc-domain-groups.mjs | 30 +++++ docs/src/components/LanguageContext/index.tsx | 8 +- docs/src/css/custom.css | 12 +- docs/src/theme/DocSidebar/index.tsx | 75 ++++++++++++- python/slackblocks/attachments.py | 78 +++---------- python/slackblocks/elements.py | 2 +- typescript/src/utilities-reference.ts | 8 ++ 10 files changed, 334 insertions(+), 88 deletions(-) create mode 100644 docs/scripts/typedoc-domain-groups.mjs create mode 100644 typescript/src/utilities-reference.ts diff --git a/docs/docs/index.mdx b/docs/docs/index.mdx index a60a2184..245bd2d0 100644 --- a/docs/docs/index.mdx +++ b/docs/docs/index.mdx @@ -82,24 +82,24 @@ The TypeScript package exposes data-first factories that return typed, Slack-sha ### Composition objects -Factories such as [`plainText`](reference/typescript/functions/plainText), [`mrkdwn`](reference/typescript/functions/mrkdwn), and [`option`](reference/typescript/functions/option) create the small values used throughout Block Kit payloads. +Factories such as [`plainText`](reference/typescript/objects/plainText), [`mrkdwn`](reference/typescript/objects/mrkdwn), and [`option`](reference/typescript/objects/option) create the small values used throughout Block Kit payloads. ### Elements -Interactive controls are built with factories such as [`button`](reference/typescript/functions/button), [`checkboxes`](reference/typescript/functions/checkboxes), [`staticSelect`](reference/typescript/functions/staticSelect), and [`datePicker`](reference/typescript/functions/datePicker). +Interactive controls are built with factories such as [`button`](reference/typescript/elements/button), [`checkboxes`](reference/typescript/elements/checkboxes), [`staticSelect`](reference/typescript/elements/staticSelect), and [`datePicker`](reference/typescript/elements/datePicker). ### Blocks -Every block factory follows the same `Block` naming pattern: [`actionsBlock`](reference/typescript/functions/actionsBlock), [`contextBlock`](reference/typescript/functions/contextBlock), [`dividerBlock`](reference/typescript/functions/dividerBlock), [`fileBlock`](reference/typescript/functions/fileBlock), [`headerBlock`](reference/typescript/functions/headerBlock), [`imageBlock`](reference/typescript/functions/imageBlock), [`inputBlock`](reference/typescript/functions/inputBlock), [`markdownBlock`](reference/typescript/functions/markdownBlock), [`richTextBlock`](reference/typescript/functions/richTextBlock), [`sectionBlock`](reference/typescript/functions/sectionBlock), [`tableBlock`](reference/typescript/functions/tableBlock), and [`videoBlock`](reference/typescript/functions/videoBlock). +Every block factory follows the same `Block` naming pattern: [`actionsBlock`](reference/typescript/blocks/actionsBlock), [`contextBlock`](reference/typescript/blocks/contextBlock), [`dividerBlock`](reference/typescript/blocks/dividerBlock), [`fileBlock`](reference/typescript/blocks/fileBlock), [`headerBlock`](reference/typescript/blocks/headerBlock), [`imageBlock`](reference/typescript/blocks/imageBlock), [`inputBlock`](reference/typescript/blocks/inputBlock), [`markdownBlock`](reference/typescript/blocks/markdownBlock), [`richTextBlock`](reference/typescript/blocks/richTextBlock), [`sectionBlock`](reference/typescript/blocks/sectionBlock), [`tableBlock`](reference/typescript/blocks/tableBlock), and [`videoBlock`](reference/typescript/blocks/videoBlock). ### Messages and views -Use [`message`](reference/typescript/functions/message), [`webhookMessage`](reference/typescript/functions/webhookMessage), and [`messageResponse`](reference/typescript/functions/messageResponse) for message payloads. Use [`modal`](reference/typescript/functions/modal) and [`homeTab`](reference/typescript/functions/homeTab) for Slack views. +Use [`message`](reference/typescript/messages/message), [`webhookMessage`](reference/typescript/messages/webhookMessage), and [`messageResponse`](reference/typescript/messages/messageResponse) for message payloads. Use [`modal`](reference/typescript/views/modal) and [`homeTab`](reference/typescript/views/homeTab) for Slack views. ### Utilities -- [`blockKitBuilderUrl`](reference/typescript/functions/blockKitBuilderUrl) creates a browser preview URL. -- [`validate`](reference/typescript/functions/validate) and [`assertValid`](reference/typescript/functions/assertValid) validate existing Slack-shaped data. +- [`blockKitBuilderUrl`](reference/typescript/utilities/blockKitBuilderUrl) creates a browser preview URL. +- [`validate`](reference/typescript/utilities/validate) and [`assertValid`](reference/typescript/utilities/assertValid) validate existing Slack-shaped data. diff --git a/docs/docusaurus.config.ts b/docs/docusaurus.config.ts index e2e526c3..115f5ece 100644 --- a/docs/docusaurus.config.ts +++ b/docs/docusaurus.config.ts @@ -23,6 +23,76 @@ if (typescriptPackage.version !== pythonVersion) { ); } +const TYPESCRIPT_CLASS_NAMES = new Set([ + "InvalidUsageError", + "LengthError", + "MissingRequiredError", + "MutualExclusivityError", + "RangeError", + "TypeMismatchError", +]); + +const TYPESCRIPT_INTERFACE_NAMES = new Set([ + "ActionInput", + "ButtonInput", + "ConfirmationInput", + "FactorySettings", + "JsonObject", + "MarkdownOptions", + "MessageInput", + "OptionGroupInput", + "OptionInput", + "PlainTextOptions", + "RichTextStyle", + "SectionBlockInput", + "WorkflowButtonInput", +]); + +const TYPESCRIPT_TYPE_ALIAS_NAMES = new Set([ + "BlockKitPayload", + "ElementInput", + "ErrorCategory", + "JsonPrimitive", + "JsonValue", + "SlackCompatibleBlock", + "SlackObject", + "SlackWire", + "TextLike", + "TextObject", +]); + +const TYPESCRIPT_DOMAIN_TITLES: Record = { + blocks: "Blocks", + elements: "Elements", + errors: "Errors", + messages: "Messages", + objects: "Composition Objects", + "rich-text": "Rich Text", + utilities: "Utilities", + views: "Views", +}; + +function typescriptDomainTitle({ rawName }: { rawName: string }): string { + return TYPESCRIPT_DOMAIN_TITLES[rawName] ?? rawName; +} + +function legacyTypeScriptRedirect(path: string): string | undefined { + const match = path.match( + /^\/reference\/typescript\/(?:blocks|elements|errors|messages|objects|rich-text|utilities|views)\/([^/]+)$/, + ); + if (!match) return undefined; + + const name = match[1]; + const kind = TYPESCRIPT_CLASS_NAMES.has(name) + ? "classes" + : TYPESCRIPT_INTERFACE_NAMES.has(name) + ? "interfaces" + : TYPESCRIPT_TYPE_ALIAS_NAMES.has(name) + ? "type-aliases" + : "functions"; + return `/reference/typescript/${kind}/${name}`; +} + const config: Config = { title: "slackblocks", tagline: "Validated Slack Block Kit construction for Python and TypeScript", @@ -75,11 +145,28 @@ const config: Config = { "docusaurus-plugin-typedoc", { name: "TypeScript API reference", - entryPoints: ["../typescript/src/index.ts"], + entryPoints: [ + "../typescript/src/blocks.ts", + "../typescript/src/elements.ts", + "../typescript/src/objects.ts", + "../typescript/src/rich-text.ts", + "../typescript/src/messages.ts", + "../typescript/src/views.ts", + "../typescript/src/utilities-reference.ts", + "../typescript/src/errors.ts", + ], + entryPointStrategy: "expand", + sortEntryPoints: false, + router: "structure", + plugin: ["./scripts/typedoc-domain-groups.mjs"], tsconfig: "../typescript/tsconfig.typedoc.json", out: "docs/reference/typescript", readme: "./typescript-api-intro.md", mergeReadme: true, + pageTitleTemplates: { + member: "{name}", + module: typescriptDomainTitle, + }, excludePrivate: true, excludeInternal: true, sidebar: { @@ -119,6 +206,7 @@ const config: Config = { { from: "/reference/utils", to: "/reference/python/builder" }, { from: "/reference/views", to: "/reference/python/views" }, ], + createRedirects: legacyTypeScriptRedirect, }, ], ], @@ -162,7 +250,7 @@ const config: Config = { respectPrefersColorScheme: false, }, footer: { - style: "dark", + style: "light", copyright: `Copyright © ${new Date().getFullYear()} Nicholas Lambourne`, }, }, diff --git a/docs/scripts/generate_python_reference.py b/docs/scripts/generate_python_reference.py index 77867989..fe186344 100644 --- a/docs/scripts/generate_python_reference.py +++ b/docs/scripts/generate_python_reference.py @@ -4,7 +4,7 @@ import importlib import inspect -import json +import re import sys from collections import defaultdict from pathlib import Path @@ -31,6 +31,21 @@ "views": "Views", } +LEGACY_REFERENCE_LINK = re.compile( + r"(?<=\()/slackblocks/(?:latest/)?reference/" + r"(?P[a-z_]+)/?(?:#(?:[a-z_]+\.)?(?P[A-Za-z0-9_]+))?" +) +GOOGLE_SECTION = re.compile( + r"^(?:Args|Arguments|Parameters|Raises|Throws|Returns|Yields|Examples):$", + re.MULTILINE, +) + + +def current_reference_link(match: re.Match[str]) -> str: + path = f"/reference/python/{match.group('category')}" + symbol = match.group("symbol") + return f"{path}#{symbol.lower()}" if symbol else path + def category_for(value: Any) -> str: module = getattr(value, "__module__", "slackblocks") @@ -45,13 +60,63 @@ def signature(value: Any) -> str: return "" -def render_symbol(name: str, value: Any) -> str: +def markdown_cell(value: Any) -> str: + lines = (str(value) if value is not None else "").strip().splitlines() + return "
    ".join(line.strip() for line in lines).replace("|", r"\|") or "—" + + +def markdown_table(headers: tuple[str, ...], rows: list[tuple[Any, ...]]) -> str: + header = "| " + " | ".join(headers) + " |" + separator = "| " + " | ".join("---" for _ in headers) + " |" + body = ["| " + " | ".join(markdown_cell(cell) for cell in row) + " |" for row in rows] + return "\n".join([header, separator, *body]) + + +def render_docstring(doc: str, parent: Any = None) -> str: + doc = re.sub(r"<(https?://[^>]+)>", r"[\1](\1)", doc) + doc = LEGACY_REFERENCE_LINK.sub(current_reference_link, doc) + if not GOOGLE_SECTION.search(doc): + return doc + + # Griffe follows the Google convention of calling exception sections "Raises". + # Keep supporting the project's historical "Throws" heading as an alias. + doc = re.sub(r"^Throws:$", "Raises:", doc, flags=re.MULTILINE) + sections = griffe.Docstring(doc, parent=parent).parse(griffe.Parser.google, warnings=False) + rendered: list[str] = [] + + for section in sections: + if isinstance(section, griffe.DocstringSectionText): + rendered.append(section.value) + elif isinstance(section, griffe.DocstringSectionParameters): + rows = [ + (f"`{parameter.name}`", f"`{parameter.annotation}`", parameter.description) + for parameter in section.value + ] + rendered.extend( + ["

    Arguments

    ", markdown_table(("Argument", "Type", "Description"), rows)] + ) + elif isinstance(section, griffe.DocstringSectionRaises): + rows = [(f"`{error.annotation}`", error.description) for error in section.value] + rendered.extend(["

    Errors

    ", markdown_table(("Error", "When"), rows)]) + elif isinstance(section, griffe.DocstringSectionReturns): + rows = [(f"`{item.annotation}`", item.description) for item in section.value] + rendered.extend(["### Returns", markdown_table(("Type", "Description"), rows)]) + elif isinstance(section, griffe.DocstringSectionExamples): + rendered.extend(["### Examples", *(value for _, value in section.value)]) + elif isinstance(section, griffe.DocstringSectionAdmonition): + rendered.append(f"**{section.value.annotation.title()}:** {section.value.description}") + + return "\n\n".join(rendered) + + +def render_symbol(name: str, value: Any, parent: Any = None) -> str: kind = "Class" if inspect.isclass(value) else "Function" if callable(value) else "Value" definition = f"{name}{signature(value)}" if callable(value) else name doc = inspect.getdoc(value) or "No public documentation is available." + doc = render_docstring(doc, parent) return "\n".join( [ - f"## `{name}`", + f"## {name}", "", f"**{kind}**", "", @@ -59,7 +124,11 @@ def render_symbol(name: str, value: Any) -> str: definition, "```", "", - f'
    {{{json.dumps(doc)}}}
    ', + '
    ', + "", + doc, + "", + "
    ", "", ] ) @@ -77,17 +146,37 @@ def main() -> None: } exports = sorted(discovered | runtime_exports) - grouped: dict[str, list[tuple[str, Any]]] = defaultdict(list) + grouped: dict[str, list[tuple[str, Any, Any]]] = defaultdict(list) for name in exports: - grouped[category_for(getattr(package, name))].append((name, getattr(package, name))) + value = getattr(package, name) + member = analysis.members.get(name) + try: + parent = member.target if isinstance(member, griffe.Alias) else member + except griffe.AliasResolutionError: + parent = None + grouped[category_for(value)].append((name, value, parent)) OUTPUT_ROOT.mkdir(parents=True, exist_ok=True) - index = ["# Python API reference", "", f"{len(exports)} public symbols are documented.", ""] + index = [ + "# Python API reference", + "", + ( + "This is the complete guide to slackblocks' public Python API. " + "Use it to check constructor signatures, accepted values, and class behavior " + "while you build a message, modal, or home tab." + ), + "", + ( + f"The {len(exports)} documented symbols are grouped by the part of Block Kit " + "they help you create." + ), + "", + ] for category in sorted(grouped): title = CATEGORIES[category] index.append(f"- [{title}](/reference/python/{category})") page = [f"# {title}", ""] - page.extend(render_symbol(name, value) for name, value in grouped[category]) + page.extend(render_symbol(name, value, parent) for name, value, parent in grouped[category]) (OUTPUT_ROOT / f"{category}.mdx").write_text("\n".join(page)) (OUTPUT_ROOT / "index.mdx").write_text("\n".join(index) + "\n") diff --git a/docs/scripts/typedoc-domain-groups.mjs b/docs/scripts/typedoc-domain-groups.mjs new file mode 100644 index 00000000..c7f4eee9 --- /dev/null +++ b/docs/scripts/typedoc-domain-groups.mjs @@ -0,0 +1,30 @@ +/** Flatten TypeDoc's kind-based index groups inside each domain. */ +export function load(app) { + app.converter.on( + "resolveEnd", + (context) => { + const entryPoints = Object.values(context.project.reflections).filter( + (reflection) => reflection.parent?.isProject(), + ); + + for (const group of context.project.groups ?? []) { + group.title = "none"; + } + + for (const reflection of entryPoints) { + const [group, ...remainingGroups] = reflection.groups ?? []; + if (!group) continue; + + group.title = "none"; + group.children = [group, ...remainingGroups] + .flatMap((item) => item.children) + .sort((left, right) => + left.name.localeCompare(right.name, "en", { sensitivity: "base" }), + ); + group.categories = undefined; + reflection.groups = [group]; + } + }, + -1000, + ); +} diff --git a/docs/src/components/LanguageContext/index.tsx b/docs/src/components/LanguageContext/index.tsx index 6adb4740..8ad3cf60 100644 --- a/docs/src/components/LanguageContext/index.tsx +++ b/docs/src/components/LanguageContext/index.tsx @@ -33,7 +33,11 @@ function languagePath(pathname: string, language: Language): string { const referenceMatch = pathname.match( /^(.*\/reference\/)(python|typescript)(?:\/.*)?$/, ); - if (referenceMatch) return `${referenceMatch[1]}${language}`; + if (referenceMatch) { + return referenceMatch[2] === language + ? pathname + : `${referenceMatch[1]}${language}`; + } const referenceIndexMatch = pathname.match(/^(.*\/reference)\/?$/); if (referenceIndexMatch) { @@ -42,7 +46,7 @@ function languagePath(pathname: string, language: Language): string { if (language === "typescript") { const pythonGuideMatch = pathname.match( - /^(.*)\/usage\/(compatibility|migration|troubleshooting|using_blocks)\/?$/, + /^(.*)\/usage\/(compatibility|migration)\/?$/, ); if (pythonGuideMatch) return `${pythonGuideMatch[1]}/usage/installation`; } diff --git a/docs/src/css/custom.css b/docs/src/css/custom.css index e137ad43..22593a9a 100644 --- a/docs/src/css/custom.css +++ b/docs/src/css/custom.css @@ -19,6 +19,13 @@ --ifm-color-primary-lightest: #fff; } +.footer { + --ifm-footer-background-color: var(--ifm-navbar-background-color); + --ifm-footer-color: var(--ifm-navbar-link-color); + --ifm-footer-link-color: var(--ifm-navbar-link-color); + --ifm-footer-padding-vertical: 0.75rem; +} + .prism-code, .prism-code .token { font-style: normal !important; @@ -28,9 +35,8 @@ background: transparent; } -.api-docstring { - font-family: var(--ifm-font-family-base); - white-space: pre-wrap; +.api-docstring > :last-child { + margin-bottom: 0; } .typedoc-sidebar-item-deprecated { diff --git a/docs/src/theme/DocSidebar/index.tsx b/docs/src/theme/DocSidebar/index.tsx index 55cbab96..d3e4c44f 100644 --- a/docs/src/theme/DocSidebar/index.tsx +++ b/docs/src/theme/DocSidebar/index.tsx @@ -24,6 +24,8 @@ const USAGE_ORDER = [ const SIDEBAR_LABELS: Record = { "Composition objects": "Composition Objects", "Rich text": "Rich Text", + objects: "Composition Objects", + "rich-text": "Rich Text", classes: "Classes", functions: "Functions", interfaces: "Interfaces", @@ -31,6 +33,20 @@ const SIDEBAR_LABELS: Record = { variables: "Variables", }; +const TYPESCRIPT_REFERENCE_ORDER = [ + "blocks", + "elements", + "objects", + "rich-text", + "messages", + "views", + "utilities", + "errors", +]; + +const TYPESCRIPT_API_TYPE_PREFIX = + /^(?:Class|Function|Interface|Type Alias|Variable):\s*/; + function isCategory(item: PropSidebarItem): item is PropSidebarItemCategory { return item.type === "category"; } @@ -38,9 +54,15 @@ function isCategory(item: PropSidebarItem): item is PropSidebarItemCategory { function capitaliseSidebarItem(item: PropSidebarItem): PropSidebarItem { if (item.type === "html") return item; + const withoutTypePrefix = item.label.replace( + TYPESCRIPT_API_TYPE_PREFIX, + "", + ); const label = SIDEBAR_LABELS[item.label] ?? - item.label.replace(/^[a-z]/, (letter) => letter.toUpperCase()); + (withoutTypePrefix !== item.label + ? withoutTypePrefix + : item.label.replace(/^[a-z]/, (letter) => letter.toUpperCase())); if (!isCategory(item)) return { ...item, label }; return { @@ -93,6 +115,39 @@ function filterUsage( }; } +function mergeTypeScriptDomainIndexes( + items: PropSidebarItem[], +): PropSidebarItem[] { + const categoryLabels = new Set( + items + .filter(isCategory) + .map((item) => item.label.toLowerCase()), + ); + const indexLinks = new Map( + items + .filter((item) => item.type === "link") + .map((item) => [item.label.toLowerCase(), item.href]), + ); + + return items.flatMap((item) => { + if (item.type === "html") return item; + const label = item.label.toLowerCase(); + if (item.type === "link" && categoryLabels.has(label)) return []; + if (!isCategory(item)) return item; + return { + ...item, + href: indexLinks.get(label) ?? item.href, + items: [...item.items].sort((left, right) => { + const leftLabel = left.type === "html" ? "" : left.label; + const rightLabel = right.type === "html" ? "" : right.label; + return leftLabel.localeCompare(rightLabel, "en", { + sensitivity: "base", + }); + }), + }; + }); +} + function filterReference( item: PropSidebarItemCategory, language: Language, @@ -102,6 +157,22 @@ function filterReference( ); if (!languageReference) return item; + const languageItems = + language === "typescript" + ? mergeTypeScriptDomainIndexes([...languageReference.items]).sort((left, right) => { + const leftPosition = TYPESCRIPT_REFERENCE_ORDER.indexOf( + left.type === "html" ? "" : left.label.toLowerCase(), + ); + const rightPosition = TYPESCRIPT_REFERENCE_ORDER.indexOf( + right.type === "html" ? "" : right.label.toLowerCase(), + ); + return ( + (leftPosition < 0 ? Number.MAX_SAFE_INTEGER : leftPosition) - + (rightPosition < 0 ? Number.MAX_SAFE_INTEGER : rightPosition) + ); + }) + : languageReference.items; + const sharedItems = item.items.filter( (child) => !isLanguageReference(child, "python") && @@ -111,7 +182,7 @@ function filterReference( return { ...item, href: languageReference.href, - items: [...sharedItems, ...languageReference.items], + items: [...sharedItems, ...languageItems], }; } diff --git a/python/slackblocks/attachments.py b/python/slackblocks/attachments.py index 03a90ca1..2bd635f4 100644 --- a/python/slackblocks/attachments.py +++ b/python/slackblocks/attachments.py @@ -22,70 +22,20 @@ class Color(Enum): Color is a utility class for use with the Slack secondary attachments API. Pass these to the `color` argument of - [`Attachment`](/slackblocks/latest/reference/attachments/#attachments.Attachment). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Color.GOOD - good -
    Color.WARNING - warning -
    Color.DANGER - danger -
    Color.RED - red -
    Color.BLUE - blue -
    Color.YELLOW - yellow -
    Color.GREEN - green -
    Color.ORANGE - orange -
    Color.PURPLE - purple -
    Color.BLACK - black -
    + [`Attachment`](#attachment). + + | Value | Preview | + | --- | --- | + | `Color.GOOD` | ![good](https://readme-swatches.vercel.app/4CAF50?style=round) | + | `Color.WARNING` | ![warning](https://readme-swatches.vercel.app/FFEB3B?style=round) | + | `Color.DANGER` | ![danger](https://readme-swatches.vercel.app/F44336?style=round) | + | `Color.RED` | ![red](https://readme-swatches.vercel.app/ff0000?style=round) | + | `Color.BLUE` | ![blue](https://readme-swatches.vercel.app/0000ff?style=round) | + | `Color.YELLOW` | ![yellow](https://readme-swatches.vercel.app/ffff00?style=round) | + | `Color.GREEN` | ![green](https://readme-swatches.vercel.app/00ff00?style=round) | + | `Color.ORANGE` | ![orange](https://readme-swatches.vercel.app/ff8800?style=round) | + | `Color.PURPLE` | ![purple](https://readme-swatches.vercel.app/8800ff?style=round) | + | `Color.BLACK` | ![black](https://readme-swatches.vercel.app/000000?style=round) | """ GOOD = "good" diff --git a/python/slackblocks/elements.py b/python/slackblocks/elements.py index 9ca86070..de00a4a4 100644 --- a/python/slackblocks/elements.py +++ b/python/slackblocks/elements.py @@ -955,7 +955,7 @@ def _resolve(self) -> dict[str, Any]: class PlainTextInput(Element): """ - A plain-text input, similar to the HTML tag, creates a field where a user + A plain-text input, similar to the HTML `` tag, creates a field where a user can enter freeform data. It can appear as a single-line field or a larger text area using the multiline flag. diff --git a/typescript/src/utilities-reference.ts b/typescript/src/utilities-reference.ts new file mode 100644 index 00000000..a0940ffd --- /dev/null +++ b/typescript/src/utilities-reference.ts @@ -0,0 +1,8 @@ +/** + * Types and helpers for building and validating Block Kit payloads. + * + * @module utilities + */ +export * from "./builder.js"; +export * from "./types.js"; +export * from "./validation.js"; From e991480e4e46b4008ac25f29c895c0e5ede1f4ff Mon Sep 17 00:00:00 2001 From: Nicholas Lambourne Date: Fri, 14 Aug 2026 03:14:06 +1000 Subject: [PATCH 11/23] test: enforce comprehensive conformance coverage --- README.md | 2 +- docs/docs/contributing.mdx | 11 +- python/slackblocks/blocks.py | 2 + python/slackblocks/elements.py | 4 +- python/test/conformance/test_conformance.py | 244 ++++++++++++++- python/test/unit/test_elements.py | 35 +++ python/test/unit/test_serializability.py | 3 +- spec/CHANGELOG.md | 3 +- spec/SPEC.md | 4 + spec/coverage.json | 80 +++++ spec/fixtures/invalid/manifest.json | 284 ++++++++++++++++-- .../valid/elements/file_input_basic.json | 9 + .../valid/elements/image_slack_file_id.json | 7 + .../valid/elements/image_slack_file_url.json | 7 + spec/manifest.json | 18 ++ typescript/src/elements.ts | 7 +- typescript/src/objects.ts | 11 + typescript/src/validation.ts | 171 +++++++++++ typescript/test/conformance.test.ts | 258 +++++++++++++++- 19 files changed, 1087 insertions(+), 73 deletions(-) create mode 100644 spec/coverage.json create mode 100644 spec/fixtures/valid/elements/file_input_basic.json create mode 100644 spec/fixtures/valid/elements/image_slack_file_id.json create mode 100644 spec/fixtures/valid/elements/image_slack_file_url.json diff --git a/README.md b/README.md index e358a541..a235af95 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ const payload = message({ - `python/` — the established Python package. - `typescript/` — the ESM TypeScript package. -- `spec/` — 79 valid fixtures, shared invalid cases, and limits. +- `spec/` — 82 valid fixtures, shared invalid cases, capability coverage, and limits. - `docs/` — the Docusaurus documentation site. See the [documentation site](https://nicklambourne.github.io/slackblocks/) for installation and usage. diff --git a/docs/docs/contributing.mdx b/docs/docs/contributing.mdx index 896cff0c..5426427c 100644 --- a/docs/docs/contributing.mdx +++ b/docs/docs/contributing.mdx @@ -53,11 +53,12 @@ The Python and TypeScript conformance suites both exercise every ID in `spec/man ## Add or change a Block Kit feature -1. Add or update canonical JSON in `spec/fixtures/valid/` and register it in `spec/manifest.json`. -2. Add invalid behavior to `spec/fixtures/invalid/manifest.json` when the feature introduces a validation rule. -3. Update `spec/limits.json` for shared scalar constraints. -4. Implement the feature idiomatically in both packages, or record a reason in the affected skip list. -5. Add language-native tests and update the relevant guide or executable example. +1. Add or update canonical JSON in `spec/fixtures/valid/`, register it in `spec/manifest.json`, and link the exact official Slack reference used to validate it. +2. Map every new JSON-producing capability to at least one valid fixture in `spec/coverage.json`. +3. Add invalid behavior to `spec/fixtures/invalid/manifest.json` when the feature introduces a validation rule. Every scalar leaf in `spec/limits.json` must have a matching invalid case. +4. Update `spec/limits.json` for shared scalar constraints. +5. Implement the feature idiomatically in both packages, or record a reason in the affected skip list. +6. Add language-native tests and update the relevant guide or executable example. When introducing a cross-language API, serialized JSON and validation outcomes are shared; public naming and construction style are language-native. diff --git a/python/slackblocks/blocks.py b/python/slackblocks/blocks.py index 3356ee01..90ecf444 100644 --- a/python/slackblocks/blocks.py +++ b/python/slackblocks/blocks.py @@ -26,6 +26,7 @@ EmailInput, ExternalMultiSelectMenu, ExternalSelectMenu, + FileInput, NumberInput, PlainTextInput, RadioButtonGroup, @@ -85,6 +86,7 @@ RichTextInput, EmailInput, URLInput, + FileInput, ) diff --git a/python/slackblocks/elements.py b/python/slackblocks/elements.py index de00a4a4..fe23a141 100644 --- a/python/slackblocks/elements.py +++ b/python/slackblocks/elements.py @@ -404,11 +404,9 @@ def __init__( self.max_files = validate_int(max_files, min_value=1, max_value=10, allow_none=True) def _resolve(self) -> dict[str, Any]: - # FileInput currently does not emit the "type" attribute; this is - # preserved from prior behaviour. The pre-existing #154 export work - # surfaced this class but did not change its rendering contract. return resolve( { + **self._attributes(), "action_id": self.action_id, "filetypes": self.filetypes, "max_files": self.max_files, diff --git a/python/test/conformance/test_conformance.py b/python/test/conformance/test_conformance.py index f761fb2d..ea5e943b 100644 --- a/python/test/conformance/test_conformance.py +++ b/python/test/conformance/test_conformance.py @@ -7,27 +7,35 @@ import pytest from slackblocks import ( + ActionsBlock, Button, + ConfirmationDialogue, ContextBlock, DividerBlock, FileInput, HeaderBlock, HomeTabView, Image, + ImageBlock, InputBlock, LengthError, + MarkdownBlock, MissingRequiredError, + ModalView, MutualExclusivityError, NumberInput, Option, + OptionGroup, OverflowMenu, PlainText, + PlainTextInput, RangeError, SectionBlock, SlackFile, StaticSelectMenu, Text, TypeMismatchError, + VideoBlock, ) from slackblocks.errors import InvalidUsageError @@ -50,10 +58,23 @@ def test_valid_manifest_covers_the_entire_fixture_corpus() -> None: for path in (SPEC_ROOT / "fixtures" / "valid").rglob("*.json") } assert manifest["spec_version"] == "1.0.0" - assert len(fixture_ids) == 79 + assert fixture_ids + assert len(fixture_ids) == len(manifest["fixtures"]) assert fixture_ids == files +def test_every_shared_json_capability_has_an_official_fixture() -> None: + manifest = load_json(SPEC_ROOT / "manifest.json") + coverage = load_json(SPEC_ROOT / "coverage.json") + fixtures = {fixture["id"]: fixture for fixture in manifest["fixtures"]} + assert coverage["spec_version"] == manifest["spec_version"] + for capability, fixture_ids in coverage["capabilities"].items(): + assert fixture_ids, capability + for fixture_id in fixture_ids: + assert fixture_id in fixtures, f"{capability} -> {fixture_id}" + assert fixtures[fixture_id]["slack_docs"].startswith("https://docs.slack.dev/") + + def test_every_valid_fixture_is_exercised_by_a_python_construction_test() -> None: manifest = load_json(SPEC_ROOT / "manifest.json") test_source = "\n".join( @@ -78,18 +99,197 @@ def option(value: str = "a") -> Option: return Option(text=PlainText("A"), value=value) +LIMITS = load_json(SPEC_ROOT / "limits.json") + + +def video(**overrides: object) -> VideoBlock: + inputs: dict[str, object] = { + "alt_text": "Video", + "thumbnail_url": "https://example.com/thumbnail.png", + "title": "Title", + "video_url": "https://example.com/video.mp4", + **overrides, + } + return VideoBlock(**inputs) # type: ignore[arg-type] + + INVALID_CASES: dict[str, Callable[[], object]] = { "text-empty": lambda: Text(""), "text-too-long": lambda: Text("x" * 3001), + "button-action-id-too-long": lambda: Button( + text="A", action_id="x" * (LIMITS["action_id"]["max_length"] + 1) + ), + "button-text-too-long": lambda: Button( + text="x" * (LIMITS["button"]["text"]["max_length"] + 1), action_id="a" + ), + "button-url-too-long": lambda: Button( + text="A", + action_id="a", + url="x" * (LIMITS["button"]["url"]["max_length"] + 1), + ), + "button-value-too-long": lambda: Button( + text="A", + action_id="a", + value="x" * (LIMITS["button"]["value"]["max_length"] + 1), + ), + "confirmation-title-too-long": lambda: ConfirmationDialogue( + title="x" * (LIMITS["confirmation"]["title"]["max_length"] + 1), + text="Text", + confirm="Yes", + deny="No", + ), + "confirmation-text-too-long": lambda: ConfirmationDialogue( + title="Title", + text="x" * (LIMITS["confirmation"]["text"]["max_length"] + 1), + confirm="Yes", + deny="No", + ), + "confirmation-confirm-too-long": lambda: ConfirmationDialogue( + title="Title", + text="Text", + confirm="x" * (LIMITS["confirmation"]["confirm"]["max_length"] + 1), + deny="No", + ), + "confirmation-deny-too-long": lambda: ConfirmationDialogue( + title="Title", + text="Text", + confirm="Yes", + deny="x" * (LIMITS["confirmation"]["deny"]["max_length"] + 1), + ), + "option-text-too-long": lambda: Option( + text="x" * (LIMITS["option"]["text"]["max_length"] + 1), value="a" + ), + "option-value-too-long": lambda: option("x" * (LIMITS["option"]["value"]["max_length"] + 1)), + "option-description-too-long": lambda: Option( + text="A", + value="a", + description="x" * (LIMITS["option"]["description"]["max_length"] + 1), + ), + "option-group-label-too-long": lambda: OptionGroup( + label="x" * (LIMITS["option_group"]["label"]["max_length"] + 1), + options=[option()], + ), + "option-group-empty": lambda: OptionGroup(label="Group", options=[]), + "option-group-too-many-options": lambda: OptionGroup( + label="Group", + options=[ + option(str(index)) + for index in range(LIMITS["option_group"]["options"]["max_items"] + 1) + ], + ), + "select-placeholder-too-long": lambda: StaticSelectMenu( + action_id="a", + options=[option()], + placeholder="x" * (LIMITS["select"]["placeholder"]["max_length"] + 1), + ), + "select-too-many-options": lambda: StaticSelectMenu( + action_id="a", + options=[ + option(str(index)) for index in range(LIMITS["select"]["options"]["max_items"] + 1) + ], + ), + "select-too-many-option-groups": lambda: StaticSelectMenu( + action_id="a", + option_groups=[ + OptionGroup(label=f"Group {index}", options=[option()]) + for index in range(LIMITS["select"]["option_groups"]["max_items"] + 1) + ], + ), + "overflow-empty": lambda: OverflowMenu("a", []), + "overflow-too-many-options": lambda: OverflowMenu( + "a", + [option(str(index)) for index in range(LIMITS["overflow"]["options"]["max_items"] + 1)], + ), + "file-input-max-files-too-small": lambda: FileInput( + action_id="a", max_files=LIMITS["file_input"]["max_files"]["min"] - 1 + ), + "file-input-max-files-too-large": lambda: FileInput( + action_id="a", max_files=LIMITS["file_input"]["max_files"]["max"] + 1 + ), + "plain-text-input-max-length-too-large": lambda: PlainTextInput( + action_id="a", max_length=LIMITS["plain_text_input"]["max_length"]["max"] + 1 + ), + "actions-too-many-elements": lambda: ActionsBlock( + elements=[ + Button(text="A", action_id=f"a-{index}") + for index in range(LIMITS["actions"]["elements"]["max_items"] + 1) + ] + ), + "context-too-many-elements": lambda: ContextBlock( + elements=[Text("A") for _ in range(LIMITS["context"]["elements"]["max_items"] + 1)] + ), + "header-text-too-long": lambda: HeaderBlock("x" * (LIMITS["header"]["text"]["max_length"] + 1)), + "image-url-too-long": lambda: ImageBlock( + image_url="x" * (LIMITS["image"]["image_url"]["max_length"] + 1), + alt_text="Alt", + ), + "image-alt-text-too-long": lambda: ImageBlock( + image_url="https://example.com/image.png", + alt_text="x" * (LIMITS["image"]["alt_text"]["max_length"] + 1), + ), + "input-label-too-long": lambda: InputBlock( + label="x" * (LIMITS["input"]["label"]["max_length"] + 1), + element=PlainTextInput(action_id="a"), + ), + "input-hint-too-long": lambda: InputBlock( + label="Label", + hint="x" * (LIMITS["input"]["hint"]["max_length"] + 1), + element=PlainTextInput(action_id="a"), + ), + "markdown-empty": lambda: MarkdownBlock(""), + "markdown-too-long": lambda: MarkdownBlock( + "x" * (LIMITS["markdown"]["text"]["max_length"] + 1) + ), + "section-text-too-long": lambda: SectionBlock( + "x" * (LIMITS["section"]["text"]["max_length"] + 1) + ), + "section-too-many-fields": lambda: SectionBlock( + fields=["x"] * (LIMITS["section"]["fields"]["max_items"] + 1) + ), + "section-field-too-long": lambda: SectionBlock( + fields=["x" * (LIMITS["section"]["fields"]["item_max_length"] + 1)] + ), + "video-alt-text-empty": lambda: video(alt_text=""), + "video-alt-text-too-long": lambda: video( + alt_text="x" * (LIMITS["video"]["alt_text"]["max_length"] + 1) + ), + "video-title-too-long": lambda: video(title="x" * (LIMITS["video"]["title"]["max_length"] + 1)), + "video-author-name-too-long": lambda: video( + author_name="x" * (LIMITS["video"]["author_name"]["max_length"] + 1) + ), + "video-description-too-long": lambda: video( + description="x" * (LIMITS["video"]["description"]["max_length"] + 1) + ), + "video-provider-name-too-long": lambda: video( + provider_name="x" * (LIMITS["video"]["provider_name"]["max_length"] + 1) + ), + "view-missing-blocks": lambda: HomeTabView(blocks=[]), + "view-too-many-blocks": lambda: HomeTabView( + blocks=[DividerBlock() for _ in range(LIMITS["view"]["blocks"]["max_items"] + 1)] + ), + "view-private-metadata-too-long": lambda: HomeTabView( + blocks=[DividerBlock()], + private_metadata="x" * (LIMITS["view"]["private_metadata"]["max_length"] + 1), + ), + "view-callback-id-too-long": lambda: HomeTabView( + blocks=[DividerBlock()], + callback_id="x" * (LIMITS["view"]["callback_id"]["max_length"] + 1), + ), + "view-title-too-long": lambda: ModalView( + title="x" * (LIMITS["view"]["title"]["max_length"] + 1), + blocks=[DividerBlock()], + ), + "view-close-too-long": lambda: ModalView( + title="Title", + close="x" * (LIMITS["view"]["close"]["max_length"] + 1), + blocks=[DividerBlock()], + ), + "view-submit-too-long": lambda: ModalView( + title="Title", + submit="x" * (LIMITS["view"]["submit"]["max_length"] + 1), + blocks=[DividerBlock()], + ), "section-missing-content": lambda: SectionBlock(), - "section-text-too-long": lambda: SectionBlock("x" * 3001), - "section-too-many-fields": lambda: SectionBlock(fields=["x"] * 11), - "section-field-too-long": lambda: SectionBlock(fields=["x" * 2001]), - "header-text-too-long": lambda: HeaderBlock("x" * 151), - "button-text-too-long": lambda: Button(text="x" * 76, action_id="a"), - "button-action-id-too-long": lambda: Button(text="A", action_id="x" * 256), - "option-value-too-long": lambda: option("x" * 76), - "overflow-too-many-options": lambda: OverflowMenu("a", [option(str(i)) for i in range(6)]), "static-select-options-and-groups": lambda: StaticSelectMenu( "a", options=[option()], @@ -101,12 +301,17 @@ def option(value: str = "a") -> Option: "number-input-inverted-range": lambda: NumberInput( is_decimal_allowed=True, min_value=2, max_value=1 ), - "file-input-max-files-out-of-range": lambda: FileInput(action_id="a", max_files=11), "context-invalid-element": lambda: ContextBlock(elements=[DividerBlock()]), "input-invalid-element": lambda: InputBlock(label="Label", element=Button("A", "a")), - "view-missing-blocks": lambda: HomeTabView(blocks=[]), } + +def scalar_paths(value: object, prefix: tuple[str, ...] = ()) -> set[str]: + if not isinstance(value, dict): + return {".".join(prefix)} + return {path for key, nested in value.items() for path in scalar_paths(nested, (*prefix, key))} + + ERROR_CATEGORIES = { LengthError: "length-exceeded", RangeError: "out-of-range", @@ -134,6 +339,23 @@ def test_invalid_case_category(case_id: str, expected_category: str) -> None: assert category == expected_category +def test_invalid_manifest_covers_every_scalar_limit() -> None: + cases = load_json(SPEC_ROOT / "fixtures" / "invalid" / "manifest.json")["cases"] + covered = {case["constraint"] for case in cases} + assert scalar_paths(LIMITS) <= covered + + +def test_invalid_manifest_has_unique_case_ids_and_constraints() -> None: + cases = load_json(SPEC_ROOT / "fixtures" / "invalid" / "manifest.json")["cases"] + assert len({case["id"] for case in cases}) == len(cases) + assert len({case["constraint"] for case in cases}) == len(cases) + + +def test_every_invalid_case_has_a_python_construction() -> None: + cases = load_json(SPEC_ROOT / "fixtures" / "invalid" / "manifest.json")["cases"] + assert set(INVALID_CASES) == {case["id"] for case in cases} + + def test_python_skiplist_is_empty() -> None: entries = [ line diff --git a/python/test/unit/test_elements.py b/python/test/unit/test_elements.py index 11ea0cd5..103d6d00 100644 --- a/python/test/unit/test_elements.py +++ b/python/test/unit/test_elements.py @@ -15,6 +15,7 @@ EmailInput, ExternalMultiSelectMenu, ExternalSelectMenu, + FileInput, Image, NumberInput, OverflowMenu, @@ -152,11 +153,45 @@ def test_email_input_basic() -> None: assert fetch_sample(path="elements/email_input_basic.json") == repr(email_input) +def test_file_input_basic() -> None: + file_input = FileInput( + action_id="file_input_action_id_1", + filetypes=["jpg", "png"], + max_files=5, + ) + assert fetch_sample(path="elements/file_input_basic.json") == repr(file_input) + + +def test_file_input_is_valid_inside_input_block() -> None: + from slackblocks import InputBlock + + block = InputBlock(label="Upload files", element=FileInput(action_id="file_input")) + assert block._resolve()["element"]["type"] == "file_input" + + def test_image_basic() -> None: image = Image(image_url="https://ndl.im/img/logo.png", alt_text="Logo for ndl.im") assert fetch_sample(path="elements/image_basic.json") == repr(image) +@pytest.mark.parametrize( + ("fixture_id", "slack_file"), + [ + ("elements/image_slack_file_id.json", SlackFile(url=None, id="F0123456")), + ( + "elements/image_slack_file_url.json", + SlackFile( + url="https://files.slack.com/files-pri/T0123456-F0123456/xyz.png", + id=None, + ), + ), + ], +) +def test_image_with_slack_file_fixture(fixture_id: str, slack_file: SlackFile) -> None: + image = Image(alt_text="An incredibly cute kitten.", slack_file=slack_file) + assert fetch_sample(path=fixture_id) == repr(image) + + def test_image_with_slack_file_resolves() -> None: """Regression test for #130: Image element must call ``_resolve()`` on its nested ``slack_file`` so the result is JSON-serializable.""" diff --git a/python/test/unit/test_serializability.py b/python/test/unit/test_serializability.py index 22018455..8c65f241 100644 --- a/python/test/unit/test_serializability.py +++ b/python/test/unit/test_serializability.py @@ -294,8 +294,7 @@ def _serializability_check( "external_select", True, ), - # FileInput historically does not include "type" in its rendered JSON. - ("FileInput", lambda: FileInput(action_id="fi"), "", False), + ("FileInput", lambda: FileInput(action_id="fi"), "file_input", True), ( "Image_with_url", lambda: Image(image_url="https://x.png", alt_text="alt"), diff --git a/spec/CHANGELOG.md b/spec/CHANGELOG.md index 17848507..dad144ee 100644 --- a/spec/CHANGELOG.md +++ b/spec/CHANGELOG.md @@ -2,6 +2,7 @@ ## 1.0.0 - 2026-08-12 -- Promote the 79 existing Python golden fixtures into the shared valid corpus. +- Promote the existing Python golden fixtures into the shared valid corpus and expand it to 82 Slack-validated cases. - Define the cross-language validation categories and seed invalid cases. - Publish a shared scalar limits registry. +- Require fixture coverage for every supported JSON capability and invalid-case coverage for every scalar limit. diff --git a/spec/SPEC.md b/spec/SPEC.md index 343020a3..2a7492d4 100644 --- a/spec/SPEC.md +++ b/spec/SPEC.md @@ -16,6 +16,10 @@ The normative categories are `length-exceeded`, `out-of-range`, `mutually-exclus Each implementation must either exercise every valid fixture and invalid case or list its ID in `conformance/skiplist.txt` with a reason. Conformance fails for unknown entries, unlisted failures, and stale skips that now pass. +`coverage.json` lists every JSON-producing capability in the shared public API and the valid fixtures that exercise it. Every referenced fixture must be registered in `manifest.json` and link to the official Slack documentation used to validate its shape. Adding a shared capability requires adding it to this registry. + ## Limits `limits.json` is the shared registry for stable scalar constraints. Changes to limits and fixtures must land atomically with implementation updates or explicit skip-list entries. + +Every scalar leaf in `limits.json` must have a corresponding invalid case whose `constraint` is the leaf's dotted path. Structural rules that are not scalar limits may have additional invalid cases. diff --git a/spec/coverage.json b/spec/coverage.json new file mode 100644 index 00000000..2f92de7a --- /dev/null +++ b/spec/coverage.json @@ -0,0 +1,80 @@ +{ + "spec_version": "1.0.0", + "capabilities": { + "blocks.actions": ["blocks/actions_block_checkboxes"], + "blocks.context": ["blocks/context_block_text_only"], + "blocks.divider": ["blocks/divider_block_only"], + "blocks.file": ["blocks/file_block_only"], + "blocks.header": ["blocks/header_block_only"], + "blocks.image": ["blocks/image_block_only"], + "blocks.input": ["blocks/input_block_only"], + "blocks.markdown": ["blocks/markdown_block_basic"], + "blocks.rich_text": ["blocks/rich_text_block_basic"], + "blocks.section": ["blocks/section_block_text_only"], + "blocks.table": ["blocks/table_block"], + "blocks.video": ["blocks/video_block_basic"], + "elements.button": ["elements/button_basic"], + "elements.checkboxes": ["elements/checkbox_basic"], + "elements.date_picker": ["elements/date_picker_basic"], + "elements.datetime_picker": ["elements/datetime_picker_basic"], + "elements.email_input": ["elements/email_input_basic"], + "elements.file_input": ["elements/file_input_basic"], + "elements.image": [ + "elements/image_basic", + "elements/image_slack_file_id", + "elements/image_slack_file_url" + ], + "elements.multi_select_channels": ["elements/multi_select_channel"], + "elements.multi_select_conversations": ["elements/multi_select_conversation"], + "elements.multi_select_external": ["elements/multi_select_external"], + "elements.multi_select_static": ["elements/multi_select_static"], + "elements.multi_select_users": ["elements/multi_select_user"], + "elements.number_input": ["elements/number_input_basic"], + "elements.overflow": ["elements/overflow_menu_basic"], + "elements.plain_text_input": ["elements/plaintext_input_basic"], + "elements.radio_buttons": ["elements/radio_button_group_basic"], + "elements.rich_text_input": ["elements/rich_text_input_basic"], + "elements.select_channels": ["elements/select_menu_channel"], + "elements.select_conversations": ["elements/select_menu_conversation"], + "elements.select_external": ["elements/select_menu_external"], + "elements.select_static": ["elements/select_menu_static"], + "elements.select_users": ["elements/select_menu_user"], + "elements.time_picker": ["elements/timepicker_basic"], + "elements.url_input": ["elements/url_input_basic"], + "elements.workflow_button": ["elements/workflow_button_basic"], + "messages.attachment": ["attachments/attachment_simple"], + "messages.message": ["messages/message_basic"], + "messages.message_response": ["messages/message_response"], + "messages.webhook_message": ["messages/webhook_message_basic"], + "objects.column_settings": ["blocks/table_block"], + "objects.confirmation": ["objects/confirmation_dialogue_basic"], + "objects.conversation_filter": ["objects/conversation_filter_basic"], + "objects.dispatch_action_configuration": [ + "objects/dispatch_action_configuration_basic" + ], + "objects.input_parameter": ["objects/input_parameter_basic"], + "objects.markdown_text": ["objects/text_markdown_basic"], + "objects.option": ["objects/option_basic"], + "objects.option_group": ["objects/option_group_basic"], + "objects.plain_text": ["objects/text_plaintext_basic"], + "objects.raw_text": ["blocks/table_block"], + "objects.slack_file": [ + "elements/image_slack_file_id", + "elements/image_slack_file_url" + ], + "objects.trigger": ["objects/trigger_basic"], + "objects.workflow": ["objects/workflow_basic"], + "rich_text.channel": ["rich_text/rich_text_channel_basic"], + "rich_text.code_block": ["rich_text/rich_text_code_block_basic"], + "rich_text.emoji": ["rich_text/rich_text_emoji_basic"], + "rich_text.link": ["rich_text/rich_text_link_basic"], + "rich_text.list": ["rich_text/rich_text_list_basic"], + "rich_text.quote": ["rich_text/rich_text_quote_basic"], + "rich_text.section": ["rich_text/rich_text_section_basic"], + "rich_text.text": ["rich_text/rich_text_basic"], + "rich_text.user": ["rich_text/rich_text_user_basic"], + "rich_text.user_group": ["rich_text/rich_text_user_group_basic"], + "views.home_tab": ["views/hometab_view"], + "views.modal": ["views/modal_with_blocks"] + } +} diff --git a/spec/fixtures/invalid/manifest.json b/spec/fixtures/invalid/manifest.json index 89831de8..e22fb3e5 100644 --- a/spec/fixtures/invalid/manifest.json +++ b/spec/fixtures/invalid/manifest.json @@ -14,10 +14,190 @@ "description": "A text object longer than 3000 characters must be rejected" }, { - "id": "section-missing-content", - "category": "missing-required", - "constraint": "section.content", - "description": "A section with neither text nor fields must be rejected" + "id": "button-action-id-too-long", + "category": "length-exceeded", + "constraint": "action_id.max_length", + "description": "An action ID longer than 255 characters must be rejected" + }, + { + "id": "button-text-too-long", + "category": "length-exceeded", + "constraint": "button.text.max_length", + "description": "Button text longer than 75 characters must be rejected" + }, + { + "id": "button-url-too-long", + "category": "length-exceeded", + "constraint": "button.url.max_length", + "description": "A button URL longer than 3000 characters must be rejected" + }, + { + "id": "button-value-too-long", + "category": "length-exceeded", + "constraint": "button.value.max_length", + "description": "A button value longer than 2000 characters must be rejected" + }, + { + "id": "confirmation-title-too-long", + "category": "length-exceeded", + "constraint": "confirmation.title.max_length", + "description": "A confirmation title longer than 100 characters must be rejected" + }, + { + "id": "confirmation-text-too-long", + "category": "length-exceeded", + "constraint": "confirmation.text.max_length", + "description": "Confirmation text longer than 300 characters must be rejected" + }, + { + "id": "confirmation-confirm-too-long", + "category": "length-exceeded", + "constraint": "confirmation.confirm.max_length", + "description": "Confirmation button text longer than 30 characters must be rejected" + }, + { + "id": "confirmation-deny-too-long", + "category": "length-exceeded", + "constraint": "confirmation.deny.max_length", + "description": "Denial button text longer than 30 characters must be rejected" + }, + { + "id": "option-text-too-long", + "category": "length-exceeded", + "constraint": "option.text.max_length", + "description": "Option text longer than 75 characters must be rejected" + }, + { + "id": "option-value-too-long", + "category": "length-exceeded", + "constraint": "option.value.max_length", + "description": "An option value longer than 75 characters must be rejected" + }, + { + "id": "option-description-too-long", + "category": "length-exceeded", + "constraint": "option.description.max_length", + "description": "An option description longer than 75 characters must be rejected" + }, + { + "id": "option-group-label-too-long", + "category": "length-exceeded", + "constraint": "option_group.label.max_length", + "description": "An option-group label longer than 75 characters must be rejected" + }, + { + "id": "option-group-empty", + "category": "length-exceeded", + "constraint": "option_group.options.min_items", + "description": "An option group with no options must be rejected" + }, + { + "id": "option-group-too-many-options", + "category": "length-exceeded", + "constraint": "option_group.options.max_items", + "description": "An option group with more than 100 options must be rejected" + }, + { + "id": "select-placeholder-too-long", + "category": "length-exceeded", + "constraint": "select.placeholder.max_length", + "description": "A select placeholder longer than 150 characters must be rejected" + }, + { + "id": "select-too-many-options", + "category": "length-exceeded", + "constraint": "select.options.max_items", + "description": "A static select with more than 100 options must be rejected" + }, + { + "id": "select-too-many-option-groups", + "category": "length-exceeded", + "constraint": "select.option_groups.max_items", + "description": "A static select with more than 100 option groups must be rejected" + }, + { + "id": "overflow-empty", + "category": "length-exceeded", + "constraint": "overflow.options.min_items", + "description": "An overflow menu with no options must be rejected" + }, + { + "id": "overflow-too-many-options", + "category": "length-exceeded", + "constraint": "overflow.options.max_items", + "description": "An overflow menu with more than five options must be rejected" + }, + { + "id": "file-input-max-files-too-small", + "category": "out-of-range", + "constraint": "file_input.max_files.min", + "description": "File input max files below one must be rejected" + }, + { + "id": "file-input-max-files-too-large", + "category": "out-of-range", + "constraint": "file_input.max_files.max", + "description": "File input max files above 10 must be rejected" + }, + { + "id": "plain-text-input-max-length-too-large", + "category": "out-of-range", + "constraint": "plain_text_input.max_length.max", + "description": "Plain-text input max length above 3000 must be rejected" + }, + { + "id": "actions-too-many-elements", + "category": "length-exceeded", + "constraint": "actions.elements.max_items", + "description": "An actions block with more than 25 elements must be rejected" + }, + { + "id": "context-too-many-elements", + "category": "length-exceeded", + "constraint": "context.elements.max_items", + "description": "A context block with more than 10 elements must be rejected" + }, + { + "id": "header-text-too-long", + "category": "length-exceeded", + "constraint": "header.text.max_length", + "description": "Header text longer than 150 characters must be rejected" + }, + { + "id": "image-url-too-long", + "category": "length-exceeded", + "constraint": "image.image_url.max_length", + "description": "An image URL longer than 3000 characters must be rejected" + }, + { + "id": "image-alt-text-too-long", + "category": "length-exceeded", + "constraint": "image.alt_text.max_length", + "description": "Image alternative text longer than 2000 characters must be rejected" + }, + { + "id": "input-label-too-long", + "category": "length-exceeded", + "constraint": "input.label.max_length", + "description": "An input-block label longer than 2000 characters must be rejected" + }, + { + "id": "input-hint-too-long", + "category": "length-exceeded", + "constraint": "input.hint.max_length", + "description": "Input-block hint text longer than 2000 characters must be rejected" + }, + { + "id": "markdown-empty", + "category": "length-exceeded", + "constraint": "markdown.text.min_length", + "description": "An empty markdown block must be rejected" + }, + { + "id": "markdown-too-long", + "category": "length-exceeded", + "constraint": "markdown.text.max_length", + "description": "Markdown block text longer than 12000 characters must be rejected" }, { "id": "section-text-too-long", @@ -38,34 +218,88 @@ "description": "A section field longer than 2000 characters must be rejected" }, { - "id": "header-text-too-long", + "id": "video-alt-text-empty", "category": "length-exceeded", - "constraint": "header.text.max_length", - "description": "Header text longer than 150 characters must be rejected" + "constraint": "video.alt_text.min_length", + "description": "A video block with empty alternative text must be rejected" }, { - "id": "button-text-too-long", + "id": "video-alt-text-too-long", "category": "length-exceeded", - "constraint": "button.text.max_length", - "description": "Button text longer than 75 characters must be rejected" + "constraint": "video.alt_text.max_length", + "description": "Video alternative text longer than 200 characters must be rejected" }, { - "id": "button-action-id-too-long", + "id": "video-title-too-long", "category": "length-exceeded", - "constraint": "action_id.max_length", - "description": "An action ID longer than 255 characters must be rejected" + "constraint": "video.title.max_length", + "description": "A video title longer than 200 characters must be rejected" }, { - "id": "option-value-too-long", + "id": "video-author-name-too-long", "category": "length-exceeded", - "constraint": "option.value.max_length", - "description": "An option value longer than 75 characters must be rejected" + "constraint": "video.author_name.max_length", + "description": "A video author name longer than 50 characters must be rejected" }, { - "id": "overflow-too-many-options", + "id": "video-description-too-long", "category": "length-exceeded", - "constraint": "overflow.options.max_items", - "description": "An overflow menu with more than five options must be rejected" + "constraint": "video.description.max_length", + "description": "A video description longer than 200 characters must be rejected" + }, + { + "id": "video-provider-name-too-long", + "category": "length-exceeded", + "constraint": "video.provider_name.max_length", + "description": "A video provider name longer than 50 characters must be rejected" + }, + { + "id": "view-missing-blocks", + "category": "length-exceeded", + "constraint": "view.blocks.min_items", + "description": "A view must contain at least one block" + }, + { + "id": "view-too-many-blocks", + "category": "length-exceeded", + "constraint": "view.blocks.max_items", + "description": "A view with more than 100 blocks must be rejected" + }, + { + "id": "view-private-metadata-too-long", + "category": "length-exceeded", + "constraint": "view.private_metadata.max_length", + "description": "View private metadata longer than 3000 characters must be rejected" + }, + { + "id": "view-callback-id-too-long", + "category": "length-exceeded", + "constraint": "view.callback_id.max_length", + "description": "A view callback ID longer than 255 characters must be rejected" + }, + { + "id": "view-title-too-long", + "category": "length-exceeded", + "constraint": "view.title.max_length", + "description": "A modal title longer than 24 characters must be rejected" + }, + { + "id": "view-close-too-long", + "category": "length-exceeded", + "constraint": "view.close.max_length", + "description": "Modal close text longer than 24 characters must be rejected" + }, + { + "id": "view-submit-too-long", + "category": "length-exceeded", + "constraint": "view.submit.max_length", + "description": "Modal submit text longer than 24 characters must be rejected" + }, + { + "id": "section-missing-content", + "category": "missing-required", + "constraint": "section.content", + "description": "A section with neither text nor fields must be rejected" }, { "id": "static-select-options-and-groups", @@ -85,12 +319,6 @@ "constraint": "number_input.range", "description": "A number input minimum cannot exceed its maximum" }, - { - "id": "file-input-max-files-out-of-range", - "category": "out-of-range", - "constraint": "file_input.max_files", - "description": "File input max files must be between 1 and 10" - }, { "id": "context-invalid-element", "category": "type-mismatch", @@ -102,12 +330,6 @@ "category": "type-mismatch", "constraint": "input.element", "description": "An input block must contain an input-compatible element" - }, - { - "id": "view-missing-blocks", - "category": "length-exceeded", - "constraint": "view.blocks.min_items", - "description": "A view must contain at least one block" } ] } diff --git a/spec/fixtures/valid/elements/file_input_basic.json b/spec/fixtures/valid/elements/file_input_basic.json new file mode 100644 index 00000000..4529828f --- /dev/null +++ b/spec/fixtures/valid/elements/file_input_basic.json @@ -0,0 +1,9 @@ +{ + "type": "file_input", + "action_id": "file_input_action_id_1", + "filetypes": [ + "jpg", + "png" + ], + "max_files": 5 +} diff --git a/spec/fixtures/valid/elements/image_slack_file_id.json b/spec/fixtures/valid/elements/image_slack_file_id.json new file mode 100644 index 00000000..d07b60ca --- /dev/null +++ b/spec/fixtures/valid/elements/image_slack_file_id.json @@ -0,0 +1,7 @@ +{ + "type": "image", + "slack_file": { + "id": "F0123456" + }, + "alt_text": "An incredibly cute kitten." +} diff --git a/spec/fixtures/valid/elements/image_slack_file_url.json b/spec/fixtures/valid/elements/image_slack_file_url.json new file mode 100644 index 00000000..41021217 --- /dev/null +++ b/spec/fixtures/valid/elements/image_slack_file_url.json @@ -0,0 +1,7 @@ +{ + "type": "image", + "slack_file": { + "url": "https://files.slack.com/files-pri/T0123456-F0123456/xyz.png" + }, + "alt_text": "An incredibly cute kitten." +} diff --git a/spec/manifest.json b/spec/manifest.json index 6696bccc..ecb63133 100644 --- a/spec/manifest.json +++ b/spec/manifest.json @@ -157,12 +157,30 @@ "slack_docs": "https://docs.slack.dev/reference/block-kit/block-elements/", "since": "1.0.0" }, + { + "id": "elements/file_input_basic", + "description": "File Input Basic", + "slack_docs": "https://docs.slack.dev/reference/block-kit/block-elements/file-input-element/", + "since": "1.0.0" + }, { "id": "elements/image_basic", "description": "Image Basic", "slack_docs": "https://docs.slack.dev/reference/block-kit/block-elements/", "since": "1.0.0" }, + { + "id": "elements/image_slack_file_id", + "description": "Image With Slack File ID", + "slack_docs": "https://docs.slack.dev/reference/block-kit/composition-objects/slack-file-object/", + "since": "1.0.0" + }, + { + "id": "elements/image_slack_file_url", + "description": "Image With Slack File URL", + "slack_docs": "https://docs.slack.dev/reference/block-kit/composition-objects/slack-file-object/", + "since": "1.0.0" + }, { "id": "elements/multi_select_channel", "description": "Multi Select Channel", diff --git a/typescript/src/elements.ts b/typescript/src/elements.ts index 7ffee149..651bdf22 100644 --- a/typescript/src/elements.ts +++ b/typescript/src/elements.ts @@ -1,5 +1,5 @@ import { RangeError } from "./errors.js"; -import { create, createObject } from "./internal.js"; +import { create } from "./internal.js"; import { asText, type TextLike } from "./objects.js"; import type { FactorySettings, JsonObject, SlackObject } from "./types.js"; @@ -82,12 +82,11 @@ export function emailInput( export function fileInput( input: { actionId: string; filetypes?: string[]; maxFiles?: number }, settings: FactorySettings = {}, -): JsonObject { +): SlackObject<"file_input"> { if (input.maxFiles !== undefined && (input.maxFiles < 1 || input.maxFiles > 10)) { throw new RangeError("fileInput.maxFiles", "expected a value between 1 and 10"); } - // Python 2.0 fixtures preserve this historical no-type wire shape. - return createObject(input, settings); + return create("file_input", input, settings); } export function imageElement( diff --git a/typescript/src/objects.ts b/typescript/src/objects.ts index ed3d5b1c..60fed3cf 100644 --- a/typescript/src/objects.ts +++ b/typescript/src/objects.ts @@ -111,6 +111,17 @@ export function optionGroup( input: OptionGroupInput, settings: FactorySettings = {}, ): JsonObject { + ensureLength( + textValue(asText(input.label, "plain_text", settings)) ?? "", + "optionGroup.label", + 75, + ); + if (input.options.length < 1 || input.options.length > 100) { + throw new LengthError( + "optionGroup.options", + `expected between 1 and 100 options, received ${input.options.length}`, + ); + } return createObject( { ...input, label: asText(input.label, "plain_text", settings) }, settings, diff --git a/typescript/src/validation.ts b/typescript/src/validation.ts index c882e7cd..67a82b05 100644 --- a/typescript/src/validation.ts +++ b/typescript/src/validation.ts @@ -49,6 +49,21 @@ function length( } } +function range( + value: number | undefined, + path: string, + minimum?: number, + maximum?: number, +): void { + if (value === undefined) return; + if (minimum !== undefined && value < minimum) { + throw new RangeError(path, `${value} is less than minimum ${minimum}`); + } + if (maximum !== undefined && value > maximum) { + throw new RangeError(path, `${value} exceeds maximum ${maximum}`); + } +} + function validateTextObject(object: JsonObject, path: string): void { const value = textValue(object); if (value === undefined) { @@ -141,6 +156,30 @@ function validateKnownObject(object: JsonObject, path: string): void { length(object.value, child(path, "value"), undefined, limits.button.value.max_length); } break; + case "file_input": + range( + typeof object.max_files === "number" ? object.max_files : undefined, + child(path, "max_files"), + limits.file_input.max_files.min, + limits.file_input.max_files.max, + ); + break; + case "plain_text_input": + range( + typeof object.max_length === "number" ? object.max_length : undefined, + child(path, "max_length"), + undefined, + limits.plain_text_input.max_length.max, + ); + if (object.placeholder !== undefined) { + length( + textValue(object.placeholder), + child(path, "placeholder.text"), + undefined, + limits.select.placeholder.max_length, + ); + } + break; case "overflow": if (Array.isArray(object.options)) { length( @@ -159,6 +198,30 @@ function validateKnownObject(object: JsonObject, path: string): void { "options and option_groups cannot be provided together", ); } + if (Array.isArray(object.options)) { + length( + object.options, + child(path, "options"), + undefined, + limits.select.options.max_items, + ); + } + if (Array.isArray(object.option_groups)) { + length( + object.option_groups, + child(path, "option_groups"), + undefined, + limits.select.option_groups.max_items, + ); + } + if (object.placeholder !== undefined) { + length( + textValue(object.placeholder), + child(path, "placeholder.text"), + undefined, + limits.select.placeholder.max_length, + ); + } break; case "number_input": if ( @@ -176,6 +239,22 @@ function validateKnownObject(object: JsonObject, path: string): void { "image_url and slack_file cannot be provided together", ); } + if (typeof object.image_url === "string") { + length( + object.image_url, + child(path, "image_url"), + undefined, + limits.image.image_url.max_length, + ); + } + if (typeof object.alt_text === "string") { + length( + object.alt_text, + child(path, "alt_text"), + undefined, + limits.image.alt_text.max_length, + ); + } break; case "context": if (Array.isArray(object.elements)) { @@ -198,6 +277,20 @@ function validateKnownObject(object: JsonObject, path: string): void { } break; case "input": { + length( + textValue(object.label), + child(path, "label.text"), + undefined, + limits.input.label.max_length, + ); + if (object.hint !== undefined) { + length( + textValue(object.hint), + child(path, "hint.text"), + undefined, + limits.input.hint.max_length, + ); + } const elementPath = child(path, "element"); const element = objectAt(object.element, elementPath); if (!INPUT_ELEMENT_TYPES.has(String(element.type))) { @@ -205,6 +298,48 @@ function validateKnownObject(object: JsonObject, path: string): void { } break; } + case "markdown": + length( + typeof object.text === "string" ? object.text : undefined, + child(path, "text"), + limits.markdown.text.min_length, + limits.markdown.text.max_length, + ); + break; + case "video": + length( + typeof object.alt_text === "string" ? object.alt_text : undefined, + child(path, "alt_text"), + limits.video.alt_text.min_length, + limits.video.alt_text.max_length, + ); + length( + textValue(object.title), + child(path, "title.text"), + undefined, + limits.video.title.max_length, + ); + length( + typeof object.author_name === "string" ? object.author_name : undefined, + child(path, "author_name"), + undefined, + limits.video.author_name.max_length, + ); + if (object.description !== undefined) { + length( + textValue(object.description), + child(path, "description.text"), + undefined, + limits.video.description.max_length, + ); + } + length( + typeof object.provider_name === "string" ? object.provider_name : undefined, + child(path, "provider_name"), + undefined, + limits.video.provider_name.max_length, + ); + break; case "modal": case "home": if (!Array.isArray(object.blocks)) { @@ -216,6 +351,42 @@ function validateKnownObject(object: JsonObject, path: string): void { limits.view.blocks.min_items, limits.view.blocks.max_items, ); + length( + typeof object.private_metadata === "string" ? object.private_metadata : undefined, + child(path, "private_metadata"), + undefined, + limits.view.private_metadata.max_length, + ); + length( + typeof object.callback_id === "string" ? object.callback_id : undefined, + child(path, "callback_id"), + undefined, + limits.view.callback_id.max_length, + ); + if (type === "modal") { + length( + textValue(object.title), + child(path, "title.text"), + undefined, + limits.view.title.max_length, + ); + if (object.close !== undefined) { + length( + textValue(object.close), + child(path, "close.text"), + undefined, + limits.view.close.max_length, + ); + } + if (object.submit !== undefined) { + length( + textValue(object.submit), + child(path, "submit.text"), + undefined, + limits.view.submit.max_length, + ); + } + } break; default: break; diff --git a/typescript/test/conformance.test.ts b/typescript/test/conformance.test.ts index bd726a35..ca8ea9f3 100644 --- a/typescript/test/conformance.test.ts +++ b/typescript/test/conformance.test.ts @@ -4,6 +4,8 @@ import { fileURLToPath } from "node:url"; import { describe, expect, it } from "vitest"; +import limits from "../../spec/limits.json" with { type: "json" }; + import { actionsBlock, attachment, @@ -75,14 +77,24 @@ import { const PACKAGE_ROOT = resolve(dirname(fileURLToPath(import.meta.url)), ".."); const SPEC_ROOT = resolve(PACKAGE_ROOT, "../spec"); +interface ManifestFixture { + id: string; + slack_docs: string; +} + interface Manifest { spec_version: string; - fixtures: Array<{ id: string }>; + fixtures: ManifestFixture[]; +} + +interface Coverage { + spec_version: string; + capabilities: Record; } interface InvalidManifest { spec_version: string; - cases: Array<{ id: string; category: ErrorCategory }>; + cases: Array<{ id: string; category: ErrorCategory; constraint: string }>; } function readJson(path: string): T { @@ -213,11 +225,37 @@ function constructFixture(id: string, expected: FixtureInput): unknown { } const manifest = readJson(resolve(SPEC_ROOT, "manifest.json")); +const coverage = readJson(resolve(SPEC_ROOT, "coverage.json")); + +function scalarPaths(value: unknown, prefix: string[] = []): string[] { + if (value === null || typeof value !== "object" || Array.isArray(value)) { + return [prefix.join(".")]; + } + return Object.entries(value).flatMap(([key, nested]) => + scalarPaths(nested, [...prefix, key]), + ); +} describe("valid conformance corpus", () => { - it("declares spec 1.0.0 and all 79 fixtures", () => { + it("declares the current spec and a non-empty fixture corpus", () => { expect(manifest.spec_version).toBe("1.0.0"); - expect(manifest.fixtures).toHaveLength(79); + expect(manifest.fixtures.length).toBeGreaterThan(0); + expect(new Set(manifest.fixtures.map(({ id }) => id)).size).toBe( + manifest.fixtures.length, + ); + }); + + it("covers every declared shared JSON capability with an official fixture", () => { + expect(coverage.spec_version).toBe(manifest.spec_version); + const fixtures = new Map(manifest.fixtures.map((fixture) => [fixture.id, fixture])); + for (const [capability, fixtureIds] of Object.entries(coverage.capabilities)) { + expect(fixtureIds.length, capability).toBeGreaterThan(0); + for (const fixtureId of fixtureIds) { + const fixture = fixtures.get(fixtureId); + expect(fixture, `${capability} -> ${fixtureId}`).toBeDefined(); + expect(fixture?.slack_docs).toMatch(/^https:\/\/docs\.slack\.dev\//); + } + } }); for (const fixture of manifest.fixtures) { @@ -249,20 +287,199 @@ describe("valid conformance corpus", () => { }); const choice = () => option({ text: "A", value: "a" }); +const video = (overrides: Record = {}) => + videoBlock({ + altText: "Video", + thumbnailUrl: "https://example.com/thumbnail.png", + title: "Title", + videoUrl: "https://example.com/video.mp4", + ...overrides, + }); const invalidCases: Record unknown> = { "text-empty": () => plainText(""), "text-too-long": () => plainText("x".repeat(3001)), - "section-missing-content": () => sectionBlock({}), - "section-text-too-long": () => sectionBlock({ text: "x".repeat(3001) }), - "section-too-many-fields": () => sectionBlock({ fields: Array(11).fill("x") }), - "section-field-too-long": () => sectionBlock({ fields: ["x".repeat(2001)] }), - "header-text-too-long": () => headerBlock({ text: "x".repeat(151) }), - "button-text-too-long": () => button({ text: "x".repeat(76), actionId: "a" }), - "button-action-id-too-long": () => button({ text: "A", actionId: "x".repeat(256) }), - "option-value-too-long": () => option({ text: "A", value: "x".repeat(76) }), + "button-action-id-too-long": () => + button({ text: "A", actionId: "x".repeat(limits.action_id.max_length + 1) }), + "button-text-too-long": () => + button({ text: "x".repeat(limits.button.text.max_length + 1), actionId: "a" }), + "button-url-too-long": () => + button({ text: "A", actionId: "a", url: "x".repeat(limits.button.url.max_length + 1) }), + "button-value-too-long": () => + button({ + text: "A", + actionId: "a", + value: "x".repeat(limits.button.value.max_length + 1), + }), + "confirmation-title-too-long": () => + confirmation({ + title: "x".repeat(limits.confirmation.title.max_length + 1), + text: "Text", + confirm: "Yes", + deny: "No", + }), + "confirmation-text-too-long": () => + confirmation({ + title: "Title", + text: "x".repeat(limits.confirmation.text.max_length + 1), + confirm: "Yes", + deny: "No", + }), + "confirmation-confirm-too-long": () => + confirmation({ + title: "Title", + text: "Text", + confirm: "x".repeat(limits.confirmation.confirm.max_length + 1), + deny: "No", + }), + "confirmation-deny-too-long": () => + confirmation({ + title: "Title", + text: "Text", + confirm: "Yes", + deny: "x".repeat(limits.confirmation.deny.max_length + 1), + }), + "option-text-too-long": () => + option({ text: "x".repeat(limits.option.text.max_length + 1), value: "a" }), + "option-value-too-long": () => + option({ text: "A", value: "x".repeat(limits.option.value.max_length + 1) }), + "option-description-too-long": () => + option({ + text: "A", + value: "a", + description: "x".repeat(limits.option.description.max_length + 1), + }), + "option-group-label-too-long": () => + optionGroup({ + label: "x".repeat(limits.option_group.label.max_length + 1), + options: [choice()], + }), + "option-group-empty": () => optionGroup({ label: "Group", options: [] }), + "option-group-too-many-options": () => + optionGroup({ + label: "Group", + options: Array.from({ length: limits.option_group.options.max_items + 1 }, choice), + }), + "select-placeholder-too-long": () => + staticSelect({ + actionId: "a", + options: [choice()], + placeholder: "x".repeat(limits.select.placeholder.max_length + 1), + }), + "select-too-many-options": () => + staticSelect({ + actionId: "a", + options: Array.from({ length: limits.select.options.max_items + 1 }, choice), + }), + "select-too-many-option-groups": () => + staticSelect({ + actionId: "a", + optionGroups: Array.from( + { length: limits.select.option_groups.max_items + 1 }, + () => optionGroup({ label: "Group", options: [choice()] }), + ), + }), + "overflow-empty": () => overflow({ actionId: "a", options: [] }), "overflow-too-many-options": () => - overflow({ actionId: "a", options: Array.from({ length: 6 }, choice) }), + overflow({ + actionId: "a", + options: Array.from({ length: limits.overflow.options.max_items + 1 }, choice), + }), + "file-input-max-files-too-small": () => + fileInput({ actionId: "a", maxFiles: limits.file_input.max_files.min - 1 }), + "file-input-max-files-too-large": () => + fileInput({ actionId: "a", maxFiles: limits.file_input.max_files.max + 1 }), + "plain-text-input-max-length-too-large": () => + plainTextInput({ + actionId: "a", + maxLength: limits.plain_text_input.max_length.max + 1, + }), + "actions-too-many-elements": () => + actionsBlock({ + elements: Array.from({ length: limits.actions.elements.max_items + 1 }, () => + button({ text: "A", actionId: "a" }), + ), + }), + "context-too-many-elements": () => + contextBlock({ + elements: Array.from( + { length: limits.context.elements.max_items + 1 }, + () => mrkdwn("A"), + ), + }), + "header-text-too-long": () => + headerBlock({ text: "x".repeat(limits.header.text.max_length + 1) }), + "image-url-too-long": () => + imageBlock({ imageUrl: "x".repeat(limits.image.image_url.max_length + 1), altText: "Alt" }), + "image-alt-text-too-long": () => + imageBlock({ + imageUrl: "https://example.com/image.png", + altText: "x".repeat(limits.image.alt_text.max_length + 1), + }), + "input-label-too-long": () => + inputBlock({ + label: "x".repeat(limits.input.label.max_length + 1), + element: plainTextInput({ actionId: "a" }), + }), + "input-hint-too-long": () => + inputBlock({ + label: "Label", + hint: "x".repeat(limits.input.hint.max_length + 1), + element: plainTextInput({ actionId: "a" }), + }), + "markdown-empty": () => markdownBlock({ text: "" }), + "markdown-too-long": () => + markdownBlock({ text: "x".repeat(limits.markdown.text.max_length + 1) }), + "section-text-too-long": () => + sectionBlock({ text: "x".repeat(limits.section.text.max_length + 1) }), + "section-too-many-fields": () => + sectionBlock({ fields: Array(limits.section.fields.max_items + 1).fill("x") }), + "section-field-too-long": () => + sectionBlock({ fields: ["x".repeat(limits.section.fields.item_max_length + 1)] }), + "video-alt-text-empty": () => video({ altText: "" }), + "video-alt-text-too-long": () => + video({ altText: "x".repeat(limits.video.alt_text.max_length + 1) }), + "video-title-too-long": () => + video({ title: "x".repeat(limits.video.title.max_length + 1) }), + "video-author-name-too-long": () => + video({ authorName: "x".repeat(limits.video.author_name.max_length + 1) }), + "video-description-too-long": () => + video({ description: "x".repeat(limits.video.description.max_length + 1) }), + "video-provider-name-too-long": () => + video({ providerName: "x".repeat(limits.video.provider_name.max_length + 1) }), + "view-missing-blocks": () => homeTab({ blocks: [] }), + "view-too-many-blocks": () => + homeTab({ + blocks: Array.from({ length: limits.view.blocks.max_items + 1 }, () => dividerBlock()), + }), + "view-private-metadata-too-long": () => + homeTab({ + blocks: [dividerBlock()], + privateMetadata: "x".repeat(limits.view.private_metadata.max_length + 1), + }), + "view-callback-id-too-long": () => + homeTab({ + blocks: [dividerBlock()], + callbackId: "x".repeat(limits.view.callback_id.max_length + 1), + }), + "view-title-too-long": () => + modal({ + title: "x".repeat(limits.view.title.max_length + 1), + blocks: [dividerBlock()], + }), + "view-close-too-long": () => + modal({ + title: "Title", + close: "x".repeat(limits.view.close.max_length + 1), + blocks: [dividerBlock()], + }), + "view-submit-too-long": () => + modal({ + title: "Title", + submit: "x".repeat(limits.view.submit.max_length + 1), + blocks: [dividerBlock()], + }), + "section-missing-content": () => sectionBlock({}), "static-select-options-and-groups": () => staticSelect({ actionId: "a", options: [choice()], optionGroups: [{ label: plainText("A") }] }), "image-url-and-slack-file": () => @@ -273,11 +490,9 @@ const invalidCases: Record unknown> = { } as any), "number-input-inverted-range": () => numberInput({ actionId: "a", isDecimalAllowed: true, minValue: 2, maxValue: 1 }), - "file-input-max-files-out-of-range": () => fileInput({ actionId: "a", maxFiles: 11 }), "context-invalid-element": () => contextBlock({ elements: [dividerBlock()] }), "input-invalid-element": () => inputBlock({ label: "Label", element: button({ text: "A", actionId: "a" }) }), - "view-missing-blocks": () => homeTab({ blocks: [] }), }; const invalidManifest = readJson( @@ -285,6 +500,19 @@ const invalidManifest = readJson( ); describe("invalid conformance corpus", () => { + it("exercises every scalar limit in the shared registry", () => { + const covered = new Set(invalidManifest.cases.map(({ constraint }) => constraint)); + expect(scalarPaths(limits).filter((path) => !covered.has(path))).toEqual([]); + }); + + it("contains unique case IDs and constraints", () => { + expect(new Set(invalidManifest.cases.map(({ id }) => id)).size).toBe( + invalidManifest.cases.length, + ); + expect(new Set(invalidManifest.cases.map(({ constraint }) => constraint)).size).toBe( + invalidManifest.cases.length, + ); + }); it("has a construction for every case", () => { expect(Object.keys(invalidCases).sort()).toEqual( invalidManifest.cases.map(({ id }) => id).sort(), From 91c585fb3a214958b5d69209b4e77c14d8faf1c2 Mon Sep 17 00:00:00 2001 From: Nicholas Lambourne Date: Fri, 14 Aug 2026 03:16:43 +1000 Subject: [PATCH 12/23] feat: support current Block Kit blocks in Python --- README.md | 2 +- python/README.md | 4 +- python/slackblocks/__init__.py | 23 + python/slackblocks/blocks.py | 414 +++++++++++++++++- python/slackblocks/elements.py | 117 +++++ python/slackblocks/objects.py | 280 ++++++++++++ python/test/conformance/test_conformance.py | 200 +++++++++ python/test/unit/test_blocks.py | 253 +++++++++++ spec/CHANGELOG.md | 2 +- spec/coverage.json | 27 ++ spec/fixtures/invalid/manifest.json | 246 +++++++++++ spec/fixtures/valid/blocks/alert_block.json | 9 + spec/fixtures/valid/blocks/card_block.json | 39 ++ .../fixtures/valid/blocks/carousel_block.json | 22 + .../valid/blocks/container_block.json | 26 ++ .../context_actions_feedback_buttons.json | 26 ++ .../blocks/context_actions_icon_button.json | 16 + .../valid/blocks/data_table_block.json | 17 + .../valid/blocks/data_visualization_area.json | 22 + .../valid/blocks/data_visualization_bar.json | 22 + .../valid/blocks/data_visualization_line.json | 29 ++ .../valid/blocks/data_visualization_pie.json | 14 + spec/fixtures/valid/blocks/plan_block.json | 32 ++ .../valid/blocks/task_card_block.json | 34 ++ .../valid/elements/url_source_basic.json | 5 + spec/limits.json | 47 +- spec/manifest.json | 84 ++++ typescript/conformance/skiplist.txt | 57 ++- typescript/test/conformance.test.ts | 33 +- 29 files changed, 2084 insertions(+), 18 deletions(-) create mode 100644 spec/fixtures/valid/blocks/alert_block.json create mode 100644 spec/fixtures/valid/blocks/card_block.json create mode 100644 spec/fixtures/valid/blocks/carousel_block.json create mode 100644 spec/fixtures/valid/blocks/container_block.json create mode 100644 spec/fixtures/valid/blocks/context_actions_feedback_buttons.json create mode 100644 spec/fixtures/valid/blocks/context_actions_icon_button.json create mode 100644 spec/fixtures/valid/blocks/data_table_block.json create mode 100644 spec/fixtures/valid/blocks/data_visualization_area.json create mode 100644 spec/fixtures/valid/blocks/data_visualization_bar.json create mode 100644 spec/fixtures/valid/blocks/data_visualization_line.json create mode 100644 spec/fixtures/valid/blocks/data_visualization_pie.json create mode 100644 spec/fixtures/valid/blocks/plan_block.json create mode 100644 spec/fixtures/valid/blocks/task_card_block.json create mode 100644 spec/fixtures/valid/elements/url_source_basic.json diff --git a/README.md b/README.md index a235af95..d9b7be70 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ const payload = message({ - `python/` — the established Python package. - `typescript/` — the ESM TypeScript package. -- `spec/` — 82 valid fixtures, shared invalid cases, capability coverage, and limits. +- `spec/` — 96 valid fixtures, shared invalid cases, capability coverage, and limits. - `docs/` — the Docusaurus documentation site. See the [documentation site](https://nicklambourne.github.io/slackblocks/) for installation and usage. diff --git a/python/README.md b/python/README.md index e8209e4e..af51b370 100644 --- a/python/README.md +++ b/python/README.md @@ -12,7 +12,7 @@ `slackblocks` is a typed, validating Python wrapper around the Slack [Block Kit API](https://api.slack.com/block-kit). It exists because Block Kit JSON is verbose, easy to get subtly wrong, and unpleasant to maintain in source control. -This release conforms to the shared slackblocks specification 1.0.0. +This release conforms to the shared cross-language slackblocks specification. ## Why `slackblocks`? @@ -86,7 +86,7 @@ The `**` operator unpacks `slackblocks` `Message` objects directly into the SDK | Surface | Status | |---------------------|:------:| -| Blocks | ✅ All current block types (Section, Header, Divider, Image, Context, Actions, Input, RichText, File, Table, **Markdown**, **Video**) | +| Blocks | ✅ All current block types, including Alert, Card, Carousel, Container, Context Actions, Data Table, Data Visualization, Plan, and Task Card | | Elements | ✅ Buttons, all select menus, date/time pickers, checkboxes, radio groups, all input types, overflow menus, workflow buttons | | Composition Objects | ✅ Text (+ `PlainText` / `Markdown` aliases), Option, Confirm, Conversation/Dispatch filters, Workflow, Trigger | | Rich Text | ✅ Sections, lists, quotes, code blocks, inline links/users/channels/emoji | diff --git a/python/slackblocks/__init__.py b/python/slackblocks/__init__.py index 903b45e2..1363fd98 100644 --- a/python/slackblocks/__init__.py +++ b/python/slackblocks/__init__.py @@ -3,17 +3,26 @@ from .attachments import Attachment, Color, Field from .blocks import ( ActionsBlock, + AlertBlock, Block, + CardBlock, + CarouselBlock, + ContainerBlock, + ContextActionsBlock, ContextBlock, + DataTableBlock, + DataVisualizationBlock, DividerBlock, FileBlock, HeaderBlock, ImageBlock, InputBlock, MarkdownBlock, + PlanBlock, RichTextBlock, SectionBlock, TableBlock, + TaskCardBlock, VideoBlock, ) from .builder import block_kit_builder_url @@ -30,7 +39,10 @@ EmailInput, ExternalMultiSelectMenu, ExternalSelectMenu, + FeedbackButton, + FeedbackButtons, FileInput, + IconButton, Image, NumberInput, OverflowMenu, @@ -41,6 +53,7 @@ StaticSelectMenu, TimePicker, URLInput, + URLSource, UserMultiSelectMenu, UserSelectMenu, WorkflowButton, @@ -56,18 +69,28 @@ from .messages import Message, MessageResponse, ResponseType, WebhookMessage from .modals import Modal from .objects import ( + AreaChart, + AxisConfig, + BarChart, + ChartSegment, ColumnSettings, Confirm, ConfirmationDialogue, ConversationFilter, + DataPoint, + DataSeries, DispatchActionConfiguration, InputParameter, + LineChart, Markdown, Option, OptionGroup, + PieChart, PlainText, + RawNumber, RawText, SlackFile, + SlackIcon, Text, TextType, Trigger, diff --git a/python/slackblocks/blocks.py b/python/slackblocks/blocks.py index 90ecf444..e4694a52 100644 --- a/python/slackblocks/blocks.py +++ b/python/slackblocks/blocks.py @@ -9,11 +9,12 @@ from abc import ABC, abstractmethod from enum import Enum -from typing import Any +from typing import Any, Literal, TypeAlias from uuid import uuid4 from slackblocks._core import RenderableMixin, resolve from slackblocks.elements import ( + Button, ChannelMultiSelectMenu, ChannelSelectMenu, CheckboxGroup, @@ -26,7 +27,10 @@ EmailInput, ExternalMultiSelectMenu, ExternalSelectMenu, + FeedbackButtons, FileInput, + IconButton, + Image, NumberInput, PlainTextInput, RadioButtonGroup, @@ -34,6 +38,7 @@ StaticMultiSelectMenu, StaticSelectMenu, URLInput, + URLSource, UserMultiSelectMenu, UserSelectMenu, ) @@ -41,13 +46,17 @@ InvalidUsageError, LengthError, MissingRequiredError, + MutualExclusivityError, TypeMismatchError, ) from slackblocks.objects import ( + Chart, ColumnSettings, CompositionObject, CompositionObjectType, + RawNumber, RawText, + SlackIcon, Text, TextLike, TextType, @@ -62,6 +71,7 @@ from slackblocks.utils import ( coerce_to_list, coerce_to_list_nonnull, + validate_int, validate_string, validate_string_nonnull, ) @@ -106,16 +116,25 @@ class BlockType(Enum): """ ACTIONS = "actions" + ALERT = "alert" + CARD = "card" + CAROUSEL = "carousel" + CONTAINER = "container" CONTEXT = "context" + CONTEXT_ACTIONS = "context_actions" + DATA_TABLE = "data_table" + DATA_VISUALIZATION = "data_visualization" DIVIDER = "divider" FILE = "file" HEADER = "header" IMAGE = "image" INPUT = "input" MARKDOWN = "markdown" + PLAN = "plan" RICH_TEXT = "rich_text" SECTION = "section" TABLE = "table" + TASK_CARD = "task_card" VIDEO = "video" @@ -127,7 +146,9 @@ class Block(RenderableMixin, ABC): def __init__(self, type_: BlockType, block_id: str | None = None) -> None: self.type = type_ - self.block_id = block_id if block_id else str(uuid4()) + self.block_id = validate_string( + block_id, "block_id", max_length=255, allow_none=True + ) or str(uuid4()) def __add__(self, other: Block): return [self, other] @@ -171,16 +192,25 @@ def _block_from_dict_registry() -> dict[str, Any]: callables. Built on first call to avoid forward-reference issues.""" return { BlockType.ACTIONS.value: ActionsBlock.from_dict, + BlockType.ALERT.value: AlertBlock.from_dict, + BlockType.CARD.value: CardBlock.from_dict, + BlockType.CAROUSEL.value: CarouselBlock.from_dict, + BlockType.CONTAINER.value: ContainerBlock.from_dict, BlockType.CONTEXT.value: ContextBlock.from_dict, + BlockType.CONTEXT_ACTIONS.value: ContextActionsBlock.from_dict, + BlockType.DATA_TABLE.value: DataTableBlock.from_dict, + BlockType.DATA_VISUALIZATION.value: DataVisualizationBlock.from_dict, BlockType.DIVIDER.value: DividerBlock.from_dict, BlockType.FILE.value: FileBlock.from_dict, BlockType.HEADER.value: HeaderBlock.from_dict, BlockType.IMAGE.value: ImageBlock.from_dict, BlockType.INPUT.value: InputBlock.from_dict, BlockType.MARKDOWN.value: MarkdownBlock.from_dict, + BlockType.PLAN.value: PlanBlock.from_dict, BlockType.RICH_TEXT.value: RichTextBlock.from_dict, BlockType.SECTION.value: SectionBlock.from_dict, BlockType.TABLE.value: TableBlock.from_dict, + BlockType.TASK_CARD.value: TaskCardBlock.from_dict, BlockType.VIDEO.value: VideoBlock.from_dict, } @@ -886,3 +916,383 @@ def from_dict(cls, data: dict[str, Any]) -> VideoBlock: provider_name=data.get("provider_name"), title_url=data.get("title_url"), ) + + +AlertLevel: TypeAlias = Literal["default", "info", "warning", "error", "success"] + + +class AlertBlock(Block): + """A severity-labelled alert displayed in a modal.""" + + def __init__( + self, + text: TextLike, + level: AlertLevel = "default", + block_id: str | None = None, + ) -> None: + super().__init__(BlockType.ALERT, block_id) + if level not in {"default", "info", "warning", "error", "success"}: + raise TypeMismatchError("Unknown alert `level`.") + self.text = Text.to_text(text, max_length=200) + self.level = level + + def _resolve(self) -> dict[str, Any]: + return resolve({**self._attributes(), "text": self.text, "level": self.level}) + + @classmethod + def from_dict(cls, data: dict[str, Any]) -> AlertBlock: + if "text" not in data: + raise MissingRequiredError("AlertBlock payload is missing required `text` field.") + return cls( + text=Text.from_dict(data["text"]), + level=data.get("level", "default"), + block_id=data.get("block_id"), + ) + + +class CardBlock(Block): + """A compact card with text, images, and up to three actions.""" + + def __init__( + self, + hero_image: Image | None = None, + icon: Image | None = None, + title: TextLike | None = None, + subtitle: TextLike | None = None, + body: TextLike | None = None, + actions: Button | list[Button] | None = None, + slack_icon: SlackIcon | None = None, + subtext: TextLike | None = None, + block_id: str | None = None, + ) -> None: + super().__init__(BlockType.CARD, block_id) + if icon is not None and slack_icon is not None: + raise MutualExclusivityError("`icon` and `slack_icon` cannot both be provided.") + self.actions = coerce_to_list(actions, Button, allow_none=True, max_size=3) + if hero_image is None and title is None and body is None and not self.actions: + raise MissingRequiredError( + "CardBlock requires at least one of `hero_image`, `title`, `actions`, or `body`." + ) + self.hero_image = hero_image + self.icon = icon + self.title = Text.to_text(title, max_length=150, allow_none=True) + self.subtitle = Text.to_text(subtitle, max_length=150, allow_none=True) + self.body = Text.to_text(body, max_length=200, allow_none=True) + self.slack_icon = slack_icon + self.subtext = Text.to_text(subtext, max_length=200, allow_none=True) + + def _resolve(self) -> dict[str, Any]: + return resolve( + { + **self._attributes(), + "hero_image": self.hero_image, + "icon": self.icon, + "title": self.title, + "subtitle": self.subtitle, + "body": self.body, + "actions": self.actions, + "slack_icon": self.slack_icon, + "subtext": self.subtext, + } + ) + + @classmethod + def from_dict(cls, data: dict[str, Any]) -> CardBlock: + raise NotImplementedError( + "CardBlock.from_dict requires nested element parsing, which is not implemented." + ) + + +class CarouselBlock(Block): + """A horizontally scrolling group of between 1 and 10 cards.""" + + def __init__(self, elements: list[CardBlock], block_id: str | None = None) -> None: + super().__init__(BlockType.CAROUSEL, block_id) + self.elements: list[CardBlock] = coerce_to_list_nonnull( + elements, CardBlock, min_size=1, max_size=10 + ) + + def _resolve(self) -> dict[str, Any]: + return resolve({**self._attributes(), "elements": self.elements}) + + @classmethod + def from_dict(cls, data: dict[str, Any]) -> CarouselBlock: + raise NotImplementedError( + "CarouselBlock.from_dict requires nested card parsing, which is not implemented." + ) + + +ContainerWidth: TypeAlias = Literal["narrow", "standard", "wide", "full"] + + +class ContainerBlock(Block): + """A titled container grouping up to ten supported child blocks.""" + + _CHILD_TYPES = { + BlockType.ACTIONS, + BlockType.CONTEXT, + BlockType.DIVIDER, + BlockType.FILE, + BlockType.HEADER, + BlockType.IMAGE, + BlockType.INPUT, + BlockType.RICH_TEXT, + BlockType.SECTION, + BlockType.TABLE, + BlockType.VIDEO, + } + + def __init__( + self, + child_blocks: list[Block], + title: TextLike | None = None, + rich_text_title: RichTextBlock | None = None, + subtitle: TextLike | None = None, + width: ContainerWidth = "standard", + icon: Image | None = None, + is_collapsible: bool = False, + default_collapsed: bool = False, + has_header_divider: bool = False, + block_id: str | None = None, + ) -> None: + super().__init__(BlockType.CONTAINER, block_id) + if title is None and rich_text_title is None: + raise MissingRequiredError("ContainerBlock requires `title` or `rich_text_title`.") + if width not in {"narrow", "standard", "wide", "full"}: + raise TypeMismatchError("Unknown container `width`.") + if default_collapsed and not is_collapsible: + raise InvalidUsageError("`default_collapsed` requires `is_collapsible=True`.") + if has_header_divider and is_collapsible: + raise InvalidUsageError( + "`has_header_divider` is only valid on non-collapsible containers." + ) + self.child_blocks: list[Block] = coerce_to_list_nonnull( + child_blocks, Block, min_size=1, max_size=10 + ) + if any(block.type not in self._CHILD_TYPES for block in self.child_blocks): + raise TypeMismatchError("ContainerBlock contains an unsupported child block type.") + self.title = Text.to_text(title, force_plaintext=True, max_length=150, allow_none=True) + self.rich_text_title = rich_text_title + self.subtitle = Text.to_text(subtitle, max_length=150, allow_none=True) + self.width = width + self.icon = icon + self.is_collapsible = is_collapsible + self.default_collapsed = default_collapsed + self.has_header_divider = has_header_divider + + def _resolve(self) -> dict[str, Any]: + return resolve( + { + **self._attributes(), + "title": self.title, + "rich_text_title": self.rich_text_title, + "subtitle": self.subtitle, + "child_blocks": self.child_blocks, + "width": self.width, + "icon": self.icon, + "is_collapsible": self.is_collapsible, + "default_collapsed": self.default_collapsed, + "has_header_divider": self.has_header_divider, + } + ) + + @classmethod + def from_dict(cls, data: dict[str, Any]) -> ContainerBlock: + raise NotImplementedError( + "ContainerBlock.from_dict requires nested block parsing, which is not implemented." + ) + + +class ContextActionsBlock(Block): + """Up to five feedback or icon actions displayed as contextual controls.""" + + def __init__( + self, + elements: list[FeedbackButtons | IconButton], + block_id: str | None = None, + ) -> None: + super().__init__(BlockType.CONTEXT_ACTIONS, block_id) + self.elements: list[FeedbackButtons | IconButton] = coerce_to_list_nonnull( + elements, (FeedbackButtons, IconButton), min_size=1, max_size=5 + ) + + def _resolve(self) -> dict[str, Any]: + return resolve({**self._attributes(), "elements": self.elements}) + + @classmethod + def from_dict(cls, data: dict[str, Any]) -> ContextActionsBlock: + raise NotImplementedError( + "ContextActionsBlock.from_dict requires nested element parsing, which is not implemented." + ) + + +class DataTableBlock(Block): + """A sortable data table containing raw text, raw numbers, or rich text.""" + + def __init__( + self, + rows: list[list[RawText | RawNumber | RichTextBlock]], + caption: str, + page_size: int = 5, + row_header_column_index: int = 0, + block_id: str | None = None, + ) -> None: + super().__init__(BlockType.DATA_TABLE, block_id) + if len(rows) < 2 or len(rows) > 201: + raise LengthError("`rows` must contain between 2 and 201 rows.") + column_count = len(rows[0]) + if column_count < 1 or column_count > 20: + raise LengthError("Data table rows must contain between 1 and 20 columns.") + for row in rows: + if len(row) != column_count: + raise InvalidUsageError("All data table rows must have the same number of columns.") + for cell in row: + if not isinstance(cell, RawText | RawNumber | RichTextBlock): + raise TypeMismatchError("Unsupported data table cell type.") + if isinstance(cell, RawText) and len(cell.text) < 1: + raise LengthError("Data table raw text cells cannot be empty.") + if any(isinstance(cell, RichTextBlock) for cell in rows[0]): + raise TypeMismatchError("Data table header cells cannot contain rich text.") + self.page_size = validate_int(page_size, min_value=1, max_value=100) + self.row_header_column_index = validate_int( + row_header_column_index, min_value=0, max_value=column_count - 1 + ) + self.caption = validate_string_nonnull(caption, "caption", min_length=1) + self.rows = rows + if _text_character_count(resolve(rows)) > 20_000: + raise LengthError("Data table cell text cannot exceed 20,000 total characters.") + + def _resolve(self) -> dict[str, Any]: + return resolve( + { + **self._attributes(), + "rows": self.rows, + "page_size": self.page_size, + "caption": self.caption, + "row_header_column_index": self.row_header_column_index, + } + ) + + @classmethod + def from_dict(cls, data: dict[str, Any]) -> DataTableBlock: + raise NotImplementedError( + "DataTableBlock.from_dict requires nested cell parsing, which is not implemented." + ) + + +def _text_character_count(value: Any) -> int: + if isinstance(value, dict): + return sum( + len(nested) + if key == "text" and isinstance(nested, str) + else _text_character_count(nested) + for key, nested in value.items() + ) + if isinstance(value, list): + return sum(_text_character_count(item) for item in value) + return 0 + + +class DataVisualizationBlock(Block): + """A pie, bar, area, or line chart rendered by Slack.""" + + def __init__(self, title: str, chart: Chart, block_id: str | None = None) -> None: + super().__init__(BlockType.DATA_VISUALIZATION, block_id) + self.title = validate_string_nonnull(title, "title", min_length=1, max_length=50) + if not isinstance(chart, Chart): + raise TypeMismatchError("`chart` must be a pie, bar, area, or line chart.") + self.chart = chart + + def _resolve(self) -> dict[str, Any]: + return resolve({**self._attributes(), "title": self.title, "chart": self.chart}) + + @classmethod + def from_dict(cls, data: dict[str, Any]) -> DataVisualizationBlock: + raise NotImplementedError( + "DataVisualizationBlock.from_dict requires nested chart parsing, which is not implemented." + ) + + +TaskStatus: TypeAlias = Literal["pending", "in_progress", "complete", "error"] + + +class TaskCardBlock(Block): + """One task, its state, rich-text details or output, and source links.""" + + def __init__( + self, + task_id: str, + title: str, + details: RichTextBlock | None = None, + output: RichTextBlock | None = None, + sources: list[URLSource] | None = None, + status: TaskStatus | None = None, + block_id: str | None = None, + ) -> None: + super().__init__(BlockType.TASK_CARD, block_id) + if status is not None and status not in {"pending", "in_progress", "complete", "error"}: + raise TypeMismatchError("Unknown task-card `status`.") + self.task_id = validate_string_nonnull(task_id, "task_id", min_length=1) + self.title = validate_string_nonnull(title, "title", min_length=1) + self.details = details + self.output = output + self.sources: list[URLSource] | None = coerce_to_list(sources, URLSource, allow_none=True) + self.status = status + + def _resolve(self) -> dict[str, Any]: + return resolve( + { + **self._attributes(), + "task_id": self.task_id, + "title": self.title, + "details": self.details, + "output": self.output, + "sources": self.sources, + "status": self.status, + } + ) + + def _resolve_for_plan(self) -> dict[str, Any]: + payload = self._resolve() + payload.pop("type", None) + payload.pop("block_id", None) + return payload + + @classmethod + def from_dict(cls, data: dict[str, Any]) -> TaskCardBlock: + raise NotImplementedError( + "TaskCardBlock.from_dict requires nested rich-text parsing, which is not implemented." + ) + + +class PlanBlock(Block): + """A titled sequence of task cards.""" + + def __init__( + self, + title: str, + tasks: list[TaskCardBlock] | None = None, + block_id: str | None = None, + ) -> None: + super().__init__(BlockType.PLAN, block_id) + self.title = validate_string_nonnull(title, "title", min_length=1) + self.tasks: list[TaskCardBlock] | None = coerce_to_list( + tasks, TaskCardBlock, allow_none=True + ) + + def _resolve(self) -> dict[str, Any]: + return resolve( + { + **self._attributes(), + "title": self.title, + "tasks": [task._resolve_for_plan() for task in self.tasks] + if self.tasks is not None + else None, + } + ) + + @classmethod + def from_dict(cls, data: dict[str, Any]) -> PlanBlock: + raise NotImplementedError( + "PlanBlock.from_dict requires nested task parsing, which is not implemented." + ) diff --git a/python/slackblocks/elements.py b/python/slackblocks/elements.py index fe23a141..c406fbbc 100644 --- a/python/slackblocks/elements.py +++ b/python/slackblocks/elements.py @@ -54,7 +54,9 @@ class ElementType(Enum): DATE_PICKER = "datepicker" DATETIME_PICKER = "datetimepicker" EMAIL_INPUT = "email_text_input" + FEEDBACK_BUTTONS = "feedback_buttons" FILE_INPUT = "file_input" + ICON_BUTTON = "icon_button" IMAGE = "image" MULTI_SELECT_STATIC = "multi_static_select" MULTI_SELECT_EXTERNAL = "multi_external_select" @@ -72,6 +74,7 @@ class ElementType(Enum): CHANNELS_SELECT_MENU = "channels_select" TIME_PICKER = "timepicker" URL_INPUT = "url_text_input" + URL_SOURCE = "url" WORKFLOW_BUTTON = "workflow_button" RICH_TEXT_INPUT = "rich_text_input" @@ -170,6 +173,120 @@ def _resolve(self) -> dict[str, Any]: ) +class FeedbackButton(RenderableMixin): + """One of the positive or negative buttons in a feedback-buttons element.""" + + def __init__( + self, + text: TextLike, + value: str, + accessibility_label: str | None = None, + ) -> None: + self.text = Text.to_text(text, force_plaintext=True, max_length=75) + self.value = validate_string(value, "value", max_length=2000) + self.accessibility_label = validate_string( + accessibility_label, + "accessibility_label", + max_length=75, + allow_none=True, + ) + + def _resolve(self) -> dict[str, Any]: + return resolve( + { + "text": self.text, + "value": self.value, + "accessibility_label": self.accessibility_label, + } + ) + + +class FeedbackButtons(Element): + """A paired positive/negative feedback control for a context-actions block.""" + + def __init__( + self, + positive_button: FeedbackButton, + negative_button: FeedbackButton, + action_id: str | None = None, + ) -> None: + super().__init__(ElementType.FEEDBACK_BUTTONS) + self.positive_button = positive_button + self.negative_button = negative_button + self.action_id = validate_action_id(action_id, allow_none=True) + + def _resolve(self) -> dict[str, Any]: + return resolve( + { + **self._attributes(), + "positive_button": self.positive_button, + "negative_button": self.negative_button, + "action_id": self.action_id, + } + ) + + +class IconButton(Element): + """A compact icon-only action for a context-actions block. + + Slack currently supports only the ``trash`` icon. + """ + + def __init__( + self, + text: TextLike, + icon: Literal["trash"] = "trash", + action_id: str | None = None, + value: str | None = None, + confirm: ConfirmationDialogue | None = None, + accessibility_label: str | None = None, + visible_to_user_ids: list[str] | None = None, + ) -> None: + super().__init__(ElementType.ICON_BUTTON) + if icon != "trash": + raise TypeMismatchError("`icon` must be `trash`.") + self.icon = icon + self.text = Text.to_text(text, force_plaintext=True) + self.action_id = validate_action_id(action_id, allow_none=True) + self.value = validate_string(value, "value", max_length=2000, allow_none=True) + self.confirm = confirm + self.accessibility_label = validate_string( + accessibility_label, + "accessibility_label", + max_length=75, + allow_none=True, + ) + self.visible_to_user_ids: list[str] | None = coerce_to_list( + visible_to_user_ids, str, allow_none=True, max_size=10 + ) + + def _resolve(self) -> dict[str, Any]: + return resolve( + { + **self._attributes(), + "icon": self.icon, + "text": self.text, + "action_id": self.action_id, + "value": self.value, + "confirm": self.confirm, + "accessibility_label": self.accessibility_label, + "visible_to_user_ids": self.visible_to_user_ids, + } + ) + + +class URLSource(Element): + """A labelled URL source displayed by a task-card block.""" + + def __init__(self, url: str, text: str) -> None: + super().__init__(ElementType.URL_SOURCE) + self.url = validate_string(url, "url") + self.text = validate_string(text, "text") + + def _resolve(self) -> dict[str, Any]: + return resolve({**self._attributes(), "url": self.url, "text": self.text}) + + class CheckboxGroup(Element): """ A checkbox group that allows a user to choose multiple items from a list diff --git a/python/slackblocks/objects.py b/python/slackblocks/objects.py index ec98550a..b052e19b 100644 --- a/python/slackblocks/objects.py +++ b/python/slackblocks/objects.py @@ -13,14 +13,17 @@ from slackblocks._core import RenderableMixin, omit_none, resolve from slackblocks.errors import ( + InvalidUsageError, LengthError, MissingRequiredError, MutualExclusivityError, + RangeError, TypeMismatchError, ) from slackblocks.utils import ( coerce_to_list, coerce_to_list_nonnull, + validate_string, validate_string_nonnull, ) @@ -841,6 +844,283 @@ def _resolve(self) -> dict[str, Any]: ) +class RawNumber: + """A numeric cell for a :class:`~slackblocks.blocks.DataTableBlock`. + + Args: + value: the numeric value Slack uses for sorting and display. + text: the non-empty text Slack displays in the cell. + """ + + def __init__(self, value: int | float, text: str) -> None: + if isinstance(value, bool) or not isinstance(value, int | float): + raise TypeMismatchError("`value` must be a number.") + self.type = "raw_number" + self.value = value + self.text = validate_string_nonnull(text, field_name="text", min_length=1) + + def _resolve(self) -> dict[str, Any]: + return {"type": self.type, "value": self.value, "text": self.text} + + +SlackIconName: TypeAlias = Literal[ + "archive", + "book", + "bookmark", + "bot", + "bug", + "calendar", + "call", + "caret-left", + "caret-right", + "check", + "clipboard", + "code", + "comment", + "compass", + "copy", + "cube", + "download", + "edit", + "email", + "eye-closed", + "eye-open", + "file", + "flag", + "folder", + "gear", + "globe", + "heart", + "help", + "image", + "info", + "key", + "lightbulb", + "link", + "map", + "mobile", + "new-window", + "pin", + "plus", + "refine", + "refresh", + "rocket", + "save", + "screen", + "share", + "sparkle", + "star", + "star-filled", + "tag", + "thumbs-down", + "thumbs-up", + "trash", + "upload", + "user", + "warning", +] + +_SLACK_ICON_NAMES = { + "archive", + "book", + "bookmark", + "bot", + "bug", + "calendar", + "call", + "caret-left", + "caret-right", + "check", + "clipboard", + "code", + "comment", + "compass", + "copy", + "cube", + "download", + "edit", + "email", + "eye-closed", + "eye-open", + "file", + "flag", + "folder", + "gear", + "globe", + "heart", + "help", + "image", + "info", + "key", + "lightbulb", + "link", + "map", + "mobile", + "new-window", + "pin", + "plus", + "refine", + "refresh", + "rocket", + "save", + "screen", + "share", + "sparkle", + "star", + "star-filled", + "tag", + "thumbs-down", + "thumbs-up", + "trash", + "upload", + "user", + "warning", +} + + +class SlackIcon: + """A named Slack-provided icon for a card block.""" + + def __init__(self, name: SlackIconName) -> None: + if name not in _SLACK_ICON_NAMES: + raise TypeMismatchError(f"Unknown Slack icon name: {name!r}.") + self.type = "icon" + self.name = name + + def _resolve(self) -> dict[str, Any]: + return {"type": self.type, "name": self.name} + + +class ChartSegment: + """A labelled, positive-valued slice in a pie chart.""" + + def __init__(self, label: str, value: int | float) -> None: + self.label = validate_string_nonnull(label, "label", min_length=1, max_length=20) + if isinstance(value, bool) or not isinstance(value, int | float): + raise TypeMismatchError("`value` must be a number.") + if value <= 0: + raise RangeError("`value` must be greater than 0.") + self.value = value + + def _resolve(self) -> dict[str, Any]: + return {"label": self.label, "value": self.value} + + +class DataPoint: + """One labelled numeric point in an axis-based chart.""" + + def __init__(self, label: str, value: int | float) -> None: + self.label = validate_string_nonnull(label, "label", min_length=1, max_length=20) + if isinstance(value, bool) or not isinstance(value, int | float): + raise TypeMismatchError("`value` must be a number.") + self.value = value + + def _resolve(self) -> dict[str, Any]: + return {"label": self.label, "value": self.value} + + +class DataSeries: + """A named series containing between 1 and 20 chart data points.""" + + def __init__(self, name: str, data: list[DataPoint]) -> None: + self.name = validate_string_nonnull(name, "name", min_length=1, max_length=20) + self.data: list[DataPoint] = coerce_to_list_nonnull( + data, DataPoint, min_size=1, max_size=20 + ) + + def _resolve(self) -> dict[str, Any]: + return resolve({"name": self.name, "data": self.data}) + + +class AxisConfig: + """Category labels and optional axis titles for a bar, area, or line chart.""" + + def __init__( + self, + categories: list[str], + x_label: str | None = None, + y_label: str | None = None, + ) -> None: + self.categories: list[str] = coerce_to_list_nonnull( + categories, str, min_size=1, max_size=20 + ) + self.categories = [ + validate_string_nonnull(category, "category", min_length=1, max_length=20) + for category in self.categories + ] + if len(set(self.categories)) != len(self.categories): + raise InvalidUsageError("`categories` must contain unique labels.") + self.x_label = validate_string(x_label, "x_label", max_length=50, allow_none=True) + self.y_label = validate_string(y_label, "y_label", max_length=50, allow_none=True) + + def _resolve(self) -> dict[str, Any]: + return resolve( + { + "categories": self.categories, + "x_label": self.x_label, + "y_label": self.y_label, + } + ) + + +class PieChart: + """A pie chart containing between 1 and 12 segments.""" + + def __init__(self, segments: list[ChartSegment]) -> None: + self.type = "pie" + self.segments: list[ChartSegment] = coerce_to_list_nonnull( + segments, ChartSegment, min_size=1, max_size=12 + ) + + def _resolve(self) -> dict[str, Any]: + return resolve({"type": self.type, "segments": self.segments}) + + +class _AxisChart: + def __init__(self, type_: str, series: list[DataSeries], axis_config: AxisConfig) -> None: + self.type = type_ + self.series: list[DataSeries] = coerce_to_list_nonnull( + series, DataSeries, min_size=1, max_size=12 + ) + self.axis_config = axis_config + if len({item.name for item in self.series}) != len(self.series): + raise InvalidUsageError("Chart series names must be unique.") + categories = self.axis_config.categories + for item in self.series: + labels = [point.label for point in item.data] + if len(labels) != len(categories) or set(labels) != set(categories): + raise InvalidUsageError( + "Every series must contain exactly one point for every axis category." + ) + + def _resolve(self) -> dict[str, Any]: + return resolve({"type": self.type, "series": self.series, "axis_config": self.axis_config}) + + +class BarChart(_AxisChart): + """A grouped bar chart.""" + + def __init__(self, series: list[DataSeries], axis_config: AxisConfig) -> None: + super().__init__("bar", series, axis_config) + + +class AreaChart(_AxisChart): + """A layered area chart.""" + + def __init__(self, series: list[DataSeries], axis_config: AxisConfig) -> None: + super().__init__("area", series, axis_config) + + +class LineChart(_AxisChart): + """A line chart.""" + + def __init__(self, series: list[DataSeries], axis_config: AxisConfig) -> None: + super().__init__("line", series, axis_config) + + +Chart: TypeAlias = PieChart | BarChart | AreaChart | LineChart + + ColumnAlignment: TypeAlias = Literal["left", "center", "right"] """Allowable values for ``ColumnSettings.align``.""" diff --git a/python/test/conformance/test_conformance.py b/python/test/conformance/test_conformance.py index ea5e943b..5cd04cc5 100644 --- a/python/test/conformance/test_conformance.py +++ b/python/test/conformance/test_conformance.py @@ -8,17 +8,32 @@ from slackblocks import ( ActionsBlock, + AlertBlock, + AxisConfig, Button, + CardBlock, + CarouselBlock, + ChartSegment, ConfirmationDialogue, + ContainerBlock, + ContextActionsBlock, ContextBlock, + DataPoint, + DataSeries, + DataTableBlock, + DataVisualizationBlock, DividerBlock, + FeedbackButton, + FeedbackButtons, FileInput, HeaderBlock, HomeTabView, + IconButton, Image, ImageBlock, InputBlock, LengthError, + LineChart, MarkdownBlock, MissingRequiredError, ModalView, @@ -27,9 +42,11 @@ Option, OptionGroup, OverflowMenu, + PieChart, PlainText, PlainTextInput, RangeError, + RawText, SectionBlock, SlackFile, StaticSelectMenu, @@ -113,6 +130,26 @@ def video(**overrides: object) -> VideoBlock: return VideoBlock(**inputs) # type: ignore[arg-type] +def valid_card() -> CardBlock: + return CardBlock(title="Card") + + +def valid_feedback_button() -> FeedbackButton: + return FeedbackButton("Good", "good") + + +def valid_table_rows() -> list[list[RawText]]: + return [[RawText("Name")], [RawText("Alice")]] + + +def valid_axis() -> AxisConfig: + return AxisConfig(["A"]) + + +def valid_series(name: str = "Series") -> DataSeries: + return DataSeries(name, [DataPoint("A", 1)]) + + INVALID_CASES: dict[str, Callable[[], object]] = { "text-empty": lambda: Text(""), "text-too-long": lambda: Text("x" * 3001), @@ -303,6 +340,169 @@ def video(**overrides: object) -> VideoBlock: ), "context-invalid-element": lambda: ContextBlock(elements=[DividerBlock()]), "input-invalid-element": lambda: InputBlock(label="Label", element=Button("A", "a")), + "block-id-too-long": lambda: DividerBlock( + block_id="x" * (LIMITS["block_id"]["max_length"] + 1) + ), + "button-accessibility-label-too-long": lambda: Button( + text="A", + action_id="a", + accessibility_label="x" * (LIMITS["button"]["accessibility_label"]["max_length"] + 1), + ), + "alert-text-too-long": lambda: AlertBlock("x" * (LIMITS["alert"]["text"]["max_length"] + 1)), + "card-title-too-long": lambda: CardBlock( + title="x" * (LIMITS["card"]["title"]["max_length"] + 1) + ), + "card-subtitle-too-long": lambda: CardBlock( + title="Card", + subtitle="x" * (LIMITS["card"]["subtitle"]["max_length"] + 1), + ), + "card-body-too-long": lambda: CardBlock(body="x" * (LIMITS["card"]["body"]["max_length"] + 1)), + "card-too-many-actions": lambda: CardBlock( + actions=[ + Button("A", f"a-{index}") for index in range(LIMITS["card"]["actions"]["max_items"] + 1) + ] + ), + "card-subtext-too-long": lambda: CardBlock( + title="Card", + subtext="x" * (LIMITS["card"]["subtext"]["max_length"] + 1), + ), + "carousel-empty": lambda: CarouselBlock([]), + "carousel-too-many-cards": lambda: CarouselBlock( + [valid_card() for _ in range(LIMITS["carousel"]["elements"]["max_items"] + 1)] + ), + "container-title-too-long": lambda: ContainerBlock( + title="x" * (LIMITS["container"]["title"]["max_length"] + 1), + child_blocks=[DividerBlock()], + ), + "container-subtitle-too-long": lambda: ContainerBlock( + title="Container", + subtitle="x" * (LIMITS["container"]["subtitle"]["max_length"] + 1), + child_blocks=[DividerBlock()], + ), + "container-too-many-child-blocks": lambda: ContainerBlock( + title="Container", + child_blocks=[ + DividerBlock() for _ in range(LIMITS["container"]["child_blocks"]["max_items"] + 1) + ], + ), + "context-actions-too-many-elements": lambda: ContextActionsBlock( + [ + IconButton("Delete", action_id=f"delete-{index}") + for index in range(LIMITS["context_actions"]["elements"]["max_items"] + 1) + ] + ), + "feedback-button-text-too-long": lambda: FeedbackButtons( + positive_button=FeedbackButton( + "x" * (LIMITS["feedback_button"]["text"]["max_length"] + 1), "good" + ), + negative_button=valid_feedback_button(), + ), + "feedback-button-value-too-long": lambda: FeedbackButtons( + positive_button=FeedbackButton( + "Good", "x" * (LIMITS["feedback_button"]["value"]["max_length"] + 1) + ), + negative_button=valid_feedback_button(), + ), + "feedback-button-accessibility-label-too-long": lambda: FeedbackButtons( + positive_button=FeedbackButton( + "Good", + "good", + "x" * (LIMITS["feedback_button"]["accessibility_label"]["max_length"] + 1), + ), + negative_button=valid_feedback_button(), + ), + "icon-button-too-many-visible-users": lambda: IconButton( + "Delete", + visible_to_user_ids=[ + f"U{index}" + for index in range(LIMITS["icon_button"]["visible_to_user_ids"]["max_items"] + 1) + ], + ), + "data-table-too-few-rows": lambda: DataTableBlock([[RawText("Name")]], caption="Names"), + "data-table-too-many-rows": lambda: DataTableBlock( + [[RawText("A")] for _ in range(LIMITS["data_table"]["rows"]["max_items"] + 1)], + caption="Names", + ), + "data-table-too-few-columns": lambda: DataTableBlock([[], []], caption="Empty"), + "data-table-too-many-columns": lambda: DataTableBlock( + [ + [RawText("A") for _ in range(LIMITS["data_table"]["columns"]["max_items"] + 1)], + [RawText("A") for _ in range(LIMITS["data_table"]["columns"]["max_items"] + 1)], + ], + caption="Wide", + ), + "data-table-page-size-too-small": lambda: DataTableBlock( + valid_table_rows(), + caption="Names", + page_size=LIMITS["data_table"]["page_size"]["min"] - 1, + ), + "data-table-page-size-too-large": lambda: DataTableBlock( + valid_table_rows(), + caption="Names", + page_size=LIMITS["data_table"]["page_size"]["max"] + 1, + ), + "data-table-cell-text-empty": lambda: DataTableBlock( + [[RawText("Name")], [RawText("")]], caption="Names" + ), + "data-table-content-too-long": lambda: DataTableBlock( + [ + [RawText("Name")], + [RawText("x" * LIMITS["data_table"]["content"]["max_length"])], + ], + caption="Names", + ), + "data-visualization-title-too-long": lambda: DataVisualizationBlock( + "x" * (LIMITS["data_visualization"]["title"]["max_length"] + 1), + PieChart([ChartSegment("A", 1)]), + ), + "pie-chart-empty": lambda: PieChart([]), + "pie-chart-too-many-segments": lambda: PieChart( + [ + ChartSegment(f"S{index}", 1) + for index in range(LIMITS["data_visualization"]["segments"]["max_items"] + 1) + ] + ), + "chart-segment-label-too-long": lambda: ChartSegment( + "x" * (LIMITS["data_visualization"]["segment"]["label"]["max_length"] + 1), + 1, + ), + "chart-segment-value-not-positive": lambda: ChartSegment("A", 0), + "chart-series-empty": lambda: LineChart([], valid_axis()), + "chart-too-many-series": lambda: LineChart( + [ + valid_series(f"S{index}") + for index in range(LIMITS["data_visualization"]["series"]["max_items"] + 1) + ], + valid_axis(), + ), + "data-series-name-too-long": lambda: DataSeries( + "x" * (LIMITS["data_visualization"]["series_name"]["max_length"] + 1), + [DataPoint("A", 1)], + ), + "data-series-empty": lambda: DataSeries("Series", []), + "data-series-too-many-points": lambda: DataSeries( + "Series", + [ + DataPoint(f"P{index}", index) + for index in range(LIMITS["data_visualization"]["data"]["max_items"] + 1) + ], + ), + "data-point-label-too-long": lambda: DataPoint( + "x" * (LIMITS["data_visualization"]["point_label"]["max_length"] + 1), 1 + ), + "axis-categories-empty": lambda: AxisConfig([]), + "axis-too-many-categories": lambda: AxisConfig( + [ + f"C{index}" + for index in range(LIMITS["data_visualization"]["categories"]["max_items"] + 1) + ] + ), + "axis-category-label-too-long": lambda: AxisConfig( + ["x" * (LIMITS["data_visualization"]["category_label"]["max_length"] + 1)] + ), + "axis-label-too-long": lambda: AxisConfig( + ["A"], x_label="x" * (LIMITS["data_visualization"]["axis_label"]["max_length"] + 1) + ), } diff --git a/python/test/unit/test_blocks.py b/python/test/unit/test_blocks.py index db678b53..4d324f79 100644 --- a/python/test/unit/test_blocks.py +++ b/python/test/unit/test_blocks.py @@ -6,27 +6,52 @@ from slackblocks import ( ActionsBlock, + AlertBlock, + AreaChart, + AxisConfig, + BarChart, + Button, + CardBlock, + CarouselBlock, + ChartSegment, CheckboxGroup, ColumnSettings, + ContainerBlock, + ContextActionsBlock, ContextBlock, + DataPoint, + DataSeries, + DataTableBlock, + DataVisualizationBlock, DividerBlock, + FeedbackButton, + FeedbackButtons, FileBlock, HeaderBlock, + IconButton, + Image, ImageBlock, InputBlock, InvalidUsageError, LengthError, + LineChart, MarkdownBlock, Option, + PieChart, PlainTextInput, + PlanBlock, + RawNumber, RawText, RichText, RichTextBlock, RichTextSection, SectionBlock, + SlackIcon, TableBlock, + TaskCardBlock, Text, TextType, + URLSource, VideoBlock, ) from slackblocks.rich_text import RichTextLink @@ -396,3 +421,231 @@ def test_video_block_description_too_long_raises_length_error() -> None: video_url="https://example.com/v.mp4", description="x" * 201, ) + + +def test_alert_block() -> None: + block = AlertBlock( + "The work is mysterious and important.", + level="info", + block_id="fake_block_id", + ) + assert fetch_sample(path="blocks/alert_block.json") == repr(block) + + +def test_card_block() -> None: + block = CardBlock( + block_id="fake_block_id", + hero_image=Image( + image_url="https://picsum.photos/400/300", + alt_text="Sample hero image", + ), + title="Lumon Industries", + subtitle="Committed to work-life balance", + body="Please enjoy each card equally.", + actions=Button(text="Action Button", action_id="button_action"), + slack_icon=SlackIcon("bot"), + subtext="A card assembled by slackblocks.", + ) + assert fetch_sample(path="blocks/card_block.json") == repr(block) + + +def test_carousel_block() -> None: + block = CarouselBlock( + block_id="fake_block_id", + elements=[ + CardBlock(title="First result", block_id="card_1"), + CardBlock(title="Second result", block_id="card_2"), + ], + ) + assert fetch_sample(path="blocks/carousel_block.json") == repr(block) + + +def test_container_block() -> None: + block = ContainerBlock( + block_id="fake_block_id", + title="Deployment summary", + subtitle="Production is healthy", + child_blocks=[SectionBlock("All systems operational.", block_id="child_1")], + has_header_divider=True, + ) + assert fetch_sample(path="blocks/container_block.json") == repr(block) + + +def test_context_actions_feedback_buttons() -> None: + block = ContextActionsBlock( + block_id="fake_block_id", + elements=[ + FeedbackButtons( + action_id="feedback_buttons_1", + positive_button=FeedbackButton( + "Good", + "positive_feedback", + "Mark this response as good", + ), + negative_button=FeedbackButton( + "Bad", + "negative_feedback", + "Mark this response as bad", + ), + ) + ], + ) + assert fetch_sample(path="blocks/context_actions_feedback_buttons.json") == repr(block) + + +def test_context_actions_icon_button() -> None: + block = ContextActionsBlock( + block_id="fake_block_id", + elements=[ + IconButton( + text="Delete", + action_id="delete_button", + value="delete_item", + ) + ], + ) + assert fetch_sample(path="blocks/context_actions_icon_button.json") == repr(block) + + +def test_data_table_block() -> None: + block = DataTableBlock( + block_id="fake_block_id", + rows=[ + [RawText("Name"), RawText("Score")], + [RawText("Alice"), RawNumber(42, "42")], + ], + caption="Team scores", + ) + assert fetch_sample(path="blocks/data_table_block.json") == repr(block) + + +def test_data_visualization_pie() -> None: + block = DataVisualizationBlock( + block_id="fake_block_id", + title="My Favorite Candy Bars", + chart=PieChart( + [ + ChartSegment("Kit Kat", 45), + ChartSegment("Twix", 28), + ChartSegment("Crunch", 18), + ChartSegment("Milky Way", 9), + ] + ), + ) + assert fetch_sample(path="blocks/data_visualization_pie.json") == repr(block) + + +def test_data_visualization_line() -> None: + axis = AxisConfig( + ["Week 1", "Week 2"], + x_label="Week", + y_label="Paper Sales (USD)", + ) + block = DataVisualizationBlock( + block_id="fake_block_id", + title="Weekly Paper Sales", + chart=LineChart( + [ + DataSeries( + "Website", + [DataPoint("Week 1", 32000), DataPoint("Week 2", 35000)], + ), + DataSeries( + "In-store", + [DataPoint("Week 1", 28000), DataPoint("Week 2", 31000)], + ), + ], + axis, + ), + ) + assert fetch_sample(path="blocks/data_visualization_line.json") == repr(block) + + +def test_data_visualization_bar() -> None: + block = DataVisualizationBlock( + block_id="fake_block_id", + title="Pies by Tastiness", + chart=BarChart( + [ + DataSeries( + "Pies", + [DataPoint("Pumpkin", 70), DataPoint("Blueberry", 90)], + ) + ], + AxisConfig( + ["Pumpkin", "Blueberry"], + x_label="Pies", + y_label="Tastiness", + ), + ), + ) + assert fetch_sample(path="blocks/data_visualization_bar.json") == repr(block) + + +def test_data_visualization_area() -> None: + block = DataVisualizationBlock( + block_id="fake_block_id", + title="Daily Active Users", + chart=AreaChart( + [ + DataSeries( + "Free Tier", + [DataPoint("Mon", 12000), DataPoint("Tue", 13500)], + ) + ], + AxisConfig(["Mon", "Tue"], x_label="Day", y_label="Users"), + ), + ) + assert fetch_sample(path="blocks/data_visualization_area.json") == repr(block) + + +def task_output(block_id: str) -> RichTextBlock: + return RichTextBlock( + RichTextSection(RichText("Profile data loaded")), + block_id=block_id, + ) + + +def test_task_card_block() -> None: + output = RichTextBlock( + RichTextSection(RichText("Found weather data for Chicago from 2 sources")), + block_id="task_output", + ) + block = TaskCardBlock( + block_id="fake_block_id", + task_id="task_1", + title="Fetching weather data", + output=output, + sources=[ + URLSource("https://weather.com/", "weather.com"), + URLSource("https://www.accuweather.com/", "accuweather.com"), + ], + status="pending", + ) + assert fetch_sample(path="blocks/task_card_block.json") == repr(block) + + +def test_plan_block() -> None: + block = PlanBlock( + block_id="fake_block_id", + title="Thinking completed", + tasks=[ + TaskCardBlock( + task_id="call_001", + title="Fetched user profile information", + status="complete", + output=task_output("plan_output"), + ), + TaskCardBlock( + task_id="call_002", + title="Checked user permissions", + status="pending", + ), + ], + ) + assert fetch_sample(path="blocks/plan_block.json") == repr(block) + + +def test_url_source() -> None: + source = URLSource("https://docs.slack.dev/", "Slack API docs") + assert fetch_sample(path="elements/url_source_basic.json") == repr(source) diff --git a/spec/CHANGELOG.md b/spec/CHANGELOG.md index dad144ee..50808753 100644 --- a/spec/CHANGELOG.md +++ b/spec/CHANGELOG.md @@ -2,7 +2,7 @@ ## 1.0.0 - 2026-08-12 -- Promote the existing Python golden fixtures into the shared valid corpus and expand it to 82 Slack-validated cases. +- Promote the existing Python golden fixtures into the shared valid corpus and expand it to 96 Slack-validated cases. - Define the cross-language validation categories and seed invalid cases. - Publish a shared scalar limits registry. - Require fixture coverage for every supported JSON capability and invalid-case coverage for every scalar limit. diff --git a/spec/coverage.json b/spec/coverage.json index 2f92de7a..3ef36842 100644 --- a/spec/coverage.json +++ b/spec/coverage.json @@ -2,28 +2,47 @@ "spec_version": "1.0.0", "capabilities": { "blocks.actions": ["blocks/actions_block_checkboxes"], + "blocks.alert": ["blocks/alert_block"], + "blocks.card": ["blocks/card_block"], + "blocks.carousel": ["blocks/carousel_block"], + "blocks.container": ["blocks/container_block"], "blocks.context": ["blocks/context_block_text_only"], + "blocks.context_actions": [ + "blocks/context_actions_feedback_buttons", + "blocks/context_actions_icon_button" + ], + "blocks.data_table": ["blocks/data_table_block"], + "blocks.data_visualization": [ + "blocks/data_visualization_area", + "blocks/data_visualization_bar", + "blocks/data_visualization_pie", + "blocks/data_visualization_line" + ], "blocks.divider": ["blocks/divider_block_only"], "blocks.file": ["blocks/file_block_only"], "blocks.header": ["blocks/header_block_only"], "blocks.image": ["blocks/image_block_only"], "blocks.input": ["blocks/input_block_only"], "blocks.markdown": ["blocks/markdown_block_basic"], + "blocks.plan": ["blocks/plan_block"], "blocks.rich_text": ["blocks/rich_text_block_basic"], "blocks.section": ["blocks/section_block_text_only"], "blocks.table": ["blocks/table_block"], + "blocks.task_card": ["blocks/task_card_block"], "blocks.video": ["blocks/video_block_basic"], "elements.button": ["elements/button_basic"], "elements.checkboxes": ["elements/checkbox_basic"], "elements.date_picker": ["elements/date_picker_basic"], "elements.datetime_picker": ["elements/datetime_picker_basic"], "elements.email_input": ["elements/email_input_basic"], + "elements.feedback_buttons": ["blocks/context_actions_feedback_buttons"], "elements.file_input": ["elements/file_input_basic"], "elements.image": [ "elements/image_basic", "elements/image_slack_file_id", "elements/image_slack_file_url" ], + "elements.icon_button": ["blocks/context_actions_icon_button"], "elements.multi_select_channels": ["elements/multi_select_channel"], "elements.multi_select_conversations": ["elements/multi_select_conversation"], "elements.multi_select_external": ["elements/multi_select_external"], @@ -41,23 +60,31 @@ "elements.select_users": ["elements/select_menu_user"], "elements.time_picker": ["elements/timepicker_basic"], "elements.url_input": ["elements/url_input_basic"], + "elements.url_source": ["elements/url_source_basic"], "elements.workflow_button": ["elements/workflow_button_basic"], "messages.attachment": ["attachments/attachment_simple"], "messages.message": ["messages/message_basic"], "messages.message_response": ["messages/message_response"], "messages.webhook_message": ["messages/webhook_message_basic"], "objects.column_settings": ["blocks/table_block"], + "objects.axis_config": ["blocks/data_visualization_line"], + "objects.chart_segment": ["blocks/data_visualization_pie"], "objects.confirmation": ["objects/confirmation_dialogue_basic"], "objects.conversation_filter": ["objects/conversation_filter_basic"], "objects.dispatch_action_configuration": [ "objects/dispatch_action_configuration_basic" ], + "objects.data_point": ["blocks/data_visualization_line"], + "objects.data_series": ["blocks/data_visualization_line"], + "objects.feedback_button": ["blocks/context_actions_feedback_buttons"], "objects.input_parameter": ["objects/input_parameter_basic"], "objects.markdown_text": ["objects/text_markdown_basic"], "objects.option": ["objects/option_basic"], "objects.option_group": ["objects/option_group_basic"], "objects.plain_text": ["objects/text_plaintext_basic"], "objects.raw_text": ["blocks/table_block"], + "objects.raw_number": ["blocks/data_table_block"], + "objects.slack_icon": ["blocks/card_block"], "objects.slack_file": [ "elements/image_slack_file_id", "elements/image_slack_file_url" diff --git a/spec/fixtures/invalid/manifest.json b/spec/fixtures/invalid/manifest.json index e22fb3e5..a18a7fc6 100644 --- a/spec/fixtures/invalid/manifest.json +++ b/spec/fixtures/invalid/manifest.json @@ -330,6 +330,252 @@ "category": "type-mismatch", "constraint": "input.element", "description": "An input block must contain an input-compatible element" + }, + { + "id": "block-id-too-long", + "category": "length-exceeded", + "constraint": "block_id.max_length", + "description": "A block ID longer than 255 characters must be rejected" + }, + { + "id": "button-accessibility-label-too-long", + "category": "length-exceeded", + "constraint": "button.accessibility_label.max_length", + "description": "A button accessibility label longer than 75 characters must be rejected" + }, + { + "id": "alert-text-too-long", + "category": "length-exceeded", + "constraint": "alert.text.max_length", + "description": "Alert text longer than 200 characters must be rejected" + }, + { + "id": "card-title-too-long", + "category": "length-exceeded", + "constraint": "card.title.max_length", + "description": "A card title longer than 150 characters must be rejected" + }, + { + "id": "card-subtitle-too-long", + "category": "length-exceeded", + "constraint": "card.subtitle.max_length", + "description": "A card subtitle longer than 150 characters must be rejected" + }, + { + "id": "card-body-too-long", + "category": "length-exceeded", + "constraint": "card.body.max_length", + "description": "A card body longer than 200 characters must be rejected" + }, + { + "id": "card-too-many-actions", + "category": "length-exceeded", + "constraint": "card.actions.max_items", + "description": "A card with more than three actions must be rejected" + }, + { + "id": "card-subtext-too-long", + "category": "length-exceeded", + "constraint": "card.subtext.max_length", + "description": "Card subtext longer than 200 characters must be rejected" + }, + { + "id": "carousel-empty", + "category": "length-exceeded", + "constraint": "carousel.elements.min_items", + "description": "A carousel without cards must be rejected" + }, + { + "id": "carousel-too-many-cards", + "category": "length-exceeded", + "constraint": "carousel.elements.max_items", + "description": "A carousel with more than ten cards must be rejected" + }, + { + "id": "container-title-too-long", + "category": "length-exceeded", + "constraint": "container.title.max_length", + "description": "A container title longer than 150 characters must be rejected" + }, + { + "id": "container-subtitle-too-long", + "category": "length-exceeded", + "constraint": "container.subtitle.max_length", + "description": "A container subtitle longer than 150 characters must be rejected" + }, + { + "id": "container-too-many-child-blocks", + "category": "length-exceeded", + "constraint": "container.child_blocks.max_items", + "description": "A container with more than ten child blocks must be rejected" + }, + { + "id": "context-actions-too-many-elements", + "category": "length-exceeded", + "constraint": "context_actions.elements.max_items", + "description": "A context-actions block with more than five elements must be rejected" + }, + { + "id": "feedback-button-text-too-long", + "category": "length-exceeded", + "constraint": "feedback_button.text.max_length", + "description": "Feedback button text longer than 75 characters must be rejected" + }, + { + "id": "feedback-button-value-too-long", + "category": "length-exceeded", + "constraint": "feedback_button.value.max_length", + "description": "A feedback button value longer than 2000 characters must be rejected" + }, + { + "id": "feedback-button-accessibility-label-too-long", + "category": "length-exceeded", + "constraint": "feedback_button.accessibility_label.max_length", + "description": "A feedback button accessibility label longer than 75 characters must be rejected" + }, + { + "id": "icon-button-too-many-visible-users", + "category": "length-exceeded", + "constraint": "icon_button.visible_to_user_ids.max_items", + "description": "An icon button visible to more than ten users must be rejected" + }, + { + "id": "data-table-too-few-rows", + "category": "length-exceeded", + "constraint": "data_table.rows.min_items", + "description": "A data table with fewer than two rows must be rejected" + }, + { + "id": "data-table-too-many-rows", + "category": "length-exceeded", + "constraint": "data_table.rows.max_items", + "description": "A data table with more than 201 rows must be rejected" + }, + { + "id": "data-table-too-few-columns", + "category": "length-exceeded", + "constraint": "data_table.columns.min_items", + "description": "A data table with empty rows must be rejected" + }, + { + "id": "data-table-too-many-columns", + "category": "length-exceeded", + "constraint": "data_table.columns.max_items", + "description": "A data table with more than 20 columns must be rejected" + }, + { + "id": "data-table-page-size-too-small", + "category": "out-of-range", + "constraint": "data_table.page_size.min", + "description": "A data table page size below one must be rejected" + }, + { + "id": "data-table-page-size-too-large", + "category": "out-of-range", + "constraint": "data_table.page_size.max", + "description": "A data table page size above 100 must be rejected" + }, + { + "id": "data-table-cell-text-empty", + "category": "length-exceeded", + "constraint": "data_table.cell_text.min_length", + "description": "An empty raw data-table cell must be rejected" + }, + { + "id": "data-table-content-too-long", + "category": "length-exceeded", + "constraint": "data_table.content.max_length", + "description": "Data-table cell text exceeding 20000 total characters must be rejected" + }, + { + "id": "data-visualization-title-too-long", + "category": "length-exceeded", + "constraint": "data_visualization.title.max_length", + "description": "A data-visualization title longer than 50 characters must be rejected" + }, + { + "id": "pie-chart-empty", + "category": "length-exceeded", + "constraint": "data_visualization.segments.min_items", + "description": "A pie chart without segments must be rejected" + }, + { + "id": "pie-chart-too-many-segments", + "category": "length-exceeded", + "constraint": "data_visualization.segments.max_items", + "description": "A pie chart with more than 12 segments must be rejected" + }, + { + "id": "chart-segment-label-too-long", + "category": "length-exceeded", + "constraint": "data_visualization.segment.label.max_length", + "description": "A chart segment label longer than 20 characters must be rejected" + }, + { + "id": "chart-segment-value-not-positive", + "category": "out-of-range", + "constraint": "data_visualization.segment.value.exclusive_min", + "description": "A non-positive pie segment value must be rejected" + }, + { + "id": "chart-series-empty", + "category": "length-exceeded", + "constraint": "data_visualization.series.min_items", + "description": "An axis-based chart without a series must be rejected" + }, + { + "id": "chart-too-many-series", + "category": "length-exceeded", + "constraint": "data_visualization.series.max_items", + "description": "An axis-based chart with more than 12 series must be rejected" + }, + { + "id": "data-series-name-too-long", + "category": "length-exceeded", + "constraint": "data_visualization.series_name.max_length", + "description": "A data-series name longer than 20 characters must be rejected" + }, + { + "id": "data-series-empty", + "category": "length-exceeded", + "constraint": "data_visualization.data.min_items", + "description": "A data series without points must be rejected" + }, + { + "id": "data-series-too-many-points", + "category": "length-exceeded", + "constraint": "data_visualization.data.max_items", + "description": "A data series with more than 20 points must be rejected" + }, + { + "id": "data-point-label-too-long", + "category": "length-exceeded", + "constraint": "data_visualization.point_label.max_length", + "description": "A data-point label longer than 20 characters must be rejected" + }, + { + "id": "axis-categories-empty", + "category": "length-exceeded", + "constraint": "data_visualization.categories.min_items", + "description": "An axis configuration without categories must be rejected" + }, + { + "id": "axis-too-many-categories", + "category": "length-exceeded", + "constraint": "data_visualization.categories.max_items", + "description": "An axis configuration with more than 20 categories must be rejected" + }, + { + "id": "axis-category-label-too-long", + "category": "length-exceeded", + "constraint": "data_visualization.category_label.max_length", + "description": "An axis category label longer than 20 characters must be rejected" + }, + { + "id": "axis-label-too-long", + "category": "length-exceeded", + "constraint": "data_visualization.axis_label.max_length", + "description": "An axis label longer than 50 characters must be rejected" } ] } diff --git a/spec/fixtures/valid/blocks/alert_block.json b/spec/fixtures/valid/blocks/alert_block.json new file mode 100644 index 00000000..af8b7d9e --- /dev/null +++ b/spec/fixtures/valid/blocks/alert_block.json @@ -0,0 +1,9 @@ +{ + "type": "alert", + "block_id": "fake_block_id", + "text": { + "type": "mrkdwn", + "text": "The work is mysterious and important." + }, + "level": "info" +} diff --git a/spec/fixtures/valid/blocks/card_block.json b/spec/fixtures/valid/blocks/card_block.json new file mode 100644 index 00000000..9b80e8cf --- /dev/null +++ b/spec/fixtures/valid/blocks/card_block.json @@ -0,0 +1,39 @@ +{ + "type": "card", + "block_id": "fake_block_id", + "hero_image": { + "type": "image", + "image_url": "https://picsum.photos/400/300", + "alt_text": "Sample hero image" + }, + "title": { + "type": "mrkdwn", + "text": "Lumon Industries" + }, + "subtitle": { + "type": "mrkdwn", + "text": "Committed to work-life balance" + }, + "body": { + "type": "mrkdwn", + "text": "Please enjoy each card equally." + }, + "actions": [ + { + "type": "button", + "text": { + "type": "plain_text", + "text": "Action Button" + }, + "action_id": "button_action" + } + ], + "slack_icon": { + "type": "icon", + "name": "bot" + }, + "subtext": { + "type": "mrkdwn", + "text": "A card assembled by slackblocks." + } +} diff --git a/spec/fixtures/valid/blocks/carousel_block.json b/spec/fixtures/valid/blocks/carousel_block.json new file mode 100644 index 00000000..c6fe616a --- /dev/null +++ b/spec/fixtures/valid/blocks/carousel_block.json @@ -0,0 +1,22 @@ +{ + "type": "carousel", + "block_id": "fake_block_id", + "elements": [ + { + "type": "card", + "block_id": "card_1", + "title": { + "type": "mrkdwn", + "text": "First result" + } + }, + { + "type": "card", + "block_id": "card_2", + "title": { + "type": "mrkdwn", + "text": "Second result" + } + } + ] +} diff --git a/spec/fixtures/valid/blocks/container_block.json b/spec/fixtures/valid/blocks/container_block.json new file mode 100644 index 00000000..a1823ddd --- /dev/null +++ b/spec/fixtures/valid/blocks/container_block.json @@ -0,0 +1,26 @@ +{ + "type": "container", + "block_id": "fake_block_id", + "title": { + "type": "plain_text", + "text": "Deployment summary" + }, + "subtitle": { + "type": "mrkdwn", + "text": "Production is healthy" + }, + "child_blocks": [ + { + "type": "section", + "block_id": "child_1", + "text": { + "type": "mrkdwn", + "text": "All systems operational." + } + } + ], + "width": "standard", + "is_collapsible": false, + "default_collapsed": false, + "has_header_divider": true +} diff --git a/spec/fixtures/valid/blocks/context_actions_feedback_buttons.json b/spec/fixtures/valid/blocks/context_actions_feedback_buttons.json new file mode 100644 index 00000000..f91d7fb6 --- /dev/null +++ b/spec/fixtures/valid/blocks/context_actions_feedback_buttons.json @@ -0,0 +1,26 @@ +{ + "type": "context_actions", + "block_id": "fake_block_id", + "elements": [ + { + "type": "feedback_buttons", + "positive_button": { + "text": { + "type": "plain_text", + "text": "Good" + }, + "value": "positive_feedback", + "accessibility_label": "Mark this response as good" + }, + "negative_button": { + "text": { + "type": "plain_text", + "text": "Bad" + }, + "value": "negative_feedback", + "accessibility_label": "Mark this response as bad" + }, + "action_id": "feedback_buttons_1" + } + ] +} diff --git a/spec/fixtures/valid/blocks/context_actions_icon_button.json b/spec/fixtures/valid/blocks/context_actions_icon_button.json new file mode 100644 index 00000000..3082aaa9 --- /dev/null +++ b/spec/fixtures/valid/blocks/context_actions_icon_button.json @@ -0,0 +1,16 @@ +{ + "type": "context_actions", + "block_id": "fake_block_id", + "elements": [ + { + "type": "icon_button", + "icon": "trash", + "text": { + "type": "plain_text", + "text": "Delete" + }, + "action_id": "delete_button", + "value": "delete_item" + } + ] +} diff --git a/spec/fixtures/valid/blocks/data_table_block.json b/spec/fixtures/valid/blocks/data_table_block.json new file mode 100644 index 00000000..c6812573 --- /dev/null +++ b/spec/fixtures/valid/blocks/data_table_block.json @@ -0,0 +1,17 @@ +{ + "type": "data_table", + "block_id": "fake_block_id", + "rows": [ + [ + { "type": "raw_text", "text": "Name" }, + { "type": "raw_text", "text": "Score" } + ], + [ + { "type": "raw_text", "text": "Alice" }, + { "type": "raw_number", "value": 42, "text": "42" } + ] + ], + "page_size": 5, + "caption": "Team scores", + "row_header_column_index": 0 +} diff --git a/spec/fixtures/valid/blocks/data_visualization_area.json b/spec/fixtures/valid/blocks/data_visualization_area.json new file mode 100644 index 00000000..da86328c --- /dev/null +++ b/spec/fixtures/valid/blocks/data_visualization_area.json @@ -0,0 +1,22 @@ +{ + "type": "data_visualization", + "block_id": "fake_block_id", + "title": "Daily Active Users", + "chart": { + "type": "area", + "series": [ + { + "name": "Free Tier", + "data": [ + { "label": "Mon", "value": 12000 }, + { "label": "Tue", "value": 13500 } + ] + } + ], + "axis_config": { + "categories": ["Mon", "Tue"], + "x_label": "Day", + "y_label": "Users" + } + } +} diff --git a/spec/fixtures/valid/blocks/data_visualization_bar.json b/spec/fixtures/valid/blocks/data_visualization_bar.json new file mode 100644 index 00000000..3db0fc49 --- /dev/null +++ b/spec/fixtures/valid/blocks/data_visualization_bar.json @@ -0,0 +1,22 @@ +{ + "type": "data_visualization", + "block_id": "fake_block_id", + "title": "Pies by Tastiness", + "chart": { + "type": "bar", + "series": [ + { + "name": "Pies", + "data": [ + { "label": "Pumpkin", "value": 70 }, + { "label": "Blueberry", "value": 90 } + ] + } + ], + "axis_config": { + "categories": ["Pumpkin", "Blueberry"], + "x_label": "Pies", + "y_label": "Tastiness" + } + } +} diff --git a/spec/fixtures/valid/blocks/data_visualization_line.json b/spec/fixtures/valid/blocks/data_visualization_line.json new file mode 100644 index 00000000..b2f904a0 --- /dev/null +++ b/spec/fixtures/valid/blocks/data_visualization_line.json @@ -0,0 +1,29 @@ +{ + "type": "data_visualization", + "block_id": "fake_block_id", + "title": "Weekly Paper Sales", + "chart": { + "type": "line", + "series": [ + { + "name": "Website", + "data": [ + { "label": "Week 1", "value": 32000 }, + { "label": "Week 2", "value": 35000 } + ] + }, + { + "name": "In-store", + "data": [ + { "label": "Week 1", "value": 28000 }, + { "label": "Week 2", "value": 31000 } + ] + } + ], + "axis_config": { + "categories": ["Week 1", "Week 2"], + "x_label": "Week", + "y_label": "Paper Sales (USD)" + } + } +} diff --git a/spec/fixtures/valid/blocks/data_visualization_pie.json b/spec/fixtures/valid/blocks/data_visualization_pie.json new file mode 100644 index 00000000..1aeaf4f2 --- /dev/null +++ b/spec/fixtures/valid/blocks/data_visualization_pie.json @@ -0,0 +1,14 @@ +{ + "type": "data_visualization", + "block_id": "fake_block_id", + "title": "My Favorite Candy Bars", + "chart": { + "type": "pie", + "segments": [ + { "label": "Kit Kat", "value": 45 }, + { "label": "Twix", "value": 28 }, + { "label": "Crunch", "value": 18 }, + { "label": "Milky Way", "value": 9 } + ] + } +} diff --git a/spec/fixtures/valid/blocks/plan_block.json b/spec/fixtures/valid/blocks/plan_block.json new file mode 100644 index 00000000..92e3ae05 --- /dev/null +++ b/spec/fixtures/valid/blocks/plan_block.json @@ -0,0 +1,32 @@ +{ + "type": "plan", + "block_id": "fake_block_id", + "title": "Thinking completed", + "tasks": [ + { + "task_id": "call_001", + "title": "Fetched user profile information", + "status": "complete", + "output": { + "type": "rich_text", + "block_id": "plan_output", + "elements": [ + { + "type": "rich_text_section", + "elements": [ + { + "type": "text", + "text": "Profile data loaded" + } + ] + } + ] + } + }, + { + "task_id": "call_002", + "title": "Checked user permissions", + "status": "pending" + } + ] +} diff --git a/spec/fixtures/valid/blocks/task_card_block.json b/spec/fixtures/valid/blocks/task_card_block.json new file mode 100644 index 00000000..44417a5e --- /dev/null +++ b/spec/fixtures/valid/blocks/task_card_block.json @@ -0,0 +1,34 @@ +{ + "type": "task_card", + "block_id": "fake_block_id", + "task_id": "task_1", + "title": "Fetching weather data", + "output": { + "type": "rich_text", + "block_id": "task_output", + "elements": [ + { + "type": "rich_text_section", + "elements": [ + { + "type": "text", + "text": "Found weather data for Chicago from 2 sources" + } + ] + } + ] + }, + "sources": [ + { + "type": "url", + "url": "https://weather.com/", + "text": "weather.com" + }, + { + "type": "url", + "url": "https://www.accuweather.com/", + "text": "accuweather.com" + } + ], + "status": "pending" +} diff --git a/spec/fixtures/valid/elements/url_source_basic.json b/spec/fixtures/valid/elements/url_source_basic.json new file mode 100644 index 00000000..7ab7a507 --- /dev/null +++ b/spec/fixtures/valid/elements/url_source_basic.json @@ -0,0 +1,5 @@ +{ + "type": "url", + "url": "https://docs.slack.dev/", + "text": "Slack API docs" +} diff --git a/spec/limits.json b/spec/limits.json index b390acdc..df7fcdac 100644 --- a/spec/limits.json +++ b/spec/limits.json @@ -1,10 +1,12 @@ { "text": { "min_length": 1, "max_length": 3000 }, "action_id": { "max_length": 255 }, + "block_id": { "max_length": 255 }, "button": { "text": { "max_length": 75 }, "url": { "max_length": 3000 }, - "value": { "max_length": 2000 } + "value": { "max_length": 2000 }, + "accessibility_label": { "max_length": 75 } }, "confirmation": { "title": { "max_length": 100 }, @@ -30,7 +32,50 @@ "file_input": { "max_files": { "min": 1, "max": 10 } }, "plain_text_input": { "max_length": { "max": 3000 } }, "actions": { "elements": { "max_items": 25 } }, + "alert": { "text": { "max_length": 200 } }, + "card": { + "title": { "max_length": 150 }, + "subtitle": { "max_length": 150 }, + "body": { "max_length": 200 }, + "actions": { "max_items": 3 }, + "subtext": { "max_length": 200 } + }, + "carousel": { "elements": { "min_items": 1, "max_items": 10 } }, + "container": { + "title": { "max_length": 150 }, + "subtitle": { "max_length": 150 }, + "child_blocks": { "max_items": 10 } + }, "context": { "elements": { "max_items": 10 } }, + "context_actions": { "elements": { "max_items": 5 } }, + "feedback_button": { + "text": { "max_length": 75 }, + "value": { "max_length": 2000 }, + "accessibility_label": { "max_length": 75 } + }, + "icon_button": { "visible_to_user_ids": { "max_items": 10 } }, + "data_table": { + "rows": { "min_items": 2, "max_items": 201 }, + "columns": { "min_items": 1, "max_items": 20 }, + "page_size": { "min": 1, "max": 100 }, + "cell_text": { "min_length": 1 }, + "content": { "max_length": 20000 } + }, + "data_visualization": { + "title": { "max_length": 50 }, + "segments": { "min_items": 1, "max_items": 12 }, + "segment": { + "label": { "max_length": 20 }, + "value": { "exclusive_min": 0 } + }, + "series": { "min_items": 1, "max_items": 12 }, + "series_name": { "max_length": 20 }, + "data": { "min_items": 1, "max_items": 20 }, + "point_label": { "max_length": 20 }, + "categories": { "min_items": 1, "max_items": 20 }, + "category_label": { "max_length": 20 }, + "axis_label": { "max_length": 50 } + }, "header": { "text": { "max_length": 150 } }, "image": { "image_url": { "max_length": 3000 }, diff --git a/spec/manifest.json b/spec/manifest.json index ecb63133..78a94688 100644 --- a/spec/manifest.json +++ b/spec/manifest.json @@ -19,12 +19,78 @@ "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/", "since": "1.0.0" }, + { + "id": "blocks/alert_block", + "description": "Alert Block", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/alert-block/", + "since": "1.0.0" + }, + { + "id": "blocks/card_block", + "description": "Card Block", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/card-block/", + "since": "1.0.0" + }, + { + "id": "blocks/carousel_block", + "description": "Carousel Block", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/carousel-block/", + "since": "1.0.0" + }, + { + "id": "blocks/container_block", + "description": "Container Block", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/container-block/", + "since": "1.0.0" + }, + { + "id": "blocks/context_actions_feedback_buttons", + "description": "Context Actions Block With Feedback Buttons", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/context-actions-block/", + "since": "1.0.0" + }, + { + "id": "blocks/context_actions_icon_button", + "description": "Context Actions Block With An Icon Button", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/context-actions-block/", + "since": "1.0.0" + }, { "id": "blocks/context_block_text_only", "description": "Context Block Text Only", "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/", "since": "1.0.0" }, + { + "id": "blocks/data_table_block", + "description": "Data Table Block", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/data-table-block/", + "since": "1.0.0" + }, + { + "id": "blocks/data_visualization_area", + "description": "Data Visualization Block With An Area Chart", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/data-visualization-block/", + "since": "1.0.0" + }, + { + "id": "blocks/data_visualization_bar", + "description": "Data Visualization Block With A Bar Chart", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/data-visualization-block/", + "since": "1.0.0" + }, + { + "id": "blocks/data_visualization_line", + "description": "Data Visualization Block With A Line Chart", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/data-visualization-block/", + "since": "1.0.0" + }, + { + "id": "blocks/data_visualization_pie", + "description": "Data Visualization Block With A Pie Chart", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/data-visualization-block/", + "since": "1.0.0" + }, { "id": "blocks/divider_block_only", "description": "Divider Block Only", @@ -61,6 +127,12 @@ "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/", "since": "1.0.0" }, + { + "id": "blocks/plan_block", + "description": "Plan Block", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/plan-block/", + "since": "1.0.0" + }, { "id": "blocks/rich_text_block_basic", "description": "Rich Text Block Basic", @@ -103,6 +175,12 @@ "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/", "since": "1.0.0" }, + { + "id": "blocks/task_card_block", + "description": "Task Card Block", + "slack_docs": "https://docs.slack.dev/reference/block-kit/blocks/task-card-block/", + "since": "1.0.0" + }, { "id": "blocks/video_block_basic", "description": "Video Block Basic", @@ -289,6 +367,12 @@ "slack_docs": "https://docs.slack.dev/reference/block-kit/block-elements/", "since": "1.0.0" }, + { + "id": "elements/url_source_basic", + "description": "URL Source", + "slack_docs": "https://docs.slack.dev/reference/block-kit/block-elements/url-source-element/", + "since": "1.0.0" + }, { "id": "elements/workflow_button_basic", "description": "Workflow Button Basic", diff --git a/typescript/conformance/skiplist.txt b/typescript/conformance/skiplist.txt index cd53b58f..d3b81332 100644 --- a/typescript/conformance/skiplist.txt +++ b/typescript/conformance/skiplist.txt @@ -1,2 +1,57 @@ # One fixture or invalid-case ID per line, followed by a reason. -# TypeScript conforms to every case in spec 1.0.0, so this list is intentionally empty. +# The TypeScript implementation lands in the next PR in this train. +blocks/alert_block pending TypeScript parity PR +blocks/card_block pending TypeScript parity PR +blocks/carousel_block pending TypeScript parity PR +blocks/container_block pending TypeScript parity PR +blocks/context_actions_feedback_buttons pending TypeScript parity PR +blocks/context_actions_icon_button pending TypeScript parity PR +blocks/data_table_block pending TypeScript parity PR +blocks/data_visualization_area pending TypeScript parity PR +blocks/data_visualization_bar pending TypeScript parity PR +blocks/data_visualization_line pending TypeScript parity PR +blocks/data_visualization_pie pending TypeScript parity PR +blocks/plan_block pending TypeScript parity PR +blocks/task_card_block pending TypeScript parity PR +elements/url_source_basic pending TypeScript parity PR +block-id-too-long pending TypeScript parity PR +button-accessibility-label-too-long pending TypeScript parity PR +alert-text-too-long pending TypeScript parity PR +card-title-too-long pending TypeScript parity PR +card-subtitle-too-long pending TypeScript parity PR +card-body-too-long pending TypeScript parity PR +card-too-many-actions pending TypeScript parity PR +card-subtext-too-long pending TypeScript parity PR +carousel-empty pending TypeScript parity PR +carousel-too-many-cards pending TypeScript parity PR +container-title-too-long pending TypeScript parity PR +container-subtitle-too-long pending TypeScript parity PR +container-too-many-child-blocks pending TypeScript parity PR +context-actions-too-many-elements pending TypeScript parity PR +feedback-button-text-too-long pending TypeScript parity PR +feedback-button-value-too-long pending TypeScript parity PR +feedback-button-accessibility-label-too-long pending TypeScript parity PR +icon-button-too-many-visible-users pending TypeScript parity PR +data-table-too-few-rows pending TypeScript parity PR +data-table-too-many-rows pending TypeScript parity PR +data-table-too-few-columns pending TypeScript parity PR +data-table-too-many-columns pending TypeScript parity PR +data-table-page-size-too-small pending TypeScript parity PR +data-table-page-size-too-large pending TypeScript parity PR +data-table-cell-text-empty pending TypeScript parity PR +data-table-content-too-long pending TypeScript parity PR +data-visualization-title-too-long pending TypeScript parity PR +pie-chart-empty pending TypeScript parity PR +pie-chart-too-many-segments pending TypeScript parity PR +chart-segment-label-too-long pending TypeScript parity PR +chart-segment-value-not-positive pending TypeScript parity PR +chart-series-empty pending TypeScript parity PR +chart-too-many-series pending TypeScript parity PR +data-series-name-too-long pending TypeScript parity PR +data-series-empty pending TypeScript parity PR +data-series-too-many-points pending TypeScript parity PR +data-point-label-too-long pending TypeScript parity PR +axis-categories-empty pending TypeScript parity PR +axis-too-many-categories pending TypeScript parity PR +axis-category-label-too-long pending TypeScript parity PR +axis-label-too-long pending TypeScript parity PR diff --git a/typescript/test/conformance.test.ts b/typescript/test/conformance.test.ts index ca8ea9f3..76dfdd52 100644 --- a/typescript/test/conformance.test.ts +++ b/typescript/test/conformance.test.ts @@ -226,6 +226,13 @@ function constructFixture(id: string, expected: FixtureInput): unknown { const manifest = readJson(resolve(SPEC_ROOT, "manifest.json")); const coverage = readJson(resolve(SPEC_ROOT, "coverage.json")); +const skippedCases = new Set( + readFileSync(resolve(PACKAGE_ROOT, "conformance/skiplist.txt"), "utf8") + .split("\n") + .map((line) => line.trim()) + .filter((line) => line !== "" && !line.startsWith("#")) + .map((line) => line.split(/\s+/, 1)[0]!), +); function scalarPaths(value: unknown, prefix: string[] = []): string[] { if (value === null || typeof value !== "object" || Array.isArray(value)) { @@ -259,7 +266,8 @@ describe("valid conformance corpus", () => { }); for (const fixture of manifest.fixtures) { - it(fixture.id, () => { + const testFixture = skippedCases.has(fixture.id) ? it.skip : it; + testFixture(fixture.id, () => { const expected = readJson>( resolve(SPEC_ROOT, "fixtures/valid", `${fixture.id}.json`), ); @@ -267,13 +275,6 @@ describe("valid conformance corpus", () => { }); } - it("has an empty TypeScript skip list", () => { - const entries = readFileSync(resolve(PACKAGE_ROOT, "conformance/skiplist.txt"), "utf8") - .split("\n") - .filter((line) => line !== "" && !line.startsWith("#")); - expect(entries).toEqual([]); - }); - it("contains no undeclared fixture files", () => { const ids = new Set(manifest.fixtures.map(({ id }) => id)); const categories = readdirSync(resolve(SPEC_ROOT, "fixtures/valid")); @@ -515,12 +516,24 @@ describe("invalid conformance corpus", () => { }); it("has a construction for every case", () => { expect(Object.keys(invalidCases).sort()).toEqual( - invalidManifest.cases.map(({ id }) => id).sort(), + invalidManifest.cases + .filter(({ id }) => !skippedCases.has(id)) + .map(({ id }) => id) + .sort(), ); }); + it("only skips declared valid fixtures and invalid cases", () => { + const declared = new Set([ + ...manifest.fixtures.map(({ id }) => id), + ...invalidManifest.cases.map(({ id }) => id), + ]); + expect([...skippedCases].filter((id) => !declared.has(id))).toEqual([]); + }); + for (const invalidCase of invalidManifest.cases) { - it(`${invalidCase.id} -> ${invalidCase.category}`, () => { + const testInvalidCase = skippedCases.has(invalidCase.id) ? it.skip : it; + testInvalidCase(`${invalidCase.id} -> ${invalidCase.category}`, () => { try { invalidCases[invalidCase.id]?.(); expect.fail("construction did not throw"); From 1d3289fc693be0c0acf919d3fe538be0624bd8d3 Mon Sep 17 00:00:00 2001 From: Nicholas Lambourne Date: Fri, 14 Aug 2026 03:17:18 +1000 Subject: [PATCH 13/23] feat: support current Block Kit blocks in TypeScript --- typescript/conformance/skiplist.txt | 57 +--- typescript/src/blocks.ts | 137 +++++++++ typescript/src/elements.ts | 67 ++++- typescript/src/objects.ts | 246 +++++++++++++++- typescript/src/validation.ts | 416 ++++++++++++++++++++++++++++ typescript/test/conformance.test.ts | 346 +++++++++++++++++++++-- 6 files changed, 1183 insertions(+), 86 deletions(-) diff --git a/typescript/conformance/skiplist.txt b/typescript/conformance/skiplist.txt index d3b81332..cd53b58f 100644 --- a/typescript/conformance/skiplist.txt +++ b/typescript/conformance/skiplist.txt @@ -1,57 +1,2 @@ # One fixture or invalid-case ID per line, followed by a reason. -# The TypeScript implementation lands in the next PR in this train. -blocks/alert_block pending TypeScript parity PR -blocks/card_block pending TypeScript parity PR -blocks/carousel_block pending TypeScript parity PR -blocks/container_block pending TypeScript parity PR -blocks/context_actions_feedback_buttons pending TypeScript parity PR -blocks/context_actions_icon_button pending TypeScript parity PR -blocks/data_table_block pending TypeScript parity PR -blocks/data_visualization_area pending TypeScript parity PR -blocks/data_visualization_bar pending TypeScript parity PR -blocks/data_visualization_line pending TypeScript parity PR -blocks/data_visualization_pie pending TypeScript parity PR -blocks/plan_block pending TypeScript parity PR -blocks/task_card_block pending TypeScript parity PR -elements/url_source_basic pending TypeScript parity PR -block-id-too-long pending TypeScript parity PR -button-accessibility-label-too-long pending TypeScript parity PR -alert-text-too-long pending TypeScript parity PR -card-title-too-long pending TypeScript parity PR -card-subtitle-too-long pending TypeScript parity PR -card-body-too-long pending TypeScript parity PR -card-too-many-actions pending TypeScript parity PR -card-subtext-too-long pending TypeScript parity PR -carousel-empty pending TypeScript parity PR -carousel-too-many-cards pending TypeScript parity PR -container-title-too-long pending TypeScript parity PR -container-subtitle-too-long pending TypeScript parity PR -container-too-many-child-blocks pending TypeScript parity PR -context-actions-too-many-elements pending TypeScript parity PR -feedback-button-text-too-long pending TypeScript parity PR -feedback-button-value-too-long pending TypeScript parity PR -feedback-button-accessibility-label-too-long pending TypeScript parity PR -icon-button-too-many-visible-users pending TypeScript parity PR -data-table-too-few-rows pending TypeScript parity PR -data-table-too-many-rows pending TypeScript parity PR -data-table-too-few-columns pending TypeScript parity PR -data-table-too-many-columns pending TypeScript parity PR -data-table-page-size-too-small pending TypeScript parity PR -data-table-page-size-too-large pending TypeScript parity PR -data-table-cell-text-empty pending TypeScript parity PR -data-table-content-too-long pending TypeScript parity PR -data-visualization-title-too-long pending TypeScript parity PR -pie-chart-empty pending TypeScript parity PR -pie-chart-too-many-segments pending TypeScript parity PR -chart-segment-label-too-long pending TypeScript parity PR -chart-segment-value-not-positive pending TypeScript parity PR -chart-series-empty pending TypeScript parity PR -chart-too-many-series pending TypeScript parity PR -data-series-name-too-long pending TypeScript parity PR -data-series-empty pending TypeScript parity PR -data-series-too-many-points pending TypeScript parity PR -data-point-label-too-long pending TypeScript parity PR -axis-categories-empty pending TypeScript parity PR -axis-too-many-categories pending TypeScript parity PR -axis-category-label-too-long pending TypeScript parity PR -axis-label-too-long pending TypeScript parity PR +# TypeScript conforms to every case in spec 1.0.0, so this list is intentionally empty. diff --git a/typescript/src/blocks.ts b/typescript/src/blocks.ts index 4051aa99..665b56a1 100644 --- a/typescript/src/blocks.ts +++ b/typescript/src/blocks.ts @@ -16,6 +16,143 @@ import type { import { create } from "./internal.js"; import { asText, type TextLike } from "./objects.js"; import type { FactorySettings, JsonObject, SlackWire } from "./types.js"; +import type { SlackObject } from "./types.js"; + +export type AlertLevel = "default" | "info" | "warning" | "error" | "success"; +export type ContainerWidth = "narrow" | "standard" | "wide" | "full"; +export type TaskStatus = "pending" | "in_progress" | "complete" | "error"; + +export function alertBlock( + input: { text: TextLike; level?: AlertLevel; blockId?: string }, + settings: FactorySettings = {}, +): SlackObject<"alert"> { + return create( + "alert", + { ...input, text: asText(input.text, "mrkdwn", settings) }, + settings, + ); +} + +export interface CardBlockInput { + heroImage?: JsonObject; + icon?: JsonObject; + title?: TextLike; + subtitle?: TextLike; + body?: TextLike; + actions?: JsonObject[]; + slackIcon?: JsonObject; + subtext?: TextLike; + blockId?: string; +} + +export function cardBlock( + input: CardBlockInput, + settings: FactorySettings = {}, +): SlackObject<"card"> { + return create( + "card", + { + ...input, + title: input.title === undefined ? undefined : asText(input.title, "mrkdwn", settings), + subtitle: + input.subtitle === undefined ? undefined : asText(input.subtitle, "mrkdwn", settings), + body: input.body === undefined ? undefined : asText(input.body, "mrkdwn", settings), + subtext: + input.subtext === undefined ? undefined : asText(input.subtext, "mrkdwn", settings), + }, + settings, + ); +} + +export function carouselBlock( + input: { elements: JsonObject[]; blockId?: string }, + settings: FactorySettings = {}, +): SlackObject<"carousel"> { + return create("carousel", input, settings); +} + +export function containerBlock( + input: { + childBlocks: JsonObject[]; + title?: TextLike; + richTextTitle?: JsonObject; + subtitle?: TextLike; + width?: ContainerWidth; + icon?: JsonObject; + isCollapsible?: boolean; + defaultCollapsed?: boolean; + hasHeaderDivider?: boolean; + blockId?: string; + }, + settings: FactorySettings = {}, +): SlackObject<"container"> { + return create( + "container", + { + ...input, + title: input.title === undefined ? undefined : asText(input.title, "plain_text", settings), + subtitle: + input.subtitle === undefined ? undefined : asText(input.subtitle, "mrkdwn", settings), + }, + settings, + ); +} + +export function contextActionsBlock( + input: { elements: JsonObject[]; blockId?: string }, + settings: FactorySettings = {}, +): SlackObject<"context_actions"> { + return create("context_actions", input, settings); +} + +export function dataTableBlock( + input: { + rows: JsonObject[][]; + caption: string; + pageSize?: number; + rowHeaderColumnIndex?: number; + blockId?: string; + }, + settings: FactorySettings = {}, +): SlackObject<"data_table"> { + return create("data_table", { pageSize: 5, rowHeaderColumnIndex: 0, ...input }, settings); +} + +export function dataVisualizationBlock( + input: { title: string; chart: JsonObject; blockId?: string }, + settings: FactorySettings = {}, +): SlackObject<"data_visualization"> { + return create("data_visualization", input, settings); +} + +export function taskCardBlock( + input: { + taskId: string; + title: string; + details?: JsonObject; + output?: JsonObject; + sources?: JsonObject[]; + status?: TaskStatus; + blockId?: string; + }, + settings: FactorySettings = {}, +): SlackObject<"task_card"> { + return create("task_card", input, settings); +} + +export function planBlock( + input: { title: string; tasks?: JsonObject[]; blockId?: string }, + settings: FactorySettings = {}, +): SlackObject<"plan"> { + return create( + "plan", + { + ...input, + tasks: input.tasks?.map(({ type: _type, block_id: _blockId, ...task }) => task), + }, + settings, + ); +} export interface SectionBlockInput { text?: TextLike; diff --git a/typescript/src/elements.ts b/typescript/src/elements.ts index 651bdf22..76a54420 100644 --- a/typescript/src/elements.ts +++ b/typescript/src/elements.ts @@ -1,5 +1,5 @@ -import { RangeError } from "./errors.js"; -import { create } from "./internal.js"; +import { LengthError, RangeError, TypeMismatchError } from "./errors.js"; +import { create, createObject } from "./internal.js"; import { asText, type TextLike } from "./objects.js"; import type { FactorySettings, JsonObject, SlackObject } from "./types.js"; @@ -51,6 +51,69 @@ export function button( ); } +export interface FeedbackButtonInput { + text: TextLike; + value: string; + accessibilityLabel?: string; +} + +export function feedbackButton( + input: FeedbackButtonInput, + settings: FactorySettings = {}, +): JsonObject { + return createObject( + { ...input, text: asText(input.text, "plain_text", settings) }, + settings, + ); +} + +export function feedbackButtons( + input: { + positiveButton: JsonObject; + negativeButton: JsonObject; + actionId?: string; + }, + settings: FactorySettings = {}, +): SlackObject<"feedback_buttons"> { + return element("feedback_buttons", input, settings); +} + +export function iconButton( + input: { + text: TextLike; + icon?: "trash"; + actionId?: string; + value?: string; + confirm?: JsonObject; + accessibilityLabel?: string; + visibleToUserIds?: string[]; + }, + settings: FactorySettings = {}, +): SlackObject<"icon_button"> { + if (input.icon !== undefined && input.icon !== "trash") { + throw new TypeMismatchError("iconButton.icon", "expected trash"); + } + if (input.visibleToUserIds !== undefined && input.visibleToUserIds.length > 10) { + throw new LengthError("iconButton.visibleToUserIds", "exceeds maximum 10"); + } + return element( + "icon_button", + { + ...input, + icon: input.icon ?? "trash", + text: asText(input.text, "plain_text", settings), + }, + settings, + ); +} + +export function urlSource( + input: { url: string; text: string }, + settings: FactorySettings = {}, +): SlackObject<"url"> { + return element("url", input, settings); +} + export function checkboxes( input: ActionInput & { options: JsonObject[] }, settings: FactorySettings = {}, diff --git a/typescript/src/objects.ts b/typescript/src/objects.ts index 60fed3cf..ada41a95 100644 --- a/typescript/src/objects.ts +++ b/typescript/src/objects.ts @@ -1,4 +1,11 @@ -import { LengthError, MissingRequiredError, MutualExclusivityError } from "./errors.js"; +import { + InvalidUsageError, + LengthError, + MissingRequiredError, + MutualExclusivityError, + RangeError, + TypeMismatchError, +} from "./errors.js"; import { create, createObject, textValue } from "./internal.js"; import type { FactorySettings, JsonObject, SlackObject } from "./types.js"; @@ -135,28 +142,28 @@ export function conversationFilter( if (Object.values(input).every((value) => value === undefined)) { throw new MissingRequiredError("conversationFilter", "expected at least one filter"); } - return createObject(input, settings); + return createObject({ ...input }, settings); } export function dispatchActionConfiguration( input: { triggerActionsOn: string[] }, settings: FactorySettings = {}, ): JsonObject { - return createObject(input, settings); + return createObject({ ...input }, settings); } export function inputParameter( input: { name: string; value: string }, settings: FactorySettings = {}, ): JsonObject { - return createObject(input, settings); + return createObject({ ...input }, settings); } export function trigger( input: { url: string; customizableInputParameters?: JsonObject[] }, settings: FactorySettings = {}, ): JsonObject { - return createObject(input, settings); + return createObject({ ...input }, settings); } export function workflow( @@ -192,3 +199,232 @@ export function rawText( ): SlackObject<"raw_text"> { return create("raw_text", { text }, settings); } + +export function rawNumber( + value: number, + text: string, + settings: FactorySettings = {}, +): SlackObject<"raw_number"> { + if (!Number.isFinite(value)) { + throw new TypeMismatchError("rawNumber.value", "expected a finite number"); + } + return create("raw_number", { value, text }, settings); +} + +export type SlackIconName = + | "archive" + | "book" + | "bookmark" + | "bot" + | "bug" + | "calendar" + | "call" + | "caret-left" + | "caret-right" + | "check" + | "clipboard" + | "code" + | "comment" + | "compass" + | "copy" + | "cube" + | "download" + | "edit" + | "email" + | "eye-closed" + | "eye-open" + | "file" + | "flag" + | "folder" + | "gear" + | "globe" + | "heart" + | "help" + | "image" + | "info" + | "key" + | "lightbulb" + | "link" + | "map" + | "mobile" + | "new-window" + | "pin" + | "plus" + | "refine" + | "refresh" + | "rocket" + | "save" + | "screen" + | "share" + | "sparkle" + | "star" + | "star-filled" + | "tag" + | "thumbs-down" + | "thumbs-up" + | "trash" + | "upload" + | "user" + | "warning"; + +const SLACK_ICON_NAMES = new Set([ + "archive", "book", "bookmark", "bot", "bug", "calendar", "call", "caret-left", + "caret-right", "check", "clipboard", "code", "comment", "compass", "copy", "cube", + "download", "edit", "email", "eye-closed", "eye-open", "file", "flag", "folder", + "gear", "globe", "heart", "help", "image", "info", "key", "lightbulb", "link", + "map", "mobile", "new-window", "pin", "plus", "refine", "refresh", "rocket", + "save", "screen", "share", "sparkle", "star", "star-filled", "tag", "thumbs-down", + "thumbs-up", "trash", "upload", "user", "warning", +]); + +export function slackIcon( + name: SlackIconName, + settings: FactorySettings = {}, +): SlackObject<"icon"> { + if (!SLACK_ICON_NAMES.has(name)) { + throw new TypeMismatchError("slackIcon.name", `unknown icon ${name}`); + } + return create("icon", { name }, settings); +} + +export interface ChartSegmentInput { + label: string; + value: number; +} + +export function chartSegment( + input: ChartSegmentInput, + settings: FactorySettings = {}, +): JsonObject { + ensureLength(input.label, "chartSegment.label", 20); + if (!Number.isFinite(input.value)) { + throw new TypeMismatchError("chartSegment.value", "expected a finite number"); + } + if (input.value <= 0) { + throw new RangeError("chartSegment.value", "expected a value greater than 0"); + } + return createObject({ ...input }, settings); +} + +export interface DataPointInput { + label: string; + value: number; +} + +export function dataPoint( + input: DataPointInput, + settings: FactorySettings = {}, +): JsonObject { + ensureLength(input.label, "dataPoint.label", 20); + if (!Number.isFinite(input.value)) { + throw new TypeMismatchError("dataPoint.value", "expected a finite number"); + } + return createObject({ ...input }, settings); +} + +export interface DataSeriesInput { + name: string; + data: JsonObject[]; +} + +export function dataSeries( + input: DataSeriesInput, + settings: FactorySettings = {}, +): JsonObject { + ensureLength(input.name, "dataSeries.name", 20); + if (input.data.length < 1 || input.data.length > 20) { + throw new LengthError("dataSeries.data", "expected between 1 and 20 data points"); + } + return createObject({ ...input }, settings); +} + +export interface AxisConfigInput { + categories: string[]; + xLabel?: string; + yLabel?: string; +} + +export function axisConfig( + input: AxisConfigInput, + settings: FactorySettings = {}, +): JsonObject { + if (input.categories.length < 1 || input.categories.length > 20) { + throw new LengthError("axisConfig.categories", "expected between 1 and 20 categories"); + } + input.categories.forEach((category) => ensureLength(category, "axisConfig.category", 20)); + if (new Set(input.categories).size !== input.categories.length) { + throw new InvalidUsageError("axisConfig.categories", "expected unique labels"); + } + if (input.xLabel !== undefined) ensureLength(input.xLabel, "axisConfig.xLabel", 50); + if (input.yLabel !== undefined) ensureLength(input.yLabel, "axisConfig.yLabel", 50); + return createObject({ ...input }, settings); +} + +export function pieChart( + segments: JsonObject[], + settings: FactorySettings = {}, +): SlackObject<"pie"> { + return create("pie", { segments }, settings); +} + +function axisChart( + type: Type, + series: JsonObject[], + axis: JsonObject, + settings: FactorySettings, +): SlackObject { + const names = series.map((item) => item.name); + if (new Set(names).size !== names.length) { + throw new InvalidUsageError(`${type}Chart.series`, "series names must be unique"); + } + const categories = axis.categories; + if (!Array.isArray(categories)) { + throw new TypeMismatchError(`${type}Chart.axisConfig.categories`, "expected an array"); + } + for (const item of series) { + const data = item.data; + if (!Array.isArray(data)) { + throw new TypeMismatchError(`${type}Chart.series.data`, "expected an array"); + } + const labels = data.map((point) => + point !== null && typeof point === "object" && !Array.isArray(point) + ? point.label + : undefined, + ); + if ( + labels.length !== categories.length || + new Set(labels).size !== categories.length || + labels.some((label) => !categories.includes(label as never)) + ) { + throw new InvalidUsageError( + `${type}Chart.series.data`, + "each series must contain one point for every axis category", + ); + } + } + return create(type, { series, axisConfig: axis }, settings); +} + +export function barChart( + series: JsonObject[], + axis: JsonObject, + settings: FactorySettings = {}, +): SlackObject<"bar"> { + return axisChart("bar", series, axis, settings); +} + +export function areaChart( + series: JsonObject[], + axis: JsonObject, + settings: FactorySettings = {}, +): SlackObject<"area"> { + return axisChart("area", series, axis, settings); +} + +export function lineChart( + series: JsonObject[], + axis: JsonObject, + settings: FactorySettings = {}, +): SlackObject<"line"> { + return axisChart("line", series, axis, settings); +} diff --git a/typescript/src/validation.ts b/typescript/src/validation.ts index 67a82b05..6780c0f5 100644 --- a/typescript/src/validation.ts +++ b/typescript/src/validation.ts @@ -64,6 +64,122 @@ function range( } } +function textCharacterCount(value: JsonValue): number { + if (Array.isArray(value)) { + return value.reduce((total, item) => total + textCharacterCount(item), 0); + } + if (value !== null && typeof value === "object") { + return Object.entries(value).reduce( + (total, [key, nested]) => + total + (key === "text" && typeof nested === "string" ? nested.length : textCharacterCount(nested)), + 0, + ); + } + return 0; +} + +function validateSeriesChart(object: JsonObject, path: string): void { + if (!Array.isArray(object.series)) { + throw new TypeMismatchError(child(path, "series"), "expected an array"); + } + length( + object.series, + child(path, "series"), + limits.data_visualization.series.min_items, + limits.data_visualization.series.max_items, + ); + const axis = objectAt(object.axis_config, child(path, "axis_config")); + if (!Array.isArray(axis.categories)) { + throw new TypeMismatchError(child(path, "axis_config.categories"), "expected an array"); + } + const categories = axis.categories; + length( + categories, + child(path, "axis_config.categories"), + limits.data_visualization.categories.min_items, + limits.data_visualization.categories.max_items, + ); + categories.forEach((category, index) => { + if (typeof category !== "string") { + throw new TypeMismatchError(`${child(path, "axis_config.categories")}[${index}]`, "expected a string"); + } + length( + category, + `${child(path, "axis_config.categories")}[${index}]`, + undefined, + limits.data_visualization.category_label.max_length, + ); + }); + if (new Set(categories).size !== categories.length) { + throw new InvalidUsageError(child(path, "axis_config.categories"), "expected unique labels"); + } + for (const field of ["x_label", "y_label"] as const) { + if (axis[field] !== undefined && typeof axis[field] !== "string") { + throw new TypeMismatchError(child(path, `axis_config.${field}`), "expected a string"); + } + length( + axis[field] as string | undefined, + child(path, `axis_config.${field}`), + undefined, + limits.data_visualization.axis_label.max_length, + ); + } + const names: string[] = []; + object.series.forEach((rawSeries, seriesIndex) => { + const seriesPath = `${child(path, "series")}[${seriesIndex}]`; + const series = objectAt(rawSeries, seriesPath); + if (typeof series.name !== "string") { + throw new TypeMismatchError(child(seriesPath, "name"), "expected a string"); + } + length( + series.name, + child(seriesPath, "name"), + undefined, + limits.data_visualization.series_name.max_length, + ); + names.push(series.name); + if (!Array.isArray(series.data)) { + throw new TypeMismatchError(child(seriesPath, "data"), "expected an array"); + } + length( + series.data, + child(seriesPath, "data"), + limits.data_visualization.data.min_items, + limits.data_visualization.data.max_items, + ); + const labels = series.data.map((rawPoint, pointIndex) => { + const pointPath = `${child(seriesPath, "data")}[${pointIndex}]`; + const point = objectAt(rawPoint, pointPath); + if (typeof point.label !== "string") { + throw new TypeMismatchError(child(pointPath, "label"), "expected a string"); + } + length( + point.label, + child(pointPath, "label"), + undefined, + limits.data_visualization.point_label.max_length, + ); + if (typeof point.value !== "number" || !Number.isFinite(point.value)) { + throw new TypeMismatchError(child(pointPath, "value"), "expected a finite number"); + } + return point.label; + }); + if ( + labels.length !== categories.length || + new Set(labels).size !== categories.length || + labels.some((label) => !categories.includes(label)) + ) { + throw new InvalidUsageError( + child(seriesPath, "data"), + "expected exactly one point for every axis category", + ); + } + }); + if (new Set(names).size !== names.length) { + throw new InvalidUsageError(child(path, "series"), "series names must be unique"); + } +} + function validateTextObject(object: JsonObject, path: string): void { const value = textValue(object); if (value === undefined) { @@ -96,6 +212,10 @@ const INPUT_ELEMENT_TYPES = new Set([ function validateKnownObject(object: JsonObject, path: string): void { const type = object.type; + const blockId = object.block_id; + if (typeof blockId === "string") { + length(blockId, child(path, "block_id"), undefined, limits.block_id.max_length); + } const actionId = object.action_id; if (typeof actionId === "string") { length(actionId, child(path, "action_id"), undefined, limits.action_id.max_length); @@ -155,7 +275,66 @@ function validateKnownObject(object: JsonObject, path: string): void { if (typeof object.value === "string") { length(object.value, child(path, "value"), undefined, limits.button.value.max_length); } + if (typeof object.accessibility_label === "string") { + length( + object.accessibility_label, + child(path, "accessibility_label"), + undefined, + limits.button.accessibility_label.max_length, + ); + } + break; + case "icon_button": + if (object.icon !== "trash") { + throw new TypeMismatchError(child(path, "icon"), "expected trash"); + } + if (typeof object.value === "string") { + length(object.value, child(path, "value"), undefined, limits.button.value.max_length); + } + if (typeof object.accessibility_label === "string") { + length( + object.accessibility_label, + child(path, "accessibility_label"), + undefined, + limits.button.accessibility_label.max_length, + ); + } + if (Array.isArray(object.visible_to_user_ids)) { + length( + object.visible_to_user_ids, + child(path, "visible_to_user_ids"), + undefined, + limits.icon_button.visible_to_user_ids.max_items, + ); + } break; + case "feedback_buttons": { + for (const field of ["positive_button", "negative_button"] as const) { + const buttonPath = child(path, field); + const feedback = objectAt(object[field], buttonPath); + length( + textValue(feedback.text), + child(buttonPath, "text.text"), + undefined, + limits.feedback_button.text.max_length, + ); + length( + typeof feedback.value === "string" ? feedback.value : undefined, + child(buttonPath, "value"), + undefined, + limits.feedback_button.value.max_length, + ); + if (typeof feedback.accessibility_label === "string") { + length( + feedback.accessibility_label, + child(buttonPath, "accessibility_label"), + undefined, + limits.feedback_button.accessibility_label.max_length, + ); + } + } + break; + } case "file_input": range( typeof object.max_files === "number" ? object.max_files : undefined, @@ -276,6 +455,243 @@ function validateKnownObject(object: JsonObject, path: string): void { length(object.elements, child(path, "elements"), undefined, limits.actions.elements.max_items); } break; + case "alert": + length( + textValue(object.text), + child(path, "text.text"), + undefined, + limits.alert.text.max_length, + ); + if (![undefined, "default", "info", "warning", "error", "success"].includes(object.level as never)) { + throw new TypeMismatchError(child(path, "level"), "unknown alert level"); + } + break; + case "card": + if ( + object.hero_image === undefined && + object.title === undefined && + object.actions === undefined && + object.body === undefined + ) { + throw new MissingRequiredError(path, "expected hero_image, title, actions, or body"); + } + if (object.icon !== undefined && object.slack_icon !== undefined) { + throw new MutualExclusivityError(path, "icon and slack_icon cannot be provided together"); + } + for (const [field, maximum] of [ + ["title", limits.card.title.max_length], + ["subtitle", limits.card.subtitle.max_length], + ["body", limits.card.body.max_length], + ["subtext", limits.card.subtext.max_length], + ] as const) { + if (object[field] !== undefined) { + length(textValue(object[field]), child(path, `${field}.text`), undefined, maximum); + } + } + if (Array.isArray(object.actions)) { + length(object.actions, child(path, "actions"), undefined, limits.card.actions.max_items); + object.actions.forEach((action, index) => { + if (objectAt(action, `${child(path, "actions")}[${index}]`).type !== "button") { + throw new TypeMismatchError(`${child(path, "actions")}[${index}]`, "expected a button"); + } + }); + } + break; + case "carousel": + if (!Array.isArray(object.elements)) { + throw new TypeMismatchError(child(path, "elements"), "expected an array"); + } + length( + object.elements, + child(path, "elements"), + limits.carousel.elements.min_items, + limits.carousel.elements.max_items, + ); + object.elements.forEach((element, index) => { + if (objectAt(element, `${child(path, "elements")}[${index}]`).type !== "card") { + throw new TypeMismatchError(`${child(path, "elements")}[${index}]`, "expected a card"); + } + }); + break; + case "container": { + if (object.title === undefined && object.rich_text_title === undefined) { + throw new MissingRequiredError(path, "expected title or rich_text_title"); + } + if (object.title !== undefined) { + length( + textValue(object.title), + child(path, "title.text"), + undefined, + limits.container.title.max_length, + ); + } + if (object.subtitle !== undefined) { + length( + textValue(object.subtitle), + child(path, "subtitle.text"), + undefined, + limits.container.subtitle.max_length, + ); + } + if (!Array.isArray(object.child_blocks)) { + throw new TypeMismatchError(child(path, "child_blocks"), "expected an array"); + } + length( + object.child_blocks, + child(path, "child_blocks"), + 1, + limits.container.child_blocks.max_items, + ); + const allowed = new Set([ + "actions", "context", "divider", "file", "header", "image", "input", + "rich_text", "section", "table", "video", + ]); + object.child_blocks.forEach((block, index) => { + if (!allowed.has(String(objectAt(block, `${child(path, "child_blocks")}[${index}]`).type))) { + throw new TypeMismatchError(`${child(path, "child_blocks")}[${index}]`, "unsupported child block"); + } + }); + if (![undefined, "narrow", "standard", "wide", "full"].includes(object.width as never)) { + throw new TypeMismatchError(child(path, "width"), "unknown container width"); + } + if (object.default_collapsed === true && object.is_collapsible !== true) { + throw new InvalidUsageError(child(path, "default_collapsed"), "requires is_collapsible"); + } + if (object.has_header_divider === true && object.is_collapsible === true) { + throw new InvalidUsageError(child(path, "has_header_divider"), "requires a non-collapsible container"); + } + break; + } + case "context_actions": + if (!Array.isArray(object.elements)) { + throw new TypeMismatchError(child(path, "elements"), "expected an array"); + } + length(object.elements, child(path, "elements"), 1, limits.context_actions.elements.max_items); + object.elements.forEach((element, index) => { + const elementType = objectAt(element, `${child(path, "elements")}[${index}]`).type; + if (elementType !== "feedback_buttons" && elementType !== "icon_button") { + throw new TypeMismatchError(`${child(path, "elements")}[${index}]`, "unsupported context action"); + } + }); + break; + case "data_table": { + if (!Array.isArray(object.rows)) { + throw new TypeMismatchError(child(path, "rows"), "expected an array"); + } + length( + object.rows, + child(path, "rows"), + limits.data_table.rows.min_items, + limits.data_table.rows.max_items, + ); + let columns: number | undefined; + object.rows.forEach((rawRow, rowIndex) => { + if (!Array.isArray(rawRow)) { + throw new TypeMismatchError(`${child(path, "rows")}[${rowIndex}]`, "expected an array"); + } + length( + rawRow, + `${child(path, "rows")}[${rowIndex}]`, + limits.data_table.columns.min_items, + limits.data_table.columns.max_items, + ); + columns ??= rawRow.length; + if (rawRow.length !== columns) { + throw new InvalidUsageError(`${child(path, "rows")}[${rowIndex}]`, "column count differs"); + } + rawRow.forEach((rawCell, cellIndex) => { + const cellPath = `${child(path, "rows")}[${rowIndex}][${cellIndex}]`; + const cell = objectAt(rawCell, cellPath); + if (!["raw_text", "raw_number", "rich_text"].includes(String(cell.type))) { + throw new TypeMismatchError(cellPath, "unsupported data-table cell"); + } + if (rowIndex === 0 && cell.type === "rich_text") { + throw new TypeMismatchError(cellPath, "header cells cannot contain rich text"); + } + if ((cell.type === "raw_text" || cell.type === "raw_number") && typeof cell.text === "string") { + length(cell.text, child(cellPath, "text"), limits.data_table.cell_text.min_length); + } + }); + }); + range( + typeof object.page_size === "number" ? object.page_size : undefined, + child(path, "page_size"), + limits.data_table.page_size.min, + limits.data_table.page_size.max, + ); + if (typeof object.row_header_column_index === "number") { + range(object.row_header_column_index, child(path, "row_header_column_index"), 0, (columns ?? 1) - 1); + } + if (typeof object.caption !== "string") { + throw new TypeMismatchError(child(path, "caption"), "expected a string"); + } + const contentLength = textCharacterCount(object.rows); + if (contentLength > limits.data_table.content.max_length) { + throw new LengthError(child(path, "rows"), `${contentLength} exceeds maximum ${limits.data_table.content.max_length}`); + } + break; + } + case "data_visualization": + length( + typeof object.title === "string" ? object.title : undefined, + child(path, "title"), + undefined, + limits.data_visualization.title.max_length, + ); + objectAt(object.chart, child(path, "chart")); + break; + case "pie": + if (!Array.isArray(object.segments)) { + throw new TypeMismatchError(child(path, "segments"), "expected an array"); + } + length( + object.segments, + child(path, "segments"), + limits.data_visualization.segments.min_items, + limits.data_visualization.segments.max_items, + ); + object.segments.forEach((rawSegment, index) => { + const segmentPath = `${child(path, "segments")}[${index}]`; + const segment = objectAt(rawSegment, segmentPath); + length( + typeof segment.label === "string" ? segment.label : undefined, + child(segmentPath, "label"), + undefined, + limits.data_visualization.segment.label.max_length, + ); + if (typeof segment.value !== "number" || !Number.isFinite(segment.value)) { + throw new TypeMismatchError(child(segmentPath, "value"), "expected a finite number"); + } + if (segment.value <= limits.data_visualization.segment.value.exclusive_min) { + throw new RangeError(child(segmentPath, "value"), "expected a value greater than 0"); + } + }); + break; + case "bar": + case "area": + case "line": + validateSeriesChart(object, path); + break; + case "task_card": + if (typeof object.task_id !== "string" || typeof object.title !== "string") { + throw new MissingRequiredError(path, "expected task_id and title"); + } + if (![undefined, "pending", "in_progress", "complete", "error"].includes(object.status as never)) { + throw new TypeMismatchError(child(path, "status"), "unknown task status"); + } + if (Array.isArray(object.sources)) { + object.sources.forEach((source, index) => { + if (objectAt(source, `${child(path, "sources")}[${index}]`).type !== "url") { + throw new TypeMismatchError(`${child(path, "sources")}[${index}]`, "expected a URL source"); + } + }); + } + break; + case "plan": + if (typeof object.title !== "string") { + throw new MissingRequiredError(child(path, "title"), "expected a title"); + } + break; case "input": { length( textValue(object.label), diff --git a/typescript/test/conformance.test.ts b/typescript/test/conformance.test.ts index 76dfdd52..bfeb42a4 100644 --- a/typescript/test/conformance.test.ts +++ b/typescript/test/conformance.test.ts @@ -8,29 +8,45 @@ import limits from "../../spec/limits.json" with { type: "json" }; import { actionsBlock, + alertBlock, + areaChart, + axisConfig, + barChart, + cardBlock, + carouselBlock, + chartSegment, attachment, button, channelMultiSelect, channelSelect, checkboxes, confirmation, + containerBlock, contextBlock, + contextActionsBlock, conversationFilter, conversationMultiSelect, conversationSelect, datePicker, dateTimePicker, + dataPoint, + dataSeries, + dataTableBlock, + dataVisualizationBlock, dispatchActionConfiguration, dividerBlock, emailInput, externalMultiSelect, externalSelect, + feedbackButton, + feedbackButtons, fileBlock, fileInput, headerBlock, homeTab, imageElement, imageBlock, + iconButton, inputBlock, inputParameter, markdownBlock, @@ -42,8 +58,12 @@ import { option, optionGroup, overflow, + pieChart, + planBlock, plainTextInput, radioButtons, + rawNumber, + rawText, richText, richTextBlock, richTextChannel, @@ -57,21 +77,25 @@ import { richTextUser, richTextUserGroup, sectionBlock, + slackIcon, staticMultiSelect, staticSelect, tableBlock, + taskCardBlock, timePicker, trigger, type ErrorCategory, InvalidUsageError, plainText, urlInput, + urlSource, userMultiSelect, userSelect, videoBlock, webhookMessage, workflow, workflowButton, + lineChart, } from "../src/index.js"; const PACKAGE_ROOT = resolve(dirname(fileURLToPath(import.meta.url)), ".."); @@ -122,20 +146,111 @@ function withoutType(input: FixtureInput): FixtureInput { return rest; } +function constructCard(payload: FixtureInput): unknown { + const value = withoutType(payload); + return cardBlock({ + ...value, + heroImage: value.heroImage === undefined ? undefined : imageElement(withoutType(value.heroImage)), + icon: value.icon === undefined ? undefined : imageElement(withoutType(value.icon)), + actions: value.actions?.map((action: FixtureInput) => button(withoutType(action))), + slackIcon: + value.slackIcon === undefined ? undefined : slackIcon(value.slackIcon.name), + }); +} + +function constructContextAction(payload: FixtureInput): unknown { + const value = withoutType(payload); + if (payload.type === "icon_button") return iconButton(value); + if (payload.type === "feedback_buttons") { + return feedbackButtons({ + ...value, + positiveButton: feedbackButton(value.positiveButton), + negativeButton: feedbackButton(value.negativeButton), + }); + } + throw new Error(`No context-action factory for ${String(payload.type)}`); +} + +function constructChart(payload: FixtureInput): unknown { + if (payload.type === "pie") { + return pieChart(payload.segments.map((segment: FixtureInput) => chartSegment(segment))); + } + if (["area", "bar", "line"].includes(payload.type)) { + const series = + payload.series.map((series: FixtureInput) => + dataSeries({ + ...series, + data: series.data.map((point: FixtureInput) => dataPoint(point)), + }), + ); + const axis = axisConfig(payload.axisConfig); + if (payload.type === "area") return areaChart(series, axis); + if (payload.type === "bar") return barChart(series, axis); + return lineChart(series, axis); + } + throw new Error(`No chart factory for ${String(payload.type)}`); +} + +function constructTask(payload: FixtureInput): unknown { + const value = withoutType(payload); + return taskCardBlock({ + ...value, + details: value.details === undefined ? undefined : constructBlock(value.details), + output: value.output === undefined ? undefined : constructBlock(value.output), + sources: value.sources?.map((source: FixtureInput) => urlSource(withoutType(source))), + }); +} + function constructBlock(payload: FixtureInput): unknown { const value = withoutType(payload); switch (payload.type) { case "actions": return actionsBlock(value); + case "alert": return alertBlock(value); + case "card": return constructCard(payload); + case "carousel": + return carouselBlock({ + ...value, + elements: value.elements.map((card: FixtureInput) => constructCard(card)), + }); + case "container": + return containerBlock({ + ...value, + childBlocks: value.childBlocks.map((block: FixtureInput) => constructBlock(block)), + }); case "context": return contextBlock(value); + case "context_actions": + return contextActionsBlock({ + ...value, + elements: value.elements.map((element: FixtureInput) => constructContextAction(element)), + }); + case "data_table": + return dataTableBlock({ + ...value, + rows: value.rows.map((row: FixtureInput[]) => + row.map((cell) => + cell.type === "raw_number" + ? rawNumber(cell.value, cell.text) + : rawText(cell.text), + ), + ), + }); + case "data_visualization": + return dataVisualizationBlock({ ...value, chart: constructChart(value.chart) }); case "divider": return dividerBlock(value); case "file": return fileBlock(value); case "header": return headerBlock(value); case "image": return imageBlock(value); case "input": return inputBlock(value); case "markdown": return markdownBlock(value); + case "plan": + return planBlock({ + ...value, + tasks: value.tasks?.map((task: FixtureInput) => constructTask(task)), + }); case "rich_text": return richTextBlock(value); case "section": return sectionBlock(value); case "table": return tableBlock(value); + case "task_card": return constructTask(payload); case "video": return videoBlock(value); default: throw new Error(`No block factory for ${String(payload.type)}`); } @@ -151,8 +266,10 @@ function constructElement(input: FixtureInput): unknown { case "datepicker": return datePicker(value); case "datetimepicker": return dateTimePicker(value); case "email_text_input": return emailInput(value); + case "feedback_buttons": return feedbackButtons(value); case "external_select": return externalSelect(value); case "image": return imageElement(value); + case "icon_button": return iconButton(value); case "multi_channels_select": return channelMultiSelect(value); case "multi_conversations_select": return conversationMultiSelect(value); case "multi_external_select": return externalMultiSelect(value); @@ -166,6 +283,7 @@ function constructElement(input: FixtureInput): unknown { case "static_select": return staticSelect(value); case "timepicker": return timePicker(value); case "url_text_input": return urlInput(value); + case "url": return urlSource(value); case "users_select": return userSelect(value); case "workflow_button": return workflowButton(value); default: throw new Error(`No element factory for ${String(input.type)}`); @@ -226,13 +344,6 @@ function constructFixture(id: string, expected: FixtureInput): unknown { const manifest = readJson(resolve(SPEC_ROOT, "manifest.json")); const coverage = readJson(resolve(SPEC_ROOT, "coverage.json")); -const skippedCases = new Set( - readFileSync(resolve(PACKAGE_ROOT, "conformance/skiplist.txt"), "utf8") - .split("\n") - .map((line) => line.trim()) - .filter((line) => line !== "" && !line.startsWith("#")) - .map((line) => line.split(/\s+/, 1)[0]!), -); function scalarPaths(value: unknown, prefix: string[] = []): string[] { if (value === null || typeof value !== "object" || Array.isArray(value)) { @@ -266,8 +377,7 @@ describe("valid conformance corpus", () => { }); for (const fixture of manifest.fixtures) { - const testFixture = skippedCases.has(fixture.id) ? it.skip : it; - testFixture(fixture.id, () => { + it(fixture.id, () => { const expected = readJson>( resolve(SPEC_ROOT, "fixtures/valid", `${fixture.id}.json`), ); @@ -275,6 +385,13 @@ describe("valid conformance corpus", () => { }); } + it("has an empty TypeScript skip list", () => { + const entries = readFileSync(resolve(PACKAGE_ROOT, "conformance/skiplist.txt"), "utf8") + .split("\n") + .filter((line) => line !== "" && !line.startsWith("#")); + expect(entries).toEqual([]); + }); + it("contains no undeclared fixture files", () => { const ids = new Set(manifest.fixtures.map(({ id }) => id)); const categories = readdirSync(resolve(SPEC_ROOT, "fixtures/valid")); @@ -296,6 +413,15 @@ const video = (overrides: Record = {}) => videoUrl: "https://example.com/video.mp4", ...overrides, }); +const validCard = () => cardBlock({ title: "Card" }); +const validFeedbackButton = () => feedbackButton({ text: "Good", value: "good" }); +const validTableRows = () => [ + [rawText("Name")], + [rawText("Alice")], +]; +const validAxis = () => axisConfig({ categories: ["A"] }); +const validSeries = (name = "Series") => + dataSeries({ name, data: [dataPoint({ label: "A", value: 1 })] }); const invalidCases: Record unknown> = { "text-empty": () => plainText(""), @@ -494,6 +620,192 @@ const invalidCases: Record unknown> = { "context-invalid-element": () => contextBlock({ elements: [dividerBlock()] }), "input-invalid-element": () => inputBlock({ label: "Label", element: button({ text: "A", actionId: "a" }) }), + "block-id-too-long": () => + dividerBlock({ blockId: "x".repeat(limits.block_id.max_length + 1) }), + "button-accessibility-label-too-long": () => + button({ + text: "A", + actionId: "a", + accessibilityLabel: "x".repeat(limits.button.accessibility_label.max_length + 1), + }), + "alert-text-too-long": () => + alertBlock({ text: "x".repeat(limits.alert.text.max_length + 1) }), + "card-title-too-long": () => + cardBlock({ title: "x".repeat(limits.card.title.max_length + 1) }), + "card-subtitle-too-long": () => + cardBlock({ title: "Card", subtitle: "x".repeat(limits.card.subtitle.max_length + 1) }), + "card-body-too-long": () => + cardBlock({ body: "x".repeat(limits.card.body.max_length + 1) }), + "card-too-many-actions": () => + cardBlock({ + actions: Array.from({ length: limits.card.actions.max_items + 1 }, (_, index) => + button({ text: "A", actionId: `a-${index}` }), + ), + }), + "card-subtext-too-long": () => + cardBlock({ title: "Card", subtext: "x".repeat(limits.card.subtext.max_length + 1) }), + "carousel-empty": () => carouselBlock({ elements: [] }), + "carousel-too-many-cards": () => + carouselBlock({ + elements: Array.from({ length: limits.carousel.elements.max_items + 1 }, validCard), + }), + "container-title-too-long": () => + containerBlock({ + title: "x".repeat(limits.container.title.max_length + 1), + childBlocks: [dividerBlock()], + }), + "container-subtitle-too-long": () => + containerBlock({ + title: "Container", + subtitle: "x".repeat(limits.container.subtitle.max_length + 1), + childBlocks: [dividerBlock()], + }), + "container-too-many-child-blocks": () => + containerBlock({ + title: "Container", + childBlocks: Array.from( + { length: limits.container.child_blocks.max_items + 1 }, + () => dividerBlock(), + ), + }), + "context-actions-too-many-elements": () => + contextActionsBlock({ + elements: Array.from( + { length: limits.context_actions.elements.max_items + 1 }, + (_, index) => iconButton({ text: "Delete", actionId: `delete-${index}` }), + ), + }), + "feedback-button-text-too-long": () => + feedbackButtons({ + positiveButton: feedbackButton({ + text: "x".repeat(limits.feedback_button.text.max_length + 1), + value: "good", + }), + negativeButton: validFeedbackButton(), + }), + "feedback-button-value-too-long": () => + feedbackButtons({ + positiveButton: feedbackButton({ + text: "Good", + value: "x".repeat(limits.feedback_button.value.max_length + 1), + }), + negativeButton: validFeedbackButton(), + }), + "feedback-button-accessibility-label-too-long": () => + feedbackButtons({ + positiveButton: feedbackButton({ + text: "Good", + value: "good", + accessibilityLabel: "x".repeat( + limits.feedback_button.accessibility_label.max_length + 1, + ), + }), + negativeButton: validFeedbackButton(), + }), + "icon-button-too-many-visible-users": () => + iconButton({ + text: "Delete", + visibleToUserIds: Array.from( + { length: limits.icon_button.visible_to_user_ids.max_items + 1 }, + (_, index) => `U${index}`, + ), + }), + "data-table-too-few-rows": () => + dataTableBlock({ rows: [[rawText("Name")]], caption: "Names" }), + "data-table-too-many-rows": () => + dataTableBlock({ + rows: Array.from({ length: limits.data_table.rows.max_items + 1 }, () => [rawText("A")]), + caption: "Names", + }), + "data-table-too-few-columns": () => + dataTableBlock({ rows: [[], []], caption: "Empty" }), + "data-table-too-many-columns": () => + dataTableBlock({ + rows: [0, 1].map(() => + Array.from({ length: limits.data_table.columns.max_items + 1 }, () => rawText("A")), + ), + caption: "Wide", + }), + "data-table-page-size-too-small": () => + dataTableBlock({ + rows: validTableRows(), + caption: "Names", + pageSize: limits.data_table.page_size.min - 1, + }), + "data-table-page-size-too-large": () => + dataTableBlock({ + rows: validTableRows(), + caption: "Names", + pageSize: limits.data_table.page_size.max + 1, + }), + "data-table-cell-text-empty": () => + dataTableBlock({ rows: [[rawText("Name")], [rawText("")]], caption: "Names" }), + "data-table-content-too-long": () => + dataTableBlock({ + rows: [[rawText("Name")], [rawText("x".repeat(limits.data_table.content.max_length))]], + caption: "Names", + }), + "data-visualization-title-too-long": () => + dataVisualizationBlock({ + title: "x".repeat(limits.data_visualization.title.max_length + 1), + chart: pieChart([chartSegment({ label: "A", value: 1 })]), + }), + "pie-chart-empty": () => pieChart([]), + "pie-chart-too-many-segments": () => + pieChart( + Array.from({ length: limits.data_visualization.segments.max_items + 1 }, (_, index) => + chartSegment({ label: `S${index}`, value: 1 }), + ), + ), + "chart-segment-label-too-long": () => + chartSegment({ + label: "x".repeat(limits.data_visualization.segment.label.max_length + 1), + value: 1, + }), + "chart-segment-value-not-positive": () => chartSegment({ label: "A", value: 0 }), + "chart-series-empty": () => lineChart([], validAxis()), + "chart-too-many-series": () => + lineChart( + Array.from({ length: limits.data_visualization.series.max_items + 1 }, (_, index) => + validSeries(`S${index}`), + ), + validAxis(), + ), + "data-series-name-too-long": () => + dataSeries({ + name: "x".repeat(limits.data_visualization.series_name.max_length + 1), + data: [dataPoint({ label: "A", value: 1 })], + }), + "data-series-empty": () => dataSeries({ name: "Series", data: [] }), + "data-series-too-many-points": () => + dataSeries({ + name: "Series", + data: Array.from({ length: limits.data_visualization.data.max_items + 1 }, (_, index) => + dataPoint({ label: `P${index}`, value: index }), + ), + }), + "data-point-label-too-long": () => + dataPoint({ + label: "x".repeat(limits.data_visualization.point_label.max_length + 1), + value: 1, + }), + "axis-categories-empty": () => axisConfig({ categories: [] }), + "axis-too-many-categories": () => + axisConfig({ + categories: Array.from( + { length: limits.data_visualization.categories.max_items + 1 }, + (_, index) => `C${index}`, + ), + }), + "axis-category-label-too-long": () => + axisConfig({ + categories: ["x".repeat(limits.data_visualization.category_label.max_length + 1)], + }), + "axis-label-too-long": () => + axisConfig({ + categories: ["A"], + xLabel: "x".repeat(limits.data_visualization.axis_label.max_length + 1), + }), }; const invalidManifest = readJson( @@ -516,24 +828,12 @@ describe("invalid conformance corpus", () => { }); it("has a construction for every case", () => { expect(Object.keys(invalidCases).sort()).toEqual( - invalidManifest.cases - .filter(({ id }) => !skippedCases.has(id)) - .map(({ id }) => id) - .sort(), + invalidManifest.cases.map(({ id }) => id).sort(), ); }); - it("only skips declared valid fixtures and invalid cases", () => { - const declared = new Set([ - ...manifest.fixtures.map(({ id }) => id), - ...invalidManifest.cases.map(({ id }) => id), - ]); - expect([...skippedCases].filter((id) => !declared.has(id))).toEqual([]); - }); - for (const invalidCase of invalidManifest.cases) { - const testInvalidCase = skippedCases.has(invalidCase.id) ? it.skip : it; - testInvalidCase(`${invalidCase.id} -> ${invalidCase.category}`, () => { + it(`${invalidCase.id} -> ${invalidCase.category}`, () => { try { invalidCases[invalidCase.id]?.(); expect.fail("construction did not throw"); From 01ea3815c0b1476e529323d46416c3455ef56401 Mon Sep 17 00:00:00 2001 From: Nicholas Lambourne Date: Fri, 14 Aug 2026 03:18:25 +1000 Subject: [PATCH 14/23] docs: bring TypeScript API reference to parity --- docs/docs/index.mdx | 18 +- docs/docusaurus.config.ts | 22 +- docs/package.json | 6 +- docs/scripts/check_typescript_api_docs.mjs | 162 ++++ .../check_typescript_api_rendering.mjs | 135 ++++ docs/scripts/typedoc-domain-groups.mjs | 179 +++++ docs/src/theme/DocSidebar/index.tsx | 26 +- .../typescript/type-aliases/SlackObject.md | 8 +- .../typescript/type-aliases/SlackWire.md | 8 +- typescript/src/blocks.ts | 347 ++++++++- typescript/src/builder.ts | 7 + typescript/src/elements.ts | 718 +++++++++++++++++- typescript/src/errors.ts | 31 + typescript/src/messages.ts | 74 +- typescript/src/objects.ts | 283 ++++++- typescript/src/rich-text.ts | 115 ++- typescript/src/types.ts | 21 +- typescript/src/validation.ts | 15 + typescript/src/views.ts | 35 + 19 files changed, 2131 insertions(+), 79 deletions(-) create mode 100644 docs/scripts/check_typescript_api_docs.mjs create mode 100644 docs/scripts/check_typescript_api_rendering.mjs diff --git a/docs/docs/index.mdx b/docs/docs/index.mdx index 245bd2d0..13fc96f3 100644 --- a/docs/docs/index.mdx +++ b/docs/docs/index.mdx @@ -53,6 +53,12 @@ For convenience, [`PlainText`](reference/python/objects#plaintext) and [`Markdow - [`MarkdownBlock`](reference/python/blocks#markdownblock) — GitHub-flavored Markdown (Slack 2024+; richer formatting than `mrkdwn`). - [`RichTextBlock`](reference/python/blocks#richtextblock) — formatted text with inline styling, lists, code blocks, and quotes. - [`ActionsBlock`](reference/python/blocks#actionsblock) — a row of interactive elements like buttons or menus. +- [`AlertBlock`](reference/python/blocks#alertblock) — a severity-labelled notice for a modal. +- [`CardBlock`](reference/python/blocks#cardblock) and [`CarouselBlock`](reference/python/blocks#carouselblock) — compact linked content, individually or in a scrolling collection. +- [`ContainerBlock`](reference/python/blocks#containerblock) — a titled group of related child blocks. +- [`ContextActionsBlock`](reference/python/blocks#contextactionsblock) — feedback and icon controls beside contextual content. +- [`DataTableBlock`](reference/python/blocks#datatableblock) and [`DataVisualizationBlock`](reference/python/blocks#datavisualizationblock) — structured data as a table or chart. +- [`PlanBlock`](reference/python/blocks#planblock) and [`TaskCardBlock`](reference/python/blocks#taskcardblock) — plans, task state, rich output, and sources. - [`VideoBlock`](reference/python/blocks#videoblock) — embed a video from a Slack-supported provider. - [`ImageBlock`](reference/python/blocks#imageblock), [`ContextBlock`](reference/python/blocks#contextblock), [`InputBlock`](reference/python/blocks#inputblock), [`FileBlock`](reference/python/blocks#fileblock), [`TableBlock`](reference/python/blocks#tableblock). @@ -82,24 +88,24 @@ The TypeScript package exposes data-first factories that return typed, Slack-sha ### Composition objects -Factories such as [`plainText`](reference/typescript/objects/plainText), [`mrkdwn`](reference/typescript/objects/mrkdwn), and [`option`](reference/typescript/objects/option) create the small values used throughout Block Kit payloads. +Factories such as [`plainText`](reference/typescript/objects#plaintext), [`mrkdwn`](reference/typescript/objects#mrkdwn), and [`option`](reference/typescript/objects#option) create the small values used throughout Block Kit payloads. ### Elements -Interactive controls are built with factories such as [`button`](reference/typescript/elements/button), [`checkboxes`](reference/typescript/elements/checkboxes), [`staticSelect`](reference/typescript/elements/staticSelect), and [`datePicker`](reference/typescript/elements/datePicker). +Interactive controls are built with factories such as [`button`](reference/typescript/elements#button), [`checkboxes`](reference/typescript/elements#checkboxes), [`staticSelect`](reference/typescript/elements#staticselect), and [`datePicker`](reference/typescript/elements#datepicker). ### Blocks -Every block factory follows the same `Block` naming pattern: [`actionsBlock`](reference/typescript/blocks/actionsBlock), [`contextBlock`](reference/typescript/blocks/contextBlock), [`dividerBlock`](reference/typescript/blocks/dividerBlock), [`fileBlock`](reference/typescript/blocks/fileBlock), [`headerBlock`](reference/typescript/blocks/headerBlock), [`imageBlock`](reference/typescript/blocks/imageBlock), [`inputBlock`](reference/typescript/blocks/inputBlock), [`markdownBlock`](reference/typescript/blocks/markdownBlock), [`richTextBlock`](reference/typescript/blocks/richTextBlock), [`sectionBlock`](reference/typescript/blocks/sectionBlock), [`tableBlock`](reference/typescript/blocks/tableBlock), and [`videoBlock`](reference/typescript/blocks/videoBlock). +Every block factory follows the same `Block` naming pattern. Alongside the familiar [`sectionBlock`](reference/typescript/blocks#sectionblock), [`actionsBlock`](reference/typescript/blocks#actionsblock), and [`videoBlock`](reference/typescript/blocks#videoblock), the API includes [`alertBlock`](reference/typescript/blocks#alertblock), [`cardBlock`](reference/typescript/blocks#cardblock), [`carouselBlock`](reference/typescript/blocks#carouselblock), [`containerBlock`](reference/typescript/blocks#containerblock), [`contextActionsBlock`](reference/typescript/blocks#contextactionsblock), [`dataTableBlock`](reference/typescript/blocks#datatableblock), [`dataVisualizationBlock`](reference/typescript/blocks#datavisualizationblock), [`planBlock`](reference/typescript/blocks#planblock), and [`taskCardBlock`](reference/typescript/blocks#taskcardblock). ### Messages and views -Use [`message`](reference/typescript/messages/message), [`webhookMessage`](reference/typescript/messages/webhookMessage), and [`messageResponse`](reference/typescript/messages/messageResponse) for message payloads. Use [`modal`](reference/typescript/views/modal) and [`homeTab`](reference/typescript/views/homeTab) for Slack views. +Use [`message`](reference/typescript/messages#message), [`webhookMessage`](reference/typescript/messages#webhookmessage), and [`messageResponse`](reference/typescript/messages#messageresponse) for message payloads. Use [`modal`](reference/typescript/views#modal) and [`homeTab`](reference/typescript/views#hometab) for Slack views. ### Utilities -- [`blockKitBuilderUrl`](reference/typescript/utilities/blockKitBuilderUrl) creates a browser preview URL. -- [`validate`](reference/typescript/utilities/validate) and [`assertValid`](reference/typescript/utilities/assertValid) validate existing Slack-shaped data. +- [`blockKitBuilderUrl`](reference/typescript/utilities#blockkitbuilderurl) creates a browser preview URL. +- [`validate`](reference/typescript/utilities#validate) and [`assertValid`](reference/typescript/utilities#assertvalid) validate existing Slack-shaped data.
    diff --git a/docs/docusaurus.config.ts b/docs/docusaurus.config.ts index 115f5ece..d0503f41 100644 --- a/docs/docusaurus.config.ts +++ b/docs/docusaurus.config.ts @@ -34,9 +34,15 @@ const TYPESCRIPT_CLASS_NAMES = new Set([ const TYPESCRIPT_INTERFACE_NAMES = new Set([ "ActionInput", + "AxisConfigInput", "ButtonInput", + "CardBlockInput", + "ChartSegmentInput", "ConfirmationInput", + "DataPointInput", + "DataSeriesInput", "FactorySettings", + "FeedbackButtonInput", "JsonObject", "MarkdownOptions", "MessageInput", @@ -49,16 +55,20 @@ const TYPESCRIPT_INTERFACE_NAMES = new Set([ ]); const TYPESCRIPT_TYPE_ALIAS_NAMES = new Set([ + "AlertLevel", "BlockKitPayload", + "ContainerWidth", "ElementInput", "ErrorCategory", "JsonPrimitive", "JsonValue", "SlackCompatibleBlock", + "SlackIconName", "SlackObject", "SlackWire", "TextLike", "TextObject", + "TaskStatus", ]); const TYPESCRIPT_DOMAIN_TITLES: Record = { @@ -157,7 +167,7 @@ const config: Config = { ], entryPointStrategy: "expand", sortEntryPoints: false, - router: "structure", + router: "module", plugin: ["./scripts/typedoc-domain-groups.mjs"], tsconfig: "../typescript/tsconfig.typedoc.json", out: "docs/reference/typescript", @@ -167,6 +177,16 @@ const config: Config = { member: "{name}", module: typescriptDomainTitle, }, + parametersFormat: "table", + interfacePropertiesFormat: "table", + classPropertiesFormat: "table", + typeDeclarationFormat: "table", + tableColumnSettings: { + hideInherited: true, + hideSources: true, + }, + disableSources: true, + excludeExternals: true, excludePrivate: true, excludeInternal: true, sidebar: { diff --git a/docs/package.json b/docs/package.json index e2746259..d7653aee 100644 --- a/docs/package.json +++ b/docs/package.json @@ -4,9 +4,11 @@ "private": true, "scripts": { "generate:python": "UV_CACHE_DIR=../.uv-cache uv run --project ../python --group docs python scripts/generate_python_reference.py", - "generate": "pnpm generate:python", + "check:typescript-api": "node scripts/check_typescript_api_docs.mjs", + "check:typescript-api-rendering": "node scripts/check_typescript_api_rendering.mjs", + "generate": "pnpm generate:python && pnpm check:typescript-api", "start": "pnpm generate && docusaurus start", - "build": "pnpm generate && docusaurus build", + "build": "pnpm generate && docusaurus build && pnpm check:typescript-api-rendering", "typecheck": "tsc --noEmit", "test": "pnpm typecheck" }, diff --git a/docs/scripts/check_typescript_api_docs.mjs b/docs/scripts/check_typescript_api_docs.mjs new file mode 100644 index 00000000..35e7996e --- /dev/null +++ b/docs/scripts/check_typescript_api_docs.mjs @@ -0,0 +1,162 @@ +import { readFileSync } from "node:fs"; +import { fileURLToPath } from "node:url"; +import ts from "typescript"; + +const SOURCE_FILES = [ + "../../typescript/src/blocks.ts", + "../../typescript/src/elements.ts", + "../../typescript/src/objects.ts", + "../../typescript/src/rich-text.ts", + "../../typescript/src/messages.ts", + "../../typescript/src/views.ts", + "../../typescript/src/builder.ts", + "../../typescript/src/types.ts", + "../../typescript/src/validation.ts", + "../../typescript/src/errors.ts", +]; + +const THROWS_REQUIRED_FILES = new Set([ + "../../typescript/src/blocks.ts", + "../../typescript/src/elements.ts", + "../../typescript/src/messages.ts", + "../../typescript/src/views.ts", +]); + +const failures = []; + +function hasText(comment) { + return (ts.getTextOfJSDocComment(comment) ?? "").trim().length > 0; +} + +function hasSummary(node) { + return (node.jsDoc ?? []).some((documentation) => hasText(documentation.comment)); +} + +function requireDocumentation(node, location) { + if (!hasSummary(node)) failures.push(`${location}: missing API description`); +} + +function inspectType(type, location) { + if (!type) return; + if (ts.isParenthesizedTypeNode(type)) { + inspectType(type.type, location); + return; + } + if (ts.isUnionTypeNode(type) || ts.isIntersectionTypeNode(type)) { + type.types.forEach((nested) => inspectType(nested, location)); + return; + } + if (!ts.isTypeLiteralNode(type)) return; + + for (const member of type.members) { + if (!ts.isPropertySignature(member)) continue; + const name = member.name.getText(); + requireDocumentation(member, `${location}.${name}`); + inspectType(member.type, `${location}.${name}`); + } +} + +function inspectParameters(node, location) { + for (const parameter of node.parameters) { + const name = parameter.name.getText(); + const tags = ts.getJSDocParameterTags(parameter); + if (tags.length === 0 || tags.every((tag) => !hasText(tag.comment))) { + failures.push(`${location}(${name}): missing @param description`); + } + inspectType(parameter.type, `${location}.${name}`); + } +} + +function inspectFunction(node, location, requireThrows) { + requireDocumentation(node, location); + inspectParameters(node, location); + + const isAssertion = + node.type && + ts.isTypePredicateNode(node.type) && + node.type.assertsModifier !== undefined; + const returns = ts.getJSDocReturnTag(node); + if (!isAssertion && (returns === undefined || !hasText(returns.comment))) { + failures.push(`${location}: missing @returns description`); + } + + if (requireThrows) { + const throwsTags = ts.getJSDocTags(node).filter(ts.isJSDocThrowsTag); + if (throwsTags.length === 0 || throwsTags.every((tag) => !hasText(tag.comment))) { + failures.push(`${location}: missing @throws description`); + } + } +} + +function inspectInterface(node, location) { + requireDocumentation(node, location); + for (const member of node.members) { + if (!ts.isPropertySignature(member) && !ts.isIndexSignatureDeclaration(member)) continue; + requireDocumentation(member, `${location}.${member.name?.getText() ?? "[key]"}`); + if (ts.isPropertySignature(member)) inspectType(member.type, `${location}.${member.name.getText()}`); + } +} + +function inspectClass(node, location) { + requireDocumentation(node, location); + for (const member of node.members) { + if ( + !ts.isConstructorDeclaration(member) && + !ts.isPropertyDeclaration(member) && + !ts.isMethodDeclaration(member) + ) { + continue; + } + const name = ts.isConstructorDeclaration(member) + ? "constructor" + : member.name.getText(); + requireDocumentation(member, `${location}.${name}`); + if (ts.isConstructorDeclaration(member) || ts.isMethodDeclaration(member)) { + inspectParameters(member, `${location}.${name}`); + } + } +} + +function isExported(node) { + return node.modifiers?.some((modifier) => modifier.kind === ts.SyntaxKind.ExportKeyword) === true; +} + +for (const sourcePath of SOURCE_FILES) { + const filePath = fileURLToPath(new URL(sourcePath, import.meta.url)); + const source = ts.createSourceFile( + filePath, + readFileSync(filePath, "utf8"), + ts.ScriptTarget.Latest, + true, + ); + + for (const statement of source.statements) { + if (!isExported(statement) || !statement.name) continue; + const location = `${sourcePath}:${statement.name.getText()}`; + if (ts.isFunctionDeclaration(statement)) { + inspectFunction(statement, location, THROWS_REQUIRED_FILES.has(sourcePath)); + if (sourcePath.endsWith("/elements.ts")) { + const input = statement.parameters.find( + (parameter) => parameter.name.getText() === "input", + ); + if (input?.type?.getText().includes("ActionInput")) { + failures.push( + `${location}(input): use a documented factory-specific input type`, + ); + } + } + } else if (ts.isInterfaceDeclaration(statement)) inspectInterface(statement, location); + else if (ts.isClassDeclaration(statement)) inspectClass(statement, location); + else if (ts.isTypeAliasDeclaration(statement)) { + requireDocumentation(statement, location); + inspectType(statement.type, location); + } + } +} + +if (failures.length > 0) { + console.error(failures.join("\n")); + process.exitCode = 1; +} else { + console.log("TypeScript API documentation covers every public declaration and input."); +} diff --git a/docs/scripts/check_typescript_api_rendering.mjs b/docs/scripts/check_typescript_api_rendering.mjs new file mode 100644 index 00000000..8921f8aa --- /dev/null +++ b/docs/scripts/check_typescript_api_rendering.mjs @@ -0,0 +1,135 @@ +import assert from "node:assert/strict"; +import { readFile, readdir } from "node:fs/promises"; +import { fileURLToPath } from "node:url"; +import path from "node:path"; + +const scriptsDirectory = path.dirname(fileURLToPath(import.meta.url)); +const referenceDirectory = path.resolve( + scriptsDirectory, + "../docs/reference/typescript", +); +const versionedReferenceDirectory = path.resolve( + scriptsDirectory, + "../versioned_docs/version-1.0/reference/typescript/type-aliases", +); +const referenceFiles = (await readdir(referenceDirectory)).filter((file) => + file.endsWith(".md"), +); + +for (const file of referenceFiles) { + const contents = await readFile(path.join(referenceDirectory, file), "utf8"); + assert.doesNotMatch( + contents, + /\\[<>]/, + `${file} contains a backslash-escaped generic delimiter`, + ); +} + +const utilities = await readFile( + path.join(referenceDirectory, "utilities.md"), + "utf8", +); +const elements = await readFile( + path.join(referenceDirectory, "elements.md"), + "utf8", +); +const blocks = await readFile( + path.join(referenceDirectory, "blocks.md"), + "utf8", +); + +function functionSection(contents, name) { + const heading = `## ${name}()`; + const start = contents.indexOf(heading); + assert.notEqual(start, -1, `${heading} is missing from the rendered API`); + const end = contents.indexOf("\n***", start); + return contents.slice(start, end === -1 ? contents.length : end); +} + +const blockFactories = [ + ...blocks.matchAll(/^## ([A-Za-z_$][\w$]*Block)\(\)$/gm), +]; +assert.ok(blockFactories.length > 0, "No block factories were rendered"); + +for (const [, name] of blockFactories) { + const section = functionSection(blocks, name); + assert.match( + section, + /^### Input fields$/m, + `${name} must show its object fields directly`, + ); + assert.doesNotMatch( + section, + /^### Parameters$/m, + `${name} must not group its object fields under a parameter`, + ); + assert.match( + section, + /^### Settings$/m, + `${name} must keep factory settings separate from its input fields`, + ); +} + +const channelMultiSelect = functionSection(elements, "channelMultiSelect"); +assert.match( + channelMultiSelect, + /^### Input fields$/m, + "Named input interfaces must be expanded beside their factories", +); +assert.match( + channelMultiSelect, + /^\| `initialChannels\?` \|/m, + "Expanded input tables must retain named interface fields", +); + +assert.doesNotMatch( + elements, + /\| `input` \| \[`ActionInput`\]/, + "Element factories must not render an opaque ActionInput parameter", +); + +for (const property of [ + "initialChannels", + "initialDateTime", + "minQueryLength", + "minLines", + "maxLines", +]) { + const requiredProperty = "`" + property; + assert.ok( + elements.includes(requiredProperty + "` |") || + elements.includes(requiredProperty + "?` |"), + `${property} is missing from the rendered element input tables`, + ); +} + +for (const name of ["SlackObject", "SlackWire"]) { + const anchor = name.toLowerCase(); + assert.match( + utilities, + new RegExp(`^## ${name}<Type> \\{#${anchor}\\}$`, "m"), + `${name} is missing from the Utilities headings`, + ); + assert.match( + utilities, + new RegExp("^> \\*\\*" + name + "\\*\\*<`Type`>", "m"), + `${name} is not safely escaped in its declaration`, + ); + + const versionedPage = await readFile( + path.join(versionedReferenceDirectory, `${name}.md`), + "utf8", + ); + assert.match( + versionedPage, + new RegExp(`^title: "Type Alias: ${name}"$`, "m"), + `${name} is missing from the versioned page metadata`, + ); + assert.match( + versionedPage, + new RegExp(`^# Type Alias: ${name}<Type>$`, "m"), + `${name} is not safely escaped in the versioned page title`, + ); +} + +console.log("TypeScript API rendering checks passed."); diff --git a/docs/scripts/typedoc-domain-groups.mjs b/docs/scripts/typedoc-domain-groups.mjs index c7f4eee9..6a00dbc9 100644 --- a/docs/scripts/typedoc-domain-groups.mjs +++ b/docs/scripts/typedoc-domain-groups.mjs @@ -1,3 +1,158 @@ +import { MarkdownPageEvent } from "typedoc-plugin-markdown"; + +const DOMAIN_TITLES = { + blocks: "Blocks", + elements: "Elements", + errors: "Errors", + messages: "Messages", + objects: "Composition Objects", + "rich-text": "Rich Text", + utilities: "Utilities", + views: "Views", +}; + +function renderGenericSyntax(contents) { + const escapedContents = contents + .replaceAll("\\<", "<") + .replaceAll("\\>", ">"); + const lines = escapedContents.split("\n"); + + for (let index = 0; index < lines.length - 2; index += 1) { + const heading = lines[index].match(/^## ([A-Za-z_$][\w$]*)$/); + if (!heading || lines[index + 1] !== "") continue; + + const name = heading[1]; + const signature = lines[index + 2].match( + new RegExp(`^> \\*\\*${name}\\*\\*<(.+?)>`), + ); + if (!signature) continue; + + const typeParameters = signature[1].replaceAll("`", ""); + lines[index] = + `## ${name}<${typeParameters}> {#${name.toLowerCase()}}`; + } + + return lines.join("\n"); +} + +function tableAt(lines, start) { + if (!lines[start]?.startsWith("| ")) return undefined; + let end = start; + while (lines[end]?.startsWith("| ")) end += 1; + return { start, end, lines: lines.slice(start, end) }; +} + +function inputTypeFields(contents, typeName) { + const lines = contents.split("\n"); + const sectionStart = lines.findIndex((line) => line === `## ${typeName}`); + if (sectionStart === -1) return []; + + const sectionEnd = lines.findIndex( + (line, index) => index > sectionStart && line === "***", + ); + const propertiesHeading = lines.findIndex( + (line, index) => + index > sectionStart && + (sectionEnd === -1 || index < sectionEnd) && + line === "### Properties", + ); + if (propertiesHeading === -1) return []; + + const table = tableAt(lines, propertiesHeading + 2); + if (!table || table.lines[0] !== "| Property | Type | Description |") { + return []; + } + + return table.lines.slice(2).map((line) => + line.replace(/^\|
    <\/a> /, "| "), + ); +} + +function renderFactoryInputs(contents) { + const lines = contents.split("\n"); + + for (let index = 0; index < lines.length; index += 1) { + if (!/^## [A-Za-z_$][\w$]*\(\)$/.test(lines[index])) continue; + + const sectionEnd = lines.findIndex( + (line, nestedIndex) => nestedIndex > index && line === "***", + ); + const parametersHeading = lines.findIndex( + (line, nestedIndex) => + nestedIndex > index && + (sectionEnd === -1 || nestedIndex < sectionEnd) && + line === "### Parameters", + ); + if (parametersHeading === -1) continue; + + const parameters = tableAt(lines, parametersHeading + 2); + if ( + !parameters || + parameters.lines[0] !== "| Parameter | Type | Description |" + ) { + continue; + } + + const rows = parameters.lines.slice(2); + let fieldRoot; + let inputRow; + let fields = []; + + for (const row of rows) { + const parameter = row.match(/^\| `([A-Za-z_$][\w$]*)` \|/)?.[1]; + if (!parameter || parameter === "settings") continue; + + fields = rows + .filter((line) => line.startsWith(`| \`${parameter}.`)) + .map((line) => line.replace(`| \`${parameter}.`, "| `")); + if (fields.length === 0) { + const typeName = row.match(/\[`([^`]+)`\]\(#[^)]+\)/)?.[1]; + if (typeName) fields = inputTypeFields(contents, typeName); + } + if (fields.length === 0) continue; + + fieldRoot = parameter; + inputRow = row; + break; + } + + if (!fieldRoot || !inputRow) continue; + + const inputDescription = inputRow.match(/ \| ([^|]+) \|$/)?.[1]; + const remainingRows = rows.filter( + (line) => line !== inputRow && !line.startsWith(`| \`${fieldRoot}.`), + ); + const replacement = [ + "### Input fields", + "", + ...(inputDescription ? [inputDescription, ""] : []), + "| Input field | Type | Description |", + "| ------ | ------ | ------ |", + ...fields, + ]; + + if (remainingRows.length > 0) { + replacement.push( + "", + "### Settings", + "", + "| Setting | Type | Description |", + "| ------ | ------ | ------ |", + ...remainingRows, + ); + } + + lines.splice( + parametersHeading, + parameters.end - parametersHeading, + ...replacement, + ); + index += replacement.length - 1; + } + + return lines.join("\n"); +} + /** Flatten TypeDoc's kind-based index groups inside each domain. */ export function load(app) { app.converter.on( @@ -27,4 +182,28 @@ export function load(app) { }, -1000, ); + + app.renderer.on(MarkdownPageEvent.END, (page) => { + page.contents = renderGenericSyntax(page.contents); + page.contents = renderFactoryInputs(page.contents); + + if (page.url !== "index.md") { + page.contents = [ + "---", + "toc_min_heading_level: 2", + "toc_max_heading_level: 2", + "---", + "", + page.contents, + ].join("\n"); + return; + } + + for (const [slug, title] of Object.entries(DOMAIN_TITLES)) { + page.contents = page.contents.replace( + `- [${slug}](${slug}.md)`, + `- [${title}](${slug}.md)`, + ); + } + }); } diff --git a/docs/src/theme/DocSidebar/index.tsx b/docs/src/theme/DocSidebar/index.tsx index d3e4c44f..dfb4b311 100644 --- a/docs/src/theme/DocSidebar/index.tsx +++ b/docs/src/theme/DocSidebar/index.tsx @@ -44,6 +44,15 @@ const TYPESCRIPT_REFERENCE_ORDER = [ "errors", ]; +function typescriptReferencePosition(item: PropSidebarItem): number { + if (item.type === "html") return Number.MAX_SAFE_INTEGER; + const slug = item.href?.match(/\/reference\/typescript\/([^/?#]+)\/?$/)?.[1]; + const position = TYPESCRIPT_REFERENCE_ORDER.indexOf( + slug ?? item.label.toLowerCase(), + ); + return position < 0 ? Number.MAX_SAFE_INTEGER : position; +} + const TYPESCRIPT_API_TYPE_PREFIX = /^(?:Class|Function|Interface|Type Alias|Variable):\s*/; @@ -159,18 +168,11 @@ function filterReference( const languageItems = language === "typescript" - ? mergeTypeScriptDomainIndexes([...languageReference.items]).sort((left, right) => { - const leftPosition = TYPESCRIPT_REFERENCE_ORDER.indexOf( - left.type === "html" ? "" : left.label.toLowerCase(), - ); - const rightPosition = TYPESCRIPT_REFERENCE_ORDER.indexOf( - right.type === "html" ? "" : right.label.toLowerCase(), - ); - return ( - (leftPosition < 0 ? Number.MAX_SAFE_INTEGER : leftPosition) - - (rightPosition < 0 ? Number.MAX_SAFE_INTEGER : rightPosition) - ); - }) + ? mergeTypeScriptDomainIndexes([...languageReference.items]).sort( + (left, right) => + typescriptReferencePosition(left) - + typescriptReferencePosition(right), + ) : languageReference.items; const sharedItems = item.items.filter( diff --git a/docs/versioned_docs/version-1.0/reference/typescript/type-aliases/SlackObject.md b/docs/versioned_docs/version-1.0/reference/typescript/type-aliases/SlackObject.md index 3c407c62..7b585f76 100644 --- a/docs/versioned_docs/version-1.0/reference/typescript/type-aliases/SlackObject.md +++ b/docs/versioned_docs/version-1.0/reference/typescript/type-aliases/SlackObject.md @@ -1,6 +1,10 @@ -# Type Alias: SlackObject\ +--- +title: "Type Alias: SlackObject" +--- -> **SlackObject**\<`Type`\> = [`JsonObject`](../interfaces/JsonObject.md) & `object` +# Type Alias: SlackObject<Type> + +> **SlackObject**<`Type`> = [`JsonObject`](../interfaces/JsonObject.md) & `object` Defined in: typescript/src/types.ts:16 diff --git a/docs/versioned_docs/version-1.0/reference/typescript/type-aliases/SlackWire.md b/docs/versioned_docs/version-1.0/reference/typescript/type-aliases/SlackWire.md index c7672402..733dc8d0 100644 --- a/docs/versioned_docs/version-1.0/reference/typescript/type-aliases/SlackWire.md +++ b/docs/versioned_docs/version-1.0/reference/typescript/type-aliases/SlackWire.md @@ -1,6 +1,10 @@ -# Type Alias: SlackWire\ +--- +title: "Type Alias: SlackWire" +--- -> **SlackWire**\<`Type`\> = `Type` & [`JsonObject`](../interfaces/JsonObject.md) +# Type Alias: SlackWire<Type> + +> **SlackWire**<`Type`> = `Type` & [`JsonObject`](../interfaces/JsonObject.md) Defined in: typescript/src/types.ts:17 diff --git a/typescript/src/blocks.ts b/typescript/src/blocks.ts index 665b56a1..2ebb8851 100644 --- a/typescript/src/blocks.ts +++ b/typescript/src/blocks.ts @@ -1,3 +1,11 @@ +/** + * Block factories for messages, modals, and App Home tabs. + * + * Every factory accepts camelCase input, returns Slack's snake_case wire shape, + * and validates the result unless `settings.validate` is `false`. + * + * @module blocks + */ import type { ActionsBlock, ContextBlock, @@ -18,12 +26,32 @@ import { asText, type TextLike } from "./objects.js"; import type { FactorySettings, JsonObject, SlackWire } from "./types.js"; import type { SlackObject } from "./types.js"; +/** Severity shown by an alert block. */ export type AlertLevel = "default" | "info" | "warning" | "error" | "success"; + +/** Horizontal width used by a container block. */ export type ContainerWidth = "narrow" | "standard" | "wide" | "full"; + +/** Lifecycle state shown by a task card. */ export type TaskStatus = "pending" | "in_progress" | "complete" | "error"; +/** + * Creates a severity-labelled notice for a modal. + * + * @param input - Alert content, severity, and optional block identifier. + * @param settings - Per-call validation settings. + * @returns A validated Slack `alert` block. + * @throws InvalidUsageError when a field violates Slack's constraints. + */ export function alertBlock( - input: { text: TextLike; level?: AlertLevel; blockId?: string }, + input: { + /** Alert copy. Strings are converted to mrkdwn text. */ + text: TextLike; + /** Visual severity. Defaults to `default`. */ + level?: AlertLevel; + /** Deterministic identifier, up to 255 characters. */ + blockId?: string; + }, settings: FactorySettings = {}, ): SlackObject<"alert"> { return create( @@ -33,18 +61,36 @@ export function alertBlock( ); } +/** Fields accepted by {@link cardBlock}. */ export interface CardBlockInput { + /** Large image displayed above the card content. */ heroImage?: JsonObject; + /** Small image displayed beside the card heading. */ icon?: JsonObject; + /** Primary heading, up to 150 characters. */ title?: TextLike; + /** Secondary heading, up to 150 characters. */ subtitle?: TextLike; + /** Main card copy, up to 200 characters. */ body?: TextLike; + /** Up to three button actions. */ actions?: JsonObject[]; + /** Slack-hosted icon created with `slackIcon`. */ slackIcon?: JsonObject; + /** Supporting copy displayed below the body. */ subtext?: TextLike; + /** Deterministic identifier, up to 255 characters. */ blockId?: string; } +/** + * Creates a compact content card with text, imagery, and optional actions. + * + * @param input - Card fields. At least one visible content field must be supplied. + * @param settings - Per-call validation settings. + * @returns A validated Slack `card` block. + * @throws InvalidUsageError when content is missing or exceeds Slack's limits. + */ export function cardBlock( input: CardBlockInput, settings: FactorySettings = {}, @@ -64,24 +110,55 @@ export function cardBlock( ); } +/** + * Creates a horizontally scrolling collection of cards. + * + * @param input - One to ten card blocks and an optional block identifier. + * @param settings - Per-call validation settings. + * @returns A validated Slack `carousel` block. + * @throws InvalidUsageError when the card count is outside Slack's limits. + */ export function carouselBlock( - input: { elements: JsonObject[]; blockId?: string }, + input: { + /** Between one and ten objects returned by `cardBlock`. */ + elements: JsonObject[]; + /** Deterministic identifier, up to 255 characters. */ + blockId?: string; + }, settings: FactorySettings = {}, ): SlackObject<"carousel"> { return create("carousel", input, settings); } +/** + * Creates a titled container that groups related child blocks. + * + * @param input - Child blocks plus optional heading, width, icon, and collapse behavior. + * @param settings - Per-call validation settings. + * @returns A validated Slack `container` block. + * @throws InvalidUsageError when child content or collapse options are invalid. + */ export function containerBlock( input: { + /** Up to ten blocks supported by Slack containers. */ childBlocks: JsonObject[]; + /** Plain-text title. Mutually exclusive with `richTextTitle`. */ title?: TextLike; + /** Rich-text title block. Mutually exclusive with `title`. */ richTextTitle?: JsonObject; + /** Optional supporting copy below the title. */ subtitle?: TextLike; + /** Container width. Defaults to `standard`. */ width?: ContainerWidth; + /** Optional image displayed in the header. */ icon?: JsonObject; + /** Whether readers can expand and collapse the container. */ isCollapsible?: boolean; + /** Whether a collapsible container starts collapsed. */ defaultCollapsed?: boolean; + /** Whether Slack draws a divider below the header. */ hasHeaderDivider?: boolean; + /** Deterministic identifier, up to 255 characters. */ blockId?: string; }, settings: FactorySettings = {}, @@ -98,19 +175,45 @@ export function containerBlock( ); } +/** + * Creates contextual feedback or icon controls. + * + * @param input - Up to five feedback-buttons or icon-button elements. + * @param settings - Per-call validation settings. + * @returns A validated Slack `context_actions` block. + * @throws InvalidUsageError when an element is unsupported or the limit is exceeded. + */ export function contextActionsBlock( - input: { elements: JsonObject[]; blockId?: string }, + input: { + /** Feedback-buttons or icon-button elements. */ + elements: JsonObject[]; + /** Deterministic identifier, up to 255 characters. */ + blockId?: string; + }, settings: FactorySettings = {}, ): SlackObject<"context_actions"> { return create("context_actions", input, settings); } +/** + * Creates a sortable data table. + * + * @param input - Caption, rows, pagination size, and row-header configuration. + * @param settings - Per-call validation settings. + * @returns A validated Slack `data_table` block. + * @throws InvalidUsageError when row dimensions, cells, or pagination are invalid. + */ export function dataTableBlock( input: { + /** Two to 201 equally sized rows containing raw text, raw numbers, or rich text. */ rows: JsonObject[][]; + /** Accessible table caption. */ caption: string; + /** Rows per page, between 1 and 100. Defaults to 5. */ pageSize?: number; + /** Zero-based column used as the row header. Defaults to 0. */ rowHeaderColumnIndex?: number; + /** Deterministic identifier, up to 255 characters. */ blockId?: string; }, settings: FactorySettings = {}, @@ -118,21 +221,51 @@ export function dataTableBlock( return create("data_table", { pageSize: 5, rowHeaderColumnIndex: 0, ...input }, settings); } +/** + * Creates a chart rendered by Slack. + * + * @param input - Chart title, chart object, and optional block identifier. + * @param settings - Per-call validation settings. + * @returns A validated Slack `data_visualization` block. + * @throws InvalidUsageError when chart data or labels violate Slack's limits. + */ export function dataVisualizationBlock( - input: { title: string; chart: JsonObject; blockId?: string }, + input: { + /** Chart heading, up to 50 characters. */ + title: string; + /** Object returned by `pieChart`, `barChart`, `areaChart`, or `lineChart`. */ + chart: JsonObject; + /** Deterministic identifier, up to 255 characters. */ + blockId?: string; + }, settings: FactorySettings = {}, ): SlackObject<"data_visualization"> { return create("data_visualization", input, settings); } +/** + * Creates one task card for a plan. + * + * @param input - Task identity, title, rich content, sources, and optional status. + * @param settings - Per-call validation settings. + * @returns A validated Slack `task_card` block. + * @throws InvalidUsageError when identifiers, content, or source links are invalid. + */ export function taskCardBlock( input: { + /** Stable task identifier. */ taskId: string; + /** Human-readable task title. */ title: string; + /** Optional rich-text task details. */ details?: JsonObject; + /** Optional rich-text task output. */ output?: JsonObject; + /** Optional source links created with `urlSource`. */ sources?: JsonObject[]; + /** Current task lifecycle state. */ status?: TaskStatus; + /** Deterministic identifier, up to 255 characters. */ blockId?: string; }, settings: FactorySettings = {}, @@ -140,8 +273,23 @@ export function taskCardBlock( return create("task_card", input, settings); } +/** + * Creates a titled sequence of task cards. + * + * @param input - Plan title, tasks, and optional block identifier. + * @param settings - Per-call validation settings. + * @returns A validated Slack `plan` block. + * @throws InvalidUsageError when task content violates Slack's constraints. + */ export function planBlock( - input: { title: string; tasks?: JsonObject[]; blockId?: string }, + input: { + /** Human-readable plan title. */ + title: string; + /** Task-card blocks. Their outer `type` and `block_id` fields are omitted in the plan. */ + tasks?: JsonObject[]; + /** Deterministic identifier, up to 255 characters. */ + blockId?: string; + }, settings: FactorySettings = {}, ): SlackObject<"plan"> { return create( @@ -154,13 +302,26 @@ export function planBlock( ); } +/** Fields accepted by {@link sectionBlock}. */ export interface SectionBlockInput { + /** Main copy. Strings are converted to mrkdwn text. */ text?: TextLike; + /** Deterministic identifier, up to 255 characters. */ blockId?: string; + /** Up to ten text fields displayed in columns. */ fields?: TextLike[]; + /** Optional interactive or visual element displayed beside the text. */ accessory?: JsonObject; } +/** + * Creates a flexible text block with optional fields or an accessory. + * + * @param input - Section text, fields, accessory, and optional block identifier. + * @param settings - Per-call validation settings. + * @returns A validated Slack `section` block. + * @throws InvalidUsageError when text is missing or a field exceeds Slack's limits. + */ export function sectionBlock( input: SectionBlockInput, settings: FactorySettings = {}, @@ -176,36 +337,101 @@ export function sectionBlock( ) as SlackWire; } +/** + * Creates a row of interactive elements. + * + * @param input - Up to 25 buttons, select menus, or other action elements. + * @param settings - Per-call validation settings. + * @returns A validated Slack `actions` block. + * @throws InvalidUsageError when an element is unsupported or the limit is exceeded. + */ export function actionsBlock( - input: { elements: JsonObject[]; blockId?: string }, + input: { + /** Interactive elements displayed in the row. */ + elements: JsonObject[]; + /** Deterministic identifier, up to 255 characters. */ + blockId?: string; + }, settings: FactorySettings = {}, ): SlackWire { return create("actions", input, settings) as SlackWire; } +/** + * Creates compact contextual text and images. + * + * @param input - Up to ten text objects or image elements. + * @param settings - Per-call validation settings. + * @returns A validated Slack `context` block. + * @throws InvalidUsageError when an element is unsupported or the limit is exceeded. + */ export function contextBlock( - input: { elements: JsonObject[]; blockId?: string }, + input: { + /** Text objects and image elements. */ + elements: JsonObject[]; + /** Deterministic identifier, up to 255 characters. */ + blockId?: string; + }, settings: FactorySettings = {}, ): SlackWire { return create("context", input, settings) as SlackWire; } +/** + * Creates a visual divider between blocks. + * + * @param input - Optional deterministic block identifier. + * @param settings - Per-call validation settings. + * @returns A validated Slack `divider` block. + * @throws InvalidUsageError when the block identifier is too long. + */ export function dividerBlock( - input: { blockId?: string } = {}, + input: { + /** Deterministic identifier, up to 255 characters. */ + blockId?: string; + } = {}, settings: FactorySettings = {}, ): SlackWire { return create("divider", input, settings) as SlackWire; } +/** + * Creates a block that displays a Slack remote file. + * + * @param input - Remote-file identifier, source, and optional block identifier. + * @param settings - Per-call validation settings. + * @returns A validated Slack `file` block. + * @throws InvalidUsageError when required file data is missing. + */ export function fileBlock( - input: { externalId: string; source?: "remote"; blockId?: string }, + input: { + /** Identifier assigned when the remote file was added to Slack. */ + externalId: string; + /** Remote-file source. Slack currently accepts only `remote`. */ + source?: "remote"; + /** Deterministic identifier, up to 255 characters. */ + blockId?: string; + }, settings: FactorySettings = {}, ): SlackWire { return create("file", { source: "remote", ...input }, settings) as SlackWire; } +/** + * Creates a prominent plain-text heading. + * + * @param input - Heading text and optional block identifier. + * @param settings - Per-call validation settings. + * @returns A validated Slack `header` block. + * @throws InvalidUsageError when the heading exceeds Slack's limit. + */ export function headerBlock( - input: { text: TextLike; blockId?: string }, + input: { + /** Heading copy. Strings are converted to plain text. */ + text: TextLike; + /** Deterministic identifier, up to 255 characters. */ + blockId?: string; + }, settings: FactorySettings = {}, ): SlackWire { return create( @@ -215,8 +441,25 @@ export function headerBlock( ) as SlackWire; } +/** + * Creates an image block with optional title text. + * + * @param input - Image URL, accessible alternative, title, and optional block identifier. + * @param settings - Per-call validation settings. + * @returns A validated Slack `image` block. + * @throws InvalidUsageError when text or URL fields violate Slack's constraints. + */ export function imageBlock( - input: { imageUrl: string; altText?: string; title?: TextLike; blockId?: string }, + input: { + /** Public URL of the image. */ + imageUrl: string; + /** Accessible description of the image. */ + altText?: string; + /** Optional plain-text title. */ + title?: TextLike; + /** Deterministic identifier, up to 255 characters. */ + blockId?: string; + }, settings: FactorySettings = {}, ): SlackWire { return create( @@ -229,13 +472,27 @@ export function imageBlock( ) as SlackWire; } +/** + * Creates a labelled form control for a modal or App Home tab. + * + * @param value - Label, input-compatible element, and optional form behavior. + * @param settings - Per-call validation settings. + * @returns A validated Slack `input` block. + * @throws InvalidUsageError when the element is unsupported or text exceeds Slack's limits. + */ export function inputBlock( value: { + /** Plain-text label displayed above the control. */ label: TextLike; + /** Input-compatible element such as a text input, picker, or select menu. */ element: JsonObject; + /** Whether changes dispatch an interaction immediately. */ dispatchAction?: boolean; + /** Deterministic identifier, up to 255 characters. */ blockId?: string; + /** Optional plain-text help shown below the control. */ hint?: TextLike; + /** Whether the user may submit without completing this input. */ optional?: boolean; }, settings: FactorySettings = {}, @@ -251,38 +508,100 @@ export function inputBlock( ) as SlackWire; } +/** + * Creates a block rendered from GitHub-flavored Markdown. + * + * @param input - Markdown source and optional block identifier. + * @param settings - Per-call validation settings. + * @returns A validated Slack `markdown` block. + * @throws InvalidUsageError when the Markdown source violates Slack's limits. + */ export function markdownBlock( - input: { text: string; blockId?: string }, + input: { + /** GitHub-flavored Markdown source. */ + text: string; + /** Deterministic identifier, up to 255 characters. */ + blockId?: string; + }, settings: FactorySettings = {}, ): SlackWire { return create("markdown", input, settings) as SlackWire; } +/** + * Creates a rich-text block from rich-text layout objects. + * + * @param input - Rich-text sections, lists, quotes, or code blocks. + * @param settings - Per-call validation settings. + * @returns A validated Slack `rich_text` block. + * @throws InvalidUsageError when an element is not a supported rich-text object. + */ export function richTextBlock( - input: { elements: JsonObject[]; blockId?: string }, + input: { + /** Rich-text layout objects. */ + elements: JsonObject[]; + /** Deterministic identifier, up to 255 characters. */ + blockId?: string; + }, settings: FactorySettings = {}, ): SlackWire { return create("rich_text", input, settings) as SlackWire; } +/** + * Creates a table block from raw-text or rich-text cells. + * + * @param input - Rows, optional column display settings, and optional block identifier. + * @param settings - Per-call validation settings. + * @returns A validated Slack `table` block. + * @throws InvalidUsageError when dimensions, cells, or column settings are invalid. + */ export function tableBlock( - input: { rows: JsonObject[][]; columnSettings?: JsonObject[]; blockId?: string }, + input: { + /** Up to 100 equally sized rows of raw-text or rich-text cells. */ + rows: JsonObject[][]; + /** Optional display settings for each column. */ + columnSettings?: JsonObject[]; + /** Deterministic identifier, up to 255 characters. */ + blockId?: string; + }, settings: FactorySettings = {}, ): SlackWire { return create("table", input, settings) as SlackWire; } +/** + * Creates an embedded video block. + * + * Slack, rather than this library, enforces its provider allowlist when the + * payload is submitted. + * + * @param input - Video URL, thumbnail, accessible text, title, and optional metadata. + * @param settings - Per-call validation settings. + * @returns A validated Slack `video` block. + * @throws InvalidUsageError when a text field violates Slack's constraints. + */ export function videoBlock( input: { + /** Accessible summary, up to 200 characters. */ altText: string; + /** Public preview-image URL. */ thumbnailUrl: string; + /** Plain-text video title, up to 200 characters. */ title: TextLike; + /** URL of a video hosted by a Slack-supported provider. */ videoUrl: string; + /** Deterministic identifier, up to 255 characters. */ blockId?: string; + /** Optional author name, up to 50 characters. */ authorName?: string; + /** Optional plain-text description, up to 200 characters. */ description?: TextLike; + /** Optional provider icon URL. */ providerIconUrl?: string; + /** Optional provider name, up to 50 characters. */ providerName?: string; + /** Optional destination when the title is selected. */ titleUrl?: string; }, settings: FactorySettings = {}, diff --git a/typescript/src/builder.ts b/typescript/src/builder.ts index 1e83b0f6..de1b1bf8 100644 --- a/typescript/src/builder.ts +++ b/typescript/src/builder.ts @@ -2,6 +2,13 @@ import type { JsonObject } from "./types.js"; const BUILDER_URL = "https://app.slack.com/block-kit-builder/"; +/** + * Builds a Block Kit Builder URL containing a serialized payload. + * + * @param payload - A complete payload or a list of blocks. + * @param teamId - Optional workspace ID used in the Builder URL. + * @returns A URL that opens the payload in Slack's Block Kit Builder. + */ export function blockKitBuilderUrl( payload: JsonObject | JsonObject[], teamId?: string, diff --git a/typescript/src/elements.ts b/typescript/src/elements.ts index 76a54420..79edb53c 100644 --- a/typescript/src/elements.ts +++ b/typescript/src/elements.ts @@ -1,14 +1,364 @@ +/** + * Interactive and visual element factories used inside Block Kit blocks. + * + * Factories accept camelCase input and return validated Slack wire objects. + * + * @module elements + */ import { LengthError, RangeError, TypeMismatchError } from "./errors.js"; import { create, createObject } from "./internal.js"; import { asText, type TextLike } from "./objects.js"; import type { FactorySettings, JsonObject, SlackObject } from "./types.js"; +/** Additional Slack element fields accepted by generic element factories. */ export type ElementInput = Record; +/** Common input for interactive elements that dispatch an action. */ export interface ActionInput extends ElementInput { + /** Identifier returned to the app when the user interacts with the element. */ actionId: string; } +/** Fields accepted by {@link checkboxes}. */ +export interface CheckboxesInput extends ElementInput { + /** Identifier returned when the checkbox selection changes, up to 255 characters. */ + actionId: string; + /** Up to ten option objects displayed as checkboxes. */ + options: JsonObject[]; + /** Options from `options` that are selected when the element first loads. */ + initialOptions?: JsonObject[]; + /** Optional confirmation dialog shown before the changed selection is submitted. */ + confirm?: JsonObject; + /** Whether this element receives focus when its containing view opens. */ + focusOnLoad?: boolean; +} + +/** Fields accepted by {@link datePicker}. */ +export interface DatePickerInput extends ElementInput { + /** Identifier returned when a date is selected, up to 255 characters. */ + actionId: string; + /** Initially selected date in `YYYY-MM-DD` format. */ + initialDate?: string; + /** Optional confirmation dialog shown after a date is selected. */ + confirm?: JsonObject; + /** Whether this element receives focus when its containing view opens. */ + focusOnLoad?: boolean; + /** Plain-text prompt shown before a date is selected, up to 150 characters. */ + placeholder?: TextLike; +} + +/** Fields accepted by {@link dateTimePicker}. */ +export interface DateTimePickerInput extends ElementInput { + /** Identifier returned when a date and time are selected, up to 255 characters. */ + actionId: string; + /** Initially selected date and time as a Unix timestamp in seconds. */ + initialDateTime?: number; + /** Optional confirmation dialog shown after a date and time are selected. */ + confirm?: JsonObject; + /** Whether this element receives focus when its containing view opens. */ + focusOnLoad?: boolean; +} + +/** Fields accepted by {@link emailInput}. */ +export interface EmailElementInput extends ElementInput { + /** Identifier used to find the submitted email value, up to 255 characters. */ + actionId: string; + /** Email address present when the input first loads. */ + initialValue?: string; + /** Configuration controlling when typing dispatches a `block_actions` payload. */ + dispatchActionConfig?: JsonObject; + /** Whether this element receives focus when its containing view opens. */ + focusOnLoad?: boolean; + /** Plain-text prompt shown in the empty input, up to 150 characters. */ + placeholder?: TextLike; +} + +/** Fields accepted by {@link channelMultiSelect}. */ +export interface ChannelMultiSelectInput extends ElementInput { + /** Identifier returned when the selection changes, up to 255 characters. */ + actionId: string; + /** Public channel IDs selected when the menu first loads. */ + initialChannels?: string[]; + /** Optional confirmation dialog shown before the selection is submitted. */ + confirm?: JsonObject; + /** Maximum number of channels that may be selected; the minimum is one. */ + maxSelectedItems?: number; + /** Whether this element receives focus when its containing view opens. */ + focusOnLoad?: boolean; + /** Plain-text prompt shown before a selection, up to 150 characters. */ + placeholder?: TextLike; +} + +/** Fields accepted by {@link conversationMultiSelect}. */ +export interface ConversationMultiSelectInput extends ElementInput { + /** Identifier returned when the selection changes, up to 255 characters. */ + actionId: string; + /** Conversation IDs selected when the menu first loads. */ + initialConversations?: string[]; + /** Select the conversation from which the view was opened by default. */ + defaultToCurrentConversation?: boolean; + /** Filter controlling which public channels, private channels, DMs, and group DMs appear. */ + filter?: JsonObject; + /** Optional confirmation dialog shown before the selection is submitted. */ + confirm?: JsonObject; + /** Maximum number of conversations that may be selected; the minimum is one. */ + maxSelectedItems?: number; + /** Whether this element receives focus when its containing view opens. */ + focusOnLoad?: boolean; + /** Plain-text prompt shown before a selection, up to 150 characters. */ + placeholder?: TextLike; +} + +/** Fields accepted by {@link externalMultiSelect}. */ +export interface ExternalMultiSelectInput extends ElementInput { + /** Identifier returned when the selection changes, up to 255 characters. */ + actionId: string; + /** Minimum typed characters before Slack requests options; defaults to three. */ + minQueryLength?: number; + /** Options selected when the menu first loads. */ + initialOptions?: JsonObject[]; + /** Optional confirmation dialog shown before the selection is submitted. */ + confirm?: JsonObject; + /** Maximum number of options that may be selected; the minimum is one. */ + maxSelectedItems?: number; + /** Whether this element receives focus when its containing view opens. */ + focusOnLoad?: boolean; + /** Plain-text prompt shown before a selection, up to 150 characters. */ + placeholder?: TextLike; +} + +/** Fields accepted by {@link staticMultiSelect}. */ +export interface StaticMultiSelectInput extends ElementInput { + /** Identifier returned when the selection changes, up to 255 characters. */ + actionId: string; + /** Up to 100 directly supplied options; mutually exclusive with `optionGroups`. */ + options?: JsonObject[]; + /** Up to 100 groups of options; mutually exclusive with `options`. */ + optionGroups?: JsonObject[]; + /** Options selected when the menu first loads. */ + initialOptions?: JsonObject[]; + /** Optional confirmation dialog shown before the selection is submitted. */ + confirm?: JsonObject; + /** Maximum number of options that may be selected; the minimum is one. */ + maxSelectedItems?: number; + /** Whether this element receives focus when its containing view opens. */ + focusOnLoad?: boolean; + /** Plain-text prompt shown before a selection, up to 150 characters. */ + placeholder?: TextLike; +} + +/** Fields accepted by {@link userMultiSelect}. */ +export interface UserMultiSelectInput extends ElementInput { + /** Identifier returned when the selection changes, up to 255 characters. */ + actionId: string; + /** User IDs selected when the menu first loads. */ + initialUsers?: string[]; + /** Optional confirmation dialog shown before the selection is submitted. */ + confirm?: JsonObject; + /** Maximum number of users that may be selected; the minimum is one. */ + maxSelectedItems?: number; + /** Whether this element receives focus when its containing view opens. */ + focusOnLoad?: boolean; + /** Plain-text prompt shown before a selection, up to 150 characters. */ + placeholder?: TextLike; +} + +/** Fields accepted by {@link numberInput}. */ +export interface NumberElementInput extends ElementInput { + /** Identifier used to find the submitted numeric value, up to 255 characters. */ + actionId: string; + /** Whether the input accepts decimal values as well as whole numbers. */ + isDecimalAllowed?: boolean; + /** Numeric text present when the input first loads. */ + initialValue?: string; + /** Minimum accepted value; it cannot exceed `maxValue`. */ + minValue?: number; + /** Maximum accepted value; it cannot be less than `minValue`. */ + maxValue?: number; + /** Configuration controlling when typing dispatches a `block_actions` payload. */ + dispatchActionConfig?: JsonObject; + /** Whether this element receives focus when its containing view opens. */ + focusOnLoad?: boolean; + /** Plain-text prompt shown in the empty input, up to 150 characters. */ + placeholder?: TextLike; +} + +/** Fields accepted by {@link overflow}. */ +export interface OverflowInput extends ElementInput { + /** Identifier returned when an option is selected, up to 255 characters. */ + actionId: string; + /** Between two and five option objects displayed in the compact menu. */ + options: JsonObject[]; + /** Optional confirmation dialog shown after an option is selected. */ + confirm?: JsonObject; +} + +/** Fields accepted by {@link plainTextInput}. */ +export interface PlainTextElementInput extends ElementInput { + /** Identifier used to find the submitted text value, up to 255 characters. */ + actionId: string; + /** Text present when the input first loads. */ + initialValue?: string; + /** Whether the input is a multi-line textarea instead of a single line. */ + multiline?: boolean; + /** Minimum number of characters the user must enter, between 0 and 3000. */ + minLength?: number; + /** Maximum number of characters the user may enter, between 1 and 3000. */ + maxLength?: number; + /** Configuration controlling when typing dispatches a `block_actions` payload. */ + dispatchActionConfig?: JsonObject; + /** Whether this element receives focus when its containing view opens. */ + focusOnLoad?: boolean; + /** Plain-text prompt shown in the empty input, up to 150 characters. */ + placeholder?: TextLike; +} + +/** Fields accepted by {@link radioButtons}. */ +export interface RadioButtonsInput extends ElementInput { + /** Identifier returned when the selection changes, up to 255 characters. */ + actionId: string; + /** Up to ten options displayed as radio buttons. */ + options: JsonObject[]; + /** Option from `options` selected when the element first loads. */ + initialOption?: JsonObject; + /** Optional confirmation dialog shown before the selection is submitted. */ + confirm?: JsonObject; + /** Whether this element receives focus when its containing view opens. */ + focusOnLoad?: boolean; +} + +/** Fields accepted by {@link channelSelect}. */ +export interface ChannelSelectInput extends ElementInput { + /** Identifier returned when a channel is selected, up to 255 characters. */ + actionId: string; + /** Public channel ID selected when the menu first loads. */ + initialChannel?: string; + /** Include a `response_url` in a parent modal's submission payload. */ + responseUrlEnabled?: boolean; + /** Optional confirmation dialog shown before the selection is submitted. */ + confirm?: JsonObject; + /** Whether this element receives focus when its containing view opens. */ + focusOnLoad?: boolean; + /** Plain-text prompt shown before a selection, up to 150 characters. */ + placeholder?: TextLike; +} + +/** Fields accepted by {@link conversationSelect}. */ +export interface ConversationSelectInput extends ElementInput { + /** Identifier returned when a conversation is selected, up to 255 characters. */ + actionId: string; + /** Conversation ID selected when the menu first loads. */ + initialConversation?: string; + /** Select the conversation from which the view was opened by default. */ + defaultToCurrentConversation?: boolean; + /** Filter controlling which public channels, private channels, DMs, and group DMs appear. */ + filter?: JsonObject; + /** Include a `response_url` in a parent modal's submission payload. */ + responseUrlEnabled?: boolean; + /** Optional confirmation dialog shown before the selection is submitted. */ + confirm?: JsonObject; + /** Whether this element receives focus when its containing view opens. */ + focusOnLoad?: boolean; + /** Plain-text prompt shown before a selection, up to 150 characters. */ + placeholder?: TextLike; +} + +/** Fields accepted by {@link externalSelect}. */ +export interface ExternalSelectInput extends ElementInput { + /** Identifier returned when an option is selected, up to 255 characters. */ + actionId: string; + /** Minimum typed characters before Slack requests options; defaults to three. */ + minQueryLength?: number; + /** Option selected when the menu first loads. */ + initialOption?: JsonObject; + /** Optional confirmation dialog shown before the selection is submitted. */ + confirm?: JsonObject; + /** Whether this element receives focus when its containing view opens. */ + focusOnLoad?: boolean; + /** Plain-text prompt shown before a selection, up to 150 characters. */ + placeholder?: TextLike; +} + +/** Fields accepted by {@link staticSelect}. */ +export interface StaticSelectInput extends ElementInput { + /** Identifier returned when an option is selected, up to 255 characters. */ + actionId: string; + /** Up to 100 directly supplied options; mutually exclusive with `optionGroups`. */ + options?: JsonObject[]; + /** Up to 100 groups of options; mutually exclusive with `options`. */ + optionGroups?: JsonObject[]; + /** Option selected when the menu first loads. */ + initialOption?: JsonObject; + /** Optional confirmation dialog shown before the selection is submitted. */ + confirm?: JsonObject; + /** Whether this element receives focus when its containing view opens. */ + focusOnLoad?: boolean; + /** Plain-text prompt shown before a selection, up to 150 characters. */ + placeholder?: TextLike; +} + +/** Fields accepted by {@link userSelect}. */ +export interface UserSelectInput extends ElementInput { + /** Identifier returned when a user is selected, up to 255 characters. */ + actionId: string; + /** User ID selected when the menu first loads. */ + initialUser?: string; + /** Optional confirmation dialog shown before the selection is submitted. */ + confirm?: JsonObject; + /** Whether this element receives focus when its containing view opens. */ + focusOnLoad?: boolean; + /** Plain-text prompt shown before a selection, up to 150 characters. */ + placeholder?: TextLike; +} + +/** Fields accepted by {@link timePicker}. */ +export interface TimePickerInput extends ElementInput { + /** Identifier returned when a time is selected, up to 255 characters. */ + actionId: string; + /** Initially selected time in 24-hour `HH:mm` format. */ + initialTime?: string; + /** IANA timezone displayed as supporting text and returned with interactions. */ + timezone?: string; + /** Optional confirmation dialog shown after a time is selected. */ + confirm?: JsonObject; + /** Whether this element receives focus when its containing view opens. */ + focusOnLoad?: boolean; + /** Plain-text prompt shown before a time is selected, up to 150 characters. */ + placeholder?: TextLike; +} + +/** Fields accepted by {@link urlInput}. */ +export interface UrlElementInput extends ElementInput { + /** Identifier used to find the submitted URL, up to 255 characters. */ + actionId: string; + /** URL present when the input first loads. */ + initialValue?: string; + /** Configuration controlling when typing dispatches a `block_actions` payload. */ + dispatchActionConfig?: JsonObject; + /** Whether this element receives focus when its containing view opens. */ + focusOnLoad?: boolean; + /** Plain-text prompt shown in the empty input, up to 150 characters. */ + placeholder?: TextLike; +} + +/** Fields accepted by {@link richTextInput}. */ +export interface RichTextElementInput extends ElementInput { + /** Identifier used to find the submitted rich-text value, up to 255 characters. */ + actionId: string; + /** Rich-text content present when the editor first loads. */ + initialValue?: JsonObject; + /** Configuration controlling when editing dispatches a `block_actions` payload. */ + dispatchActionConfig?: JsonObject; + /** Whether this element receives focus when its containing view opens. */ + focusOnLoad?: boolean; + /** Plain-text prompt shown in the empty editor, up to 150 characters. */ + placeholder?: TextLike; + /** Minimum visible editor lines before scrolling, between 1 and 100. */ + minLines?: number; + /** Maximum visible editor lines before scrolling, between 1 and 100. */ + maxLines?: number; +} + function withPlaceholder(input: ElementInput, settings: FactorySettings): ElementInput { if (typeof input.placeholder !== "string") return input; return { ...input, placeholder: asText(input.placeholder, "plain_text", settings) }; @@ -22,24 +372,67 @@ function element( return create(type, withPlaceholder(input, settings), settings); } +/** Fields accepted by {@link button}. */ export interface ButtonInput extends ElementInput { + /** Plain-text label displayed on the button. */ text: TextLike; + /** Identifier returned when the button is selected. */ actionId: string; + /** Optional URL opened by the button. */ url?: string; + /** Optional application-defined value returned with the interaction. */ value?: string; + /** Optional visual emphasis. */ style?: "primary" | "danger"; + /** Optional confirmation dialog created with `confirmation`. */ confirm?: JsonObject; + /** Accessible label when the visible text is insufficient. */ accessibilityLabel?: string; } +/** Fields accepted by {@link workflowButton}. */ export interface WorkflowButtonInput extends ElementInput { + /** Plain-text label displayed on the button. */ text: TextLike; + /** Workflow object created with `workflow`. */ workflow: JsonObject; + /** Optional interaction identifier. */ actionId?: string; + /** Optional confirmation dialog. */ confirm?: JsonObject; + /** Optional visual emphasis. */ + style?: "primary" | "danger"; + /** Accessible label when the visible text is insufficient. */ accessibilityLabel?: string; } +/** URL-backed or Slack-file-backed image fields accepted by {@link imageElement}. */ +export type ImageElementInput = + | { + /** Accessible plain-text summary of the image. */ + altText: string; + /** Public image URL, up to 3,000 characters. */ + imageUrl: string; + /** A Slack file cannot be combined with `imageUrl`. */ + slackFile?: never; + } + | { + /** Accessible plain-text summary of the image. */ + altText: string; + /** An image URL cannot be combined with `slackFile`. */ + imageUrl?: never; + /** Slack-hosted file reference created with `slackFile`. */ + slackFile: JsonObject; + }; + +/** + * Creates an interactive button. + * + * @param input - Button label, action identifier, and optional behavior. + * @param settings - Per-call validation settings. + * @returns A validated Slack `button` element. + * @throws InvalidUsageError when a field violates Slack's constraints. + */ export function button( input: ButtonInput, settings: FactorySettings = {}, @@ -51,12 +444,24 @@ export function button( ); } +/** Fields accepted by {@link feedbackButton}. */ export interface FeedbackButtonInput { + /** Plain-text feedback choice. */ text: TextLike; + /** Application-defined value returned with the feedback. */ value: string; + /** Accessible label when the visible text is insufficient. */ accessibilityLabel?: string; } +/** + * Creates one choice used by a feedback-buttons element. + * + * @param input - Choice text, returned value, and optional accessible label. + * @param settings - Per-call validation settings. + * @returns A validated feedback-button object. + * @throws InvalidUsageError when a field exceeds Slack's limits. + */ export function feedbackButton( input: FeedbackButtonInput, settings: FactorySettings = {}, @@ -67,10 +472,21 @@ export function feedbackButton( ); } +/** + * Creates a paired positive/negative feedback control. + * + * @param input - Positive and negative feedback buttons plus an optional action identifier. + * @param settings - Per-call validation settings. + * @returns A validated Slack `feedback_buttons` element. + * @throws InvalidUsageError when either feedback choice is invalid. + */ export function feedbackButtons( input: { + /** Positive choice created with `feedbackButton`. */ positiveButton: JsonObject; + /** Negative choice created with `feedbackButton`. */ negativeButton: JsonObject; + /** Optional identifier returned with the interaction. */ actionId?: string; }, settings: FactorySettings = {}, @@ -78,14 +494,29 @@ export function feedbackButtons( return element("feedback_buttons", input, settings); } +/** + * Creates a compact icon action for a context-actions block. + * + * @param input - Accessible text, icon behavior, and optional visibility restrictions. + * @param settings - Per-call validation settings. + * @returns A validated Slack `icon_button` element. + * @throws InvalidUsageError when the icon or visible-user list is invalid. + */ export function iconButton( input: { + /** Plain-text description of the icon action. */ text: TextLike; + /** Icon name. Slack currently accepts only `trash`. */ icon?: "trash"; + /** Optional identifier returned with the interaction. */ actionId?: string; + /** Optional application-defined interaction value. */ value?: string; + /** Optional confirmation dialog. */ confirm?: JsonObject; + /** Accessible label when the text is insufficient. */ accessibilityLabel?: string; + /** Up to ten user IDs allowed to see the action. */ visibleToUserIds?: string[]; }, settings: FactorySettings = {}, @@ -107,43 +538,103 @@ export function iconButton( ); } +/** + * Creates a source link for a task card. + * + * @param input - Public URL and human-readable link text. + * @param settings - Per-call validation settings. + * @returns A validated Slack `url` source element. + * @throws InvalidUsageError when a field violates Slack's constraints. + */ export function urlSource( - input: { url: string; text: string }, + input: { + /** Public source URL. */ + url: string; + /** Human-readable source label. */ + text: string; + }, settings: FactorySettings = {}, ): SlackObject<"url"> { return element("url", input, settings); } +/** + * Creates a checkbox group. + * + * @param input - Action identifier, options, and optional Slack checkbox fields. + * @param settings - Per-call validation settings. + * @returns A validated Slack `checkboxes` element. + * @throws InvalidUsageError when options or identifiers violate Slack's constraints. + */ export function checkboxes( - input: ActionInput & { options: JsonObject[] }, + input: CheckboxesInput, settings: FactorySettings = {}, ): SlackObject<"checkboxes"> { return element("checkboxes", input, settings); } +/** + * Creates a date picker. + * + * @param input - Action identifier and optional Slack date-picker fields. + * @param settings - Per-call validation settings. + * @returns A validated Slack `datepicker` element. + * @throws InvalidUsageError when a field violates Slack's constraints. + */ export function datePicker( - input: ActionInput, + input: DatePickerInput, settings: FactorySettings = {}, ): SlackObject<"datepicker"> { return element("datepicker", input, settings); } +/** + * Creates a date-and-time picker. + * + * @param input - Action identifier and optional Slack date-time-picker fields. + * @param settings - Per-call validation settings. + * @returns A validated Slack `datetimepicker` element. + * @throws InvalidUsageError when a field violates Slack's constraints. + */ export function dateTimePicker( - input: ActionInput, + input: DateTimePickerInput, settings: FactorySettings = {}, ): SlackObject<"datetimepicker"> { return element("datetimepicker", input, settings); } +/** + * Creates an email-address input. + * + * @param input - Action identifier and optional Slack email-input fields. + * @param settings - Per-call validation settings. + * @returns A validated Slack `email_text_input` element. + * @throws InvalidUsageError when a field violates Slack's constraints. + */ export function emailInput( - input: ActionInput, + input: EmailElementInput, settings: FactorySettings = {}, ): SlackObject<"email_text_input"> { return element("email_text_input", input, settings); } +/** + * Creates a file-upload input. + * + * @param input - Action identifier, allowed extensions, and maximum file count. + * @param settings - Per-call validation settings. + * @returns A validated Slack `file_input` element. + * @throws InvalidUsageError when `maxFiles` is outside 1–10. + */ export function fileInput( - input: { actionId: string; filetypes?: string[]; maxFiles?: number }, + input: { + /** Identifier returned with submitted files. */ + actionId: string; + /** Optional allowed file extensions. */ + filetypes?: string[]; + /** Maximum files accepted, between 1 and 10. */ + maxFiles?: number; + }, settings: FactorySettings = {}, ): SlackObject<"file_input"> { if (input.maxFiles !== undefined && (input.maxFiles < 1 || input.maxFiles > 10)) { @@ -152,86 +643,248 @@ export function fileInput( return create("file_input", input, settings); } +/** + * Creates an image element from a URL or Slack-hosted file. + * + * @param input - Accessible text and exactly one image source. + * @param settings - Per-call validation settings. + * @returns A validated Slack `image` element. + * @throws InvalidUsageError when both or neither image source is provided. + */ export function imageElement( - input: { altText: string } & ( - | { imageUrl: string; slackFile?: never } - | { imageUrl?: never; slackFile: JsonObject } - ), + input: ImageElementInput, settings: FactorySettings = {}, ): SlackObject<"image"> { return element("image", input, settings); } -export function channelMultiSelect(input: ActionInput, settings: FactorySettings = {}) { +/** + * Creates a multi-select menu populated with public channels visible to the current user. + * + * @param input - Channel selection, confirmation, focus, and placeholder behavior. + * @param settings - Per-call validation settings. + * @returns A validated Slack `multi_channels_select` element. + * @throws InvalidUsageError when an identifier, placeholder, or selection constraint is invalid. + */ +export function channelMultiSelect( + input: ChannelMultiSelectInput, + settings: FactorySettings = {}, +) { return element("multi_channels_select", input, settings); } -export function conversationMultiSelect(input: ActionInput, settings: FactorySettings = {}) { +/** + * Creates a multi-select menu of public channels, private channels, DMs, and group DMs. + * + * @param input - Conversation filters, initial selection, confirmation, and display behavior. + * @param settings - Per-call validation settings. + * @returns A validated Slack `multi_conversations_select` element. + * @throws InvalidUsageError when an identifier, placeholder, filter, or selection is invalid. + */ +export function conversationMultiSelect( + input: ConversationMultiSelectInput, + settings: FactorySettings = {}, +) { return element("multi_conversations_select", input, settings); } -export function externalMultiSelect(input: ActionInput, settings: FactorySettings = {}) { +/** + * Creates a multi-select menu whose options are loaded from the app's configured Options Load URL. + * + * @param input - Query threshold, initial options, confirmation, and display behavior. + * @param settings - Per-call validation settings. + * @returns A validated Slack `multi_external_select` element. + * @throws InvalidUsageError when an identifier, placeholder, query, or selection is invalid. + */ +export function externalMultiSelect( + input: ExternalMultiSelectInput, + settings: FactorySettings = {}, +) { return element("multi_external_select", input, settings); } -export function staticMultiSelect(input: ActionInput, settings: FactorySettings = {}) { +/** + * Creates a multi-select menu from options embedded directly in the Block Kit payload. + * + * @param input - Options or option groups, initial selection, confirmation, and display behavior. + * @param settings - Per-call validation settings. + * @returns A validated Slack `multi_static_select` element. + * @throws InvalidUsageError when options, identifiers, or selection constraints are invalid. + */ +export function staticMultiSelect( + input: StaticMultiSelectInput, + settings: FactorySettings = {}, +) { return element("multi_static_select", input, settings); } -export function userMultiSelect(input: ActionInput, settings: FactorySettings = {}) { +/** + * Creates a multi-select menu populated with users visible in the active workspace. + * + * @param input - Initial users, confirmation, selection limit, and display behavior. + * @param settings - Per-call validation settings. + * @returns A validated Slack `multi_users_select` element. + * @throws InvalidUsageError when an identifier, placeholder, or selection constraint is invalid. + */ +export function userMultiSelect( + input: UserMultiSelectInput, + settings: FactorySettings = {}, +) { return element("multi_users_select", input, settings); } -export function numberInput(input: ActionInput, settings: FactorySettings = {}) { +/** + * Creates a single-line input for whole or decimal numeric values. + * + * @param input - Decimal behavior, initial value, range, dispatch, and display settings. + * @param settings - Per-call validation settings. + * @returns A validated Slack `number_input` element. + * @throws InvalidUsageError when an identifier, placeholder, or numeric range is invalid. + */ +export function numberInput(input: NumberElementInput, settings: FactorySettings = {}) { return element("number_input", input, settings); } +/** + * Creates an overflow menu. + * + * @param input - Action identifier, two to five options, and optional Slack fields. + * @param settings - Per-call validation settings. + * @returns A validated Slack `overflow` element. + * @throws InvalidUsageError when the option list violates Slack's constraints. + */ export function overflow( - input: ActionInput & { options: JsonObject[] }, + input: OverflowInput, settings: FactorySettings = {}, ) { return element("overflow", input, settings); } -export function plainTextInput(input: ActionInput, settings: FactorySettings = {}) { +/** + * Creates a single- or multi-line freeform text input for a modal or App Home tab. + * + * @param input - Initial text, length limits, multiline, dispatch, and display settings. + * @param settings - Per-call validation settings. + * @returns A validated Slack `plain_text_input` element. + * @throws InvalidUsageError when an identifier, placeholder, or length constraint is invalid. + */ +export function plainTextInput( + input: PlainTextElementInput, + settings: FactorySettings = {}, +) { return element("plain_text_input", input, settings); } +/** + * Creates a radio-button group. + * + * @param input - Action identifier, options, and optional Slack fields. + * @param settings - Per-call validation settings. + * @returns A validated Slack `radio_buttons` element. + * @throws InvalidUsageError when options or identifiers violate Slack's constraints. + */ export function radioButtons( - input: ActionInput & { options: JsonObject[] }, + input: RadioButtonsInput, settings: FactorySettings = {}, ) { return element("radio_buttons", input, settings); } -export function channelSelect(input: ActionInput, settings: FactorySettings = {}) { +/** + * Creates a single-select menu populated with public channels visible to the current user. + * + * @param input - Initial channel, response URL, confirmation, and display behavior. + * @param settings - Per-call validation settings. + * @returns A validated Slack `channels_select` element. + * @throws InvalidUsageError when an identifier, placeholder, or initial selection is invalid. + */ +export function channelSelect(input: ChannelSelectInput, settings: FactorySettings = {}) { return element("channels_select", input, settings); } -export function conversationSelect(input: ActionInput, settings: FactorySettings = {}) { +/** + * Creates a single-select menu of public channels, private channels, DMs, and group DMs. + * + * @param input - Conversation filter, initial selection, response URL, and display behavior. + * @param settings - Per-call validation settings. + * @returns A validated Slack `conversations_select` element. + * @throws InvalidUsageError when an identifier, placeholder, filter, or selection is invalid. + */ +export function conversationSelect( + input: ConversationSelectInput, + settings: FactorySettings = {}, +) { return element("conversations_select", input, settings); } -export function externalSelect(input: ActionInput, settings: FactorySettings = {}) { +/** + * Creates a single-select menu whose options are loaded from the app's Options Load URL. + * + * @param input - Query threshold, initial option, confirmation, and display behavior. + * @param settings - Per-call validation settings. + * @returns A validated Slack `external_select` element. + * @throws InvalidUsageError when an identifier, placeholder, query, or option is invalid. + */ +export function externalSelect(input: ExternalSelectInput, settings: FactorySettings = {}) { return element("external_select", input, settings); } -export function staticSelect(input: ActionInput, settings: FactorySettings = {}) { +/** + * Creates a single-select menu from options embedded directly in the Block Kit payload. + * + * @param input - Options or option groups, initial option, confirmation, and display behavior. + * @param settings - Per-call validation settings. + * @returns A validated Slack `static_select` element. + * @throws InvalidUsageError when options, identifiers, or selection constraints are invalid. + */ +export function staticSelect(input: StaticSelectInput, settings: FactorySettings = {}) { return element("static_select", input, settings); } -export function userSelect(input: ActionInput, settings: FactorySettings = {}) { +/** + * Creates a single-select menu populated with users visible in the active workspace. + * + * @param input - Initial user, confirmation, and display behavior. + * @param settings - Per-call validation settings. + * @returns A validated Slack `users_select` element. + * @throws InvalidUsageError when an identifier, placeholder, or initial user is invalid. + */ +export function userSelect(input: UserSelectInput, settings: FactorySettings = {}) { return element("users_select", input, settings); } -export function timePicker(input: ActionInput, settings: FactorySettings = {}) { +/** + * Creates a time picker. + * + * @param input - Initial time, timezone, confirmation, and display behavior. + * @param settings - Per-call validation settings. + * @returns A validated Slack `timepicker` element. + * @throws InvalidUsageError when an identifier, placeholder, time, or timezone is invalid. + */ +export function timePicker(input: TimePickerInput, settings: FactorySettings = {}) { return element("timepicker", input, settings); } -export function urlInput(input: ActionInput, settings: FactorySettings = {}) { +/** + * Creates a URL input. + * + * @param input - Initial URL, dispatch configuration, and display behavior. + * @param settings - Per-call validation settings. + * @returns A validated Slack `url_text_input` element. + * @throws InvalidUsageError when an identifier, placeholder, or initial URL is invalid. + */ +export function urlInput(input: UrlElementInput, settings: FactorySettings = {}) { return element("url_text_input", input, settings); } +/** + * Creates a button that launches a Slack workflow. + * + * @param input - Button label, workflow trigger, and optional interaction behavior. + * @param settings - Per-call validation settings. + * @returns A validated Slack `workflow_button` element. + * @throws InvalidUsageError when text or identifiers violate Slack's constraints. + */ export function workflowButton( input: WorkflowButtonInput, settings: FactorySettings = {}, @@ -243,6 +896,17 @@ export function workflowButton( ); } -export function richTextInput(input: ActionInput, settings: FactorySettings = {}) { +/** + * Creates a rich-text input for a modal or App Home tab. + * + * @param input - Initial content, dispatch configuration, line limits, and display behavior. + * @param settings - Per-call validation settings. + * @returns A validated Slack `rich_text_input` element. + * @throws InvalidUsageError when an identifier, placeholder, content, or line limit is invalid. + */ +export function richTextInput( + input: RichTextElementInput, + settings: FactorySettings = {}, +) { return element("rich_text_input", input, settings); } diff --git a/typescript/src/errors.ts b/typescript/src/errors.ts index 072fb96d..719473e3 100644 --- a/typescript/src/errors.ts +++ b/typescript/src/errors.ts @@ -1,3 +1,10 @@ +/** + * Typed validation errors returned by eager construction and explicit validation. + * + * @module errors + */ + +/** Stable machine-readable category attached to every validation error. */ export type ErrorCategory = | "length-exceeded" | "out-of-range" @@ -6,10 +13,24 @@ export type ErrorCategory = | "missing-required" | "invalid-usage"; +/** + * Base class for invalid Block Kit input. + * + * Catch this class to handle every slackblocks validation failure, or catch a + * subclass when the reason matters to application behavior. + */ export class InvalidUsageError extends Error { + /** Machine-readable failure category. */ readonly category: ErrorCategory = "invalid-usage"; + /** Dot-and-index path to the invalid payload field. */ readonly path: string; + /** + * Creates a validation error. + * + * @param path - Dot-and-index path to the invalid field. + * @param message - Human-readable explanation of the constraint. + */ constructor(path: string, message: string) { super(path ? `${path}: ${message}` : message); this.name = new.target.name; @@ -17,22 +38,32 @@ export class InvalidUsageError extends Error { } } +/** A string, array, or collection exceeded an allowed minimum or maximum length. */ export class LengthError extends InvalidUsageError { + /** Machine-readable failure category. */ override readonly category = "length-exceeded" as const; } +/** A numeric value fell outside its allowed range. */ export class RangeError extends InvalidUsageError { + /** Machine-readable failure category. */ override readonly category = "out-of-range" as const; } +/** Fields that cannot be used together were both supplied. */ export class MutualExclusivityError extends InvalidUsageError { + /** Machine-readable failure category. */ override readonly category = "mutually-exclusive" as const; } +/** A payload field or nested object has the wrong runtime type. */ export class TypeMismatchError extends InvalidUsageError { + /** Machine-readable failure category. */ override readonly category = "type-mismatch" as const; } +/** A required field or one-of requirement was not satisfied. */ export class MissingRequiredError extends InvalidUsageError { + /** Machine-readable failure category. */ override readonly category = "missing-required" as const; } diff --git a/typescript/src/messages.ts b/typescript/src/messages.ts index 309078e3..feef097d 100644 --- a/typescript/src/messages.ts +++ b/typescript/src/messages.ts @@ -1,24 +1,65 @@ +/** + * Payload factories for Web API messages, webhooks, and interaction responses. + * + * @module messages + */ import { createObject } from "./internal.js"; import type { FactorySettings, JsonObject } from "./types.js"; +/** + * Creates lower-priority supporting content using Slack's legacy secondary-attachment format. + * + * Attachments can add context beneath a message, while `fallback` supplies a + * plain-text summary for notifications and clients that cannot display Block Kit. + * + * @param input - Attachment blocks plus optional color and fallback text. + * @param settings - Per-call validation settings. + * @returns A Slack attachment object. + * @throws InvalidUsageError when a nested block violates a supported Block Kit constraint. + * @see https://docs.slack.dev/legacy/legacy-messaging/legacy-secondary-message-attachments + */ export function attachment( - input: { blocks: JsonObject[]; color?: string; fallback?: string }, + input: { + /** Blocks displayed inside the attachment. */ + blocks: JsonObject[]; + /** Optional side-border color. */ + color?: string; + /** Plain-text fallback for notifications and clients without Block Kit support. */ + fallback?: string; + }, settings: FactorySettings = {}, ): JsonObject { return createObject(input, settings); } +/** Fields accepted by {@link message}. */ export interface MessageInput { + /** Channel, group, or direct-message conversation identifier. */ channel: string; + /** Block Kit blocks displayed in the message. */ blocks?: JsonObject[]; + /** Optional secondary attachments. */ attachments?: JsonObject[]; + /** Notification and accessibility fallback text. */ text?: string; + /** Whether Slack parses `text` as mrkdwn. Defaults to `true`. */ mrkdwn?: boolean; + /** Whether Slack unfurls links. */ unfurlLinks?: boolean; + /** Whether Slack unfurls media. */ unfurlMedia?: boolean; + /** Optional message metadata. */ metadata?: JsonObject; } +/** + * Creates a payload for Slack Web API message methods such as `chat.postMessage`. + * + * @param input - Destination channel and message content. + * @param settings - Per-call validation settings. + * @returns A Slack-shaped message payload ready to spread into an SDK call. + * @throws InvalidUsageError when nested Block Kit content is invalid. + */ export function message( input: MessageInput, settings: FactorySettings = {}, @@ -26,13 +67,27 @@ export function message( return createObject({ mrkdwn: true, text: "", ...input }, settings); } +/** + * Creates a response payload for slash commands and interactive requests. + * + * @param input - Response content, visibility, and replacement behavior. + * @param settings - Per-call validation settings. + * @returns A Slack interaction-response payload. + * @throws InvalidUsageError when nested Block Kit content is invalid. + */ export function messageResponse( input: { + /** Block Kit blocks displayed in the response. */ blocks?: JsonObject[]; + /** Optional secondary attachments. */ attachments?: JsonObject[]; + /** Notification and accessibility fallback text. */ text?: string; + /** Whether Slack parses `text` as mrkdwn. Defaults to `true`. */ mrkdwn?: boolean; + /** Replace the original interaction message. Defaults to `false`. */ replaceOriginal?: boolean; + /** Response visibility. Defaults to `in_channel`. */ responseType?: "ephemeral" | "in_channel"; }, settings: FactorySettings = {}, @@ -49,16 +104,33 @@ export function messageResponse( ); } +/** + * Creates a payload for an incoming webhook or response URL. + * + * @param input - Message content, visibility, replacement behavior, and unfurl settings. + * @param settings - Per-call validation settings. + * @returns A Slack webhook-message payload. + * @throws InvalidUsageError when nested Block Kit content is invalid. + */ export function webhookMessage( input: { + /** Block Kit blocks displayed in the message. */ blocks?: JsonObject[]; + /** Optional secondary attachments. */ attachments?: JsonObject[]; + /** Notification and accessibility fallback text. */ text?: string; + /** Response visibility for response URLs. */ responseType?: "ephemeral" | "in_channel"; + /** Replace the original interaction message. */ replaceOriginal?: boolean; + /** Delete the original interaction message. */ deleteOriginal?: boolean; + /** Whether Slack unfurls links. */ unfurlLinks?: boolean; + /** Whether Slack unfurls media. */ unfurlMedia?: boolean; + /** Optional message metadata. */ metadata?: JsonObject; }, settings: FactorySettings = {}, diff --git a/typescript/src/objects.ts b/typescript/src/objects.ts index ada41a95..d2078e1f 100644 --- a/typescript/src/objects.ts +++ b/typescript/src/objects.ts @@ -1,3 +1,11 @@ +/** + * Composition-object factories used as fields inside blocks and elements. + * + * These helpers cover text, options, confirmations, workflow metadata, files, + * table cells, icons, and chart data. + * + * @module objects + */ import { InvalidUsageError, LengthError, @@ -9,14 +17,21 @@ import { import { create, createObject, textValue } from "./internal.js"; import type { FactorySettings, JsonObject, SlackObject } from "./types.js"; +/** A Slack plain-text or mrkdwn composition object. */ export type TextObject = SlackObject<"plain_text" | "mrkdwn">; + +/** Text accepted by factories: a string or an existing Slack text object. */ export type TextLike = string | TextObject; +/** Optional behavior for {@link plainText}. */ export interface PlainTextOptions { + /** Whether Slack should render emoji shortcodes. */ emoji?: boolean; } +/** Optional behavior for {@link mrkdwn}. */ export interface MarkdownOptions { + /** Whether Slack should treat the text literally instead of auto-parsing links and mentions. */ verbatim?: boolean; } @@ -26,6 +41,15 @@ function ensureLength(value: string, path: string, maximum: number): void { } } +/** + * Creates a plain-text composition object. + * + * @param text - Text content. + * @param options - Optional emoji behavior. + * @param settings - Per-call validation settings. + * @returns A validated Slack `plain_text` object. + * @throws InvalidUsageError when the text violates Slack's length constraints. + */ export function plainText( text: string, options: PlainTextOptions = {}, @@ -34,6 +58,15 @@ export function plainText( return create("plain_text", { text, ...options }, settings) as TextObject; } +/** + * Creates a Slack mrkdwn composition object. + * + * @param text - Slack mrkdwn content. + * @param options - Optional parsing behavior. + * @param settings - Per-call validation settings. + * @returns A validated Slack `mrkdwn` object. + * @throws InvalidUsageError when the text violates Slack's length constraints. + */ export function mrkdwn( text: string, options: MarkdownOptions = {}, @@ -42,6 +75,15 @@ export function mrkdwn( return create("mrkdwn", { text, ...options }, settings) as TextObject; } +/** + * Converts a string to a text object while preserving existing text objects. + * + * @param value - String or existing text object. + * @param kind - Text kind used for strings. Defaults to `mrkdwn`. + * @param settings - Per-call validation settings. + * @returns A Slack text composition object. + * @throws InvalidUsageError when the text violates Slack's length constraints. + */ export function asText( value: TextLike, kind: "mrkdwn" | "plain_text" = "mrkdwn", @@ -51,13 +93,26 @@ export function asText( return kind === "plain_text" ? plainText(value, {}, settings) : mrkdwn(value, {}, settings); } +/** Fields accepted by {@link confirmation}. */ export interface ConfirmationInput { + /** Plain-text dialog title, up to 100 characters. */ title: TextLike; + /** Confirmation question, up to 300 characters. */ text: TextLike; + /** Plain-text confirm-button label, up to 30 characters. */ confirm: TextLike; + /** Plain-text cancel-button label, up to 30 characters. */ deny: TextLike; } +/** + * Creates a confirmation dialog for an interactive element. + * + * @param input - Dialog title, question, and button labels. + * @param settings - Per-call validation settings. + * @returns A validated Slack confirmation object. + * @throws InvalidUsageError when a text field exceeds Slack's limit. + */ export function confirmation( input: ConfirmationInput, settings: FactorySettings = {}, @@ -82,13 +137,26 @@ export function confirmation( ); } +/** Fields accepted by {@link option}. */ export interface OptionInput { + /** Plain-text option label, up to 75 characters. */ text: TextLike; + /** Application-defined value, up to 75 characters. */ value: string; + /** Optional plain-text supporting copy, up to 75 characters. */ description?: TextLike; + /** Optional destination URL for overflow menus. */ url?: string; } +/** + * Creates one option for a select, checkbox, radio, or overflow element. + * + * @param input - Option label, value, and optional description or URL. + * @param settings - Per-call validation settings. + * @returns A validated Slack option object. + * @throws InvalidUsageError when text or values exceed Slack's limits. + */ export function option(input: OptionInput, settings: FactorySettings = {}): JsonObject { const text = asText(input.text, "plain_text", settings); ensureLength(textValue(text) ?? "", "option.text", 75); @@ -109,11 +177,22 @@ export function option(input: OptionInput, settings: FactorySettings = {}): Json ); } +/** Fields accepted by {@link optionGroup}. */ export interface OptionGroupInput { + /** Plain-text group label, up to 75 characters. */ label: TextLike; + /** Between one and 100 option objects. */ options: JsonObject[]; } +/** + * Creates a labelled group of options for a static select menu. + * + * @param input - Group label and option list. + * @param settings - Per-call validation settings. + * @returns A validated Slack option-group object. + * @throws InvalidUsageError when the label or option count violates Slack's limits. + */ export function optionGroup( input: OptionGroupInput, settings: FactorySettings = {}, @@ -135,8 +214,23 @@ export function optionGroup( ); } +/** + * Creates filters for a conversation select menu. + * + * @param input - Conversation types and optional exclusions. At least one field is required. + * @param settings - Per-call validation settings. + * @returns A validated Slack conversation-filter object. + * @throws MissingRequiredError when no filter field is supplied. + */ export function conversationFilter( - input: { include?: string[]; excludeExternalSharedChannels?: boolean; excludeBotUsers?: boolean }, + input: { + /** Conversation kinds to include, such as `im`, `mpim`, `private`, or `public`. */ + include?: string[]; + /** Exclude externally shared conversations. */ + excludeExternalSharedChannels?: boolean; + /** Exclude direct messages with bots. */ + excludeBotUsers?: boolean; + }, settings: FactorySettings = {}, ): JsonObject { if (Object.values(input).every((value) => value === undefined)) { @@ -145,36 +239,93 @@ export function conversationFilter( return createObject({ ...input }, settings); } +/** + * Creates a dispatch-action configuration for an input element. + * + * @param input - Interaction events that should dispatch immediately. + * @param settings - Per-call validation settings. + * @returns A Slack dispatch-action configuration object. + */ export function dispatchActionConfiguration( - input: { triggerActionsOn: string[] }, + input: { + /** Events such as `on_enter_pressed` or `on_character_entered`. */ + triggerActionsOn: string[]; + }, settings: FactorySettings = {}, ): JsonObject { return createObject({ ...input }, settings); } +/** + * Creates a customizable workflow input parameter. + * + * @param input - Workflow parameter name and value. + * @param settings - Per-call validation settings. + * @returns A Slack workflow input-parameter object. + */ export function inputParameter( - input: { name: string; value: string }, + input: { + /** Workflow parameter name. */ + name: string; + /** Value passed to the workflow. */ + value: string; + }, settings: FactorySettings = {}, ): JsonObject { return createObject({ ...input }, settings); } +/** + * Creates a workflow trigger definition. + * + * @param input - Trigger URL and optional customizable parameters. + * @param settings - Per-call validation settings. + * @returns A Slack workflow-trigger object. + */ export function trigger( - input: { url: string; customizableInputParameters?: JsonObject[] }, + input: { + /** Slack workflow trigger URL. */ + url: string; + /** Optional parameters created with `inputParameter`. */ + customizableInputParameters?: JsonObject[]; + }, settings: FactorySettings = {}, ): JsonObject { return createObject({ ...input }, settings); } +/** + * Wraps a trigger for use by a workflow button. + * + * @param input - Workflow trigger object. + * @param settings - Per-call validation settings. + * @returns A Slack workflow object. + */ export function workflow( - input: { trigger: JsonObject }, + input: { + /** Trigger created with `trigger`. */ + trigger: JsonObject; + }, settings: FactorySettings = {}, ): JsonObject { return createObject(input, settings); } +/** + * Creates a Slack-hosted image reference. + * + * @param input - Exactly one Slack file ID or Slack file URL. + * @param settings - Per-call validation settings. + * @returns A validated Slack file-reference object. + * @throws InvalidUsageError when both or neither source is supplied. + */ export function slackFile( - input: { id?: string; url?: string }, + input: { + /** Slack file identifier. */ + id?: string; + /** Slack-hosted file URL. */ + url?: string; + }, settings: FactorySettings = {}, ): JsonObject { if (input.id === undefined && input.url === undefined) { @@ -186,13 +337,33 @@ export function slackFile( return createObject(input, settings); } +/** + * Creates display settings for one table column. + * + * @param input - Horizontal alignment and optional wrapping behavior. + * @param settings - Per-call validation settings. + * @returns A Slack table column-settings object. + */ export function columnSettings( - input: { align?: "left" | "center" | "right"; isWrapped?: boolean }, + input: { + /** Horizontal cell alignment. */ + align?: "left" | "center" | "right"; + /** Whether long cell content wraps. */ + isWrapped?: boolean; + }, settings: FactorySettings = {}, ): JsonObject { return createObject(input, settings); } +/** + * Creates an unformatted text cell for a table or data table. + * + * @param text - Cell content. + * @param settings - Per-call validation settings. + * @returns A validated Slack `raw_text` object. + * @throws InvalidUsageError when the cell text violates Slack's constraints. + */ export function rawText( text: string, settings: FactorySettings = {}, @@ -200,6 +371,15 @@ export function rawText( return create("raw_text", { text }, settings); } +/** + * Creates a sortable numeric cell for a data table. + * + * @param value - Finite number used for sorting. + * @param text - Human-readable cell text. + * @param settings - Per-call validation settings. + * @returns A validated Slack `raw_number` object. + * @throws TypeMismatchError when `value` is not finite. + */ export function rawNumber( value: number, text: string, @@ -211,6 +391,7 @@ export function rawNumber( return create("raw_number", { value, text }, settings); } +/** Slack-provided icon name accepted by {@link slackIcon}. */ export type SlackIconName = | "archive" | "book" @@ -277,6 +458,14 @@ const SLACK_ICON_NAMES = new Set([ "thumbs-up", "trash", "upload", "user", "warning", ]); +/** + * Creates a Slack-provided icon for a card. + * + * @param name - One of Slack's supported icon names. + * @param settings - Per-call validation settings. + * @returns A validated Slack `icon` object. + * @throws TypeMismatchError when the icon name is unsupported at runtime. + */ export function slackIcon( name: SlackIconName, settings: FactorySettings = {}, @@ -287,11 +476,22 @@ export function slackIcon( return create("icon", { name }, settings); } +/** Fields accepted by {@link chartSegment}. */ export interface ChartSegmentInput { + /** Segment label, up to 20 characters. */ label: string; + /** Positive finite segment value. */ value: number; } +/** + * Creates one labelled segment for a pie chart. + * + * @param input - Segment label and positive value. + * @param settings - Per-call validation settings. + * @returns A validated chart-segment object. + * @throws InvalidUsageError when the label or value violates chart constraints. + */ export function chartSegment( input: ChartSegmentInput, settings: FactorySettings = {}, @@ -306,11 +506,22 @@ export function chartSegment( return createObject({ ...input }, settings); } +/** Fields accepted by {@link dataPoint}. */ export interface DataPointInput { + /** Category label, up to 20 characters. */ label: string; + /** Finite numeric value. */ value: number; } +/** + * Creates one labelled data point for an axis-based chart. + * + * @param input - Category label and finite value. + * @param settings - Per-call validation settings. + * @returns A validated data-point object. + * @throws InvalidUsageError when the label or value violates chart constraints. + */ export function dataPoint( input: DataPointInput, settings: FactorySettings = {}, @@ -322,11 +533,22 @@ export function dataPoint( return createObject({ ...input }, settings); } +/** Fields accepted by {@link dataSeries}. */ export interface DataSeriesInput { + /** Unique series name, up to 20 characters. */ name: string; + /** Between one and 20 points created with `dataPoint`. */ data: JsonObject[]; } +/** + * Creates one named series for an axis-based chart. + * + * @param input - Series name and ordered data points. + * @param settings - Per-call validation settings. + * @returns A validated chart-series object. + * @throws InvalidUsageError when the name or point count violates chart constraints. + */ export function dataSeries( input: DataSeriesInput, settings: FactorySettings = {}, @@ -338,12 +560,24 @@ export function dataSeries( return createObject({ ...input }, settings); } +/** Fields accepted by {@link axisConfig}. */ export interface AxisConfigInput { + /** Unique category labels, in display order. */ categories: string[]; + /** Optional horizontal-axis label, up to 50 characters. */ xLabel?: string; + /** Optional vertical-axis label, up to 50 characters. */ yLabel?: string; } +/** + * Creates category and label configuration for an axis-based chart. + * + * @param input - Ordered categories and optional axis labels. + * @param settings - Per-call validation settings. + * @returns A validated chart-axis configuration object. + * @throws InvalidUsageError when labels are duplicated or exceed Slack's limits. + */ export function axisConfig( input: AxisConfigInput, settings: FactorySettings = {}, @@ -360,6 +594,14 @@ export function axisConfig( return createObject({ ...input }, settings); } +/** + * Creates a pie chart. + * + * @param segments - One to 12 segments created with `chartSegment`. + * @param settings - Per-call validation settings. + * @returns A validated Slack `pie` chart object. + * @throws InvalidUsageError when segment data violates Slack's chart constraints. + */ export function pieChart( segments: JsonObject[], settings: FactorySettings = {}, @@ -405,6 +647,15 @@ function axisChart( return create(type, { series, axisConfig: axis }, settings); } +/** + * Creates a grouped bar chart. + * + * @param series - One to 12 uniquely named data series. + * @param axis - Axis configuration whose categories match every series. + * @param settings - Per-call validation settings. + * @returns A validated Slack `bar` chart object. + * @throws InvalidUsageError when series and axis categories do not match. + */ export function barChart( series: JsonObject[], axis: JsonObject, @@ -413,6 +664,15 @@ export function barChart( return axisChart("bar", series, axis, settings); } +/** + * Creates an area chart. + * + * @param series - One to 12 uniquely named data series. + * @param axis - Axis configuration whose categories match every series. + * @param settings - Per-call validation settings. + * @returns A validated Slack `area` chart object. + * @throws InvalidUsageError when series and axis categories do not match. + */ export function areaChart( series: JsonObject[], axis: JsonObject, @@ -421,6 +681,15 @@ export function areaChart( return axisChart("area", series, axis, settings); } +/** + * Creates a line chart. + * + * @param series - One to 12 uniquely named data series. + * @param axis - Axis configuration whose categories match every series. + * @param settings - Per-call validation settings. + * @returns A validated Slack `line` chart object. + * @throws InvalidUsageError when series and axis categories do not match. + */ export function lineChart( series: JsonObject[], axis: JsonObject, diff --git a/typescript/src/rich-text.ts b/typescript/src/rich-text.ts index e512060c..25e863d4 100644 --- a/typescript/src/rich-text.ts +++ b/typescript/src/rich-text.ts @@ -1,13 +1,34 @@ +/** + * Inline and layout factories for Slack rich-text blocks. + * + * Build inline elements first, combine them in a section, list, quote, or code + * block, then pass those layout objects to `richTextBlock`. + * + * @module rich-text + */ import { create } from "./internal.js"; import type { FactorySettings, JsonObject } from "./types.js"; +/** Inline formatting supported by rich-text text, links, users, and channels. */ export interface RichTextStyle { + /** Render the inline content in bold. */ bold?: boolean; + /** Render the inline content in italics. */ italic?: boolean; + /** Render the inline content with a strikethrough. */ strike?: boolean; + /** Render the inline content as code. */ code?: boolean; } +/** + * Creates a styled rich-text text run. + * + * @param text - Text content. + * @param style - Optional inline formatting. + * @param settings - Per-call validation settings. + * @returns A validated Slack rich-text `text` element. + */ export function richText( text: string, style?: RichTextStyle, @@ -16,6 +37,14 @@ export function richText( return create("text", { text, style }, settings); } +/** + * Creates a rich-text channel mention. + * + * @param channelId - Slack channel identifier. + * @param style - Optional inline formatting. + * @param settings - Per-call validation settings. + * @returns A validated Slack rich-text `channel` element. + */ export function richTextChannel( channelId: string, style?: RichTextStyle, @@ -24,6 +53,13 @@ export function richTextChannel( return create("channel", { channelId, style }, settings); } +/** + * Creates a rich-text emoji. + * + * @param name - Emoji name without surrounding colons. + * @param settings - Per-call validation settings. + * @returns A validated Slack rich-text `emoji` element. + */ export function richTextEmoji( name: string, settings: FactorySettings = {}, @@ -31,13 +67,37 @@ export function richTextEmoji( return create("emoji", { name }, settings); } +/** + * Creates a rich-text link. + * + * @param input - Destination URL, optional label, safety flag, and formatting. + * @param settings - Per-call validation settings. + * @returns A validated Slack rich-text `link` element. + */ export function richTextLink( - input: { url: string; text?: string; unsafe?: boolean; style?: RichTextStyle }, + input: { + /** Destination URL. */ + url: string; + /** Optional visible label. Slack displays the URL when omitted. */ + text?: string; + /** Mark a URL as unsafe when mirroring a Slack-provided payload. */ + unsafe?: boolean; + /** Optional inline formatting. */ + style?: RichTextStyle; + }, settings: FactorySettings = {}, ) { return create("link", input, settings); } +/** + * Creates a rich-text user mention. + * + * @param userId - Slack user identifier. + * @param style - Optional inline formatting. + * @param settings - Per-call validation settings. + * @returns A validated Slack rich-text `user` element. + */ export function richTextUser( userId: string, style?: RichTextStyle, @@ -46,6 +106,14 @@ export function richTextUser( return create("user", { userId, style }, settings); } +/** + * Creates a rich-text user-group mention. + * + * @param usergroupId - Slack user-group identifier. + * @param style - Optional inline formatting. + * @param settings - Per-call validation settings. + * @returns A validated Slack rich-text `usergroup` element. + */ export function richTextUserGroup( usergroupId: string, style?: RichTextStyle, @@ -54,6 +122,13 @@ export function richTextUserGroup( return create("usergroup", { usergroupId, style }, settings); } +/** + * Creates a paragraph-like rich-text section. + * + * @param elements - Inline rich-text elements in display order. + * @param settings - Per-call validation settings. + * @returns A validated Slack `rich_text_section` object. + */ export function richTextSection( elements: JsonObject[], settings: FactorySettings = {}, @@ -61,12 +136,24 @@ export function richTextSection( return create("rich_text_section", { elements }, settings); } +/** + * Creates an ordered or bulleted rich-text list. + * + * @param input - List items and optional list layout. + * @param settings - Per-call validation settings. + * @returns A validated Slack `rich_text_list` object. + */ export function richTextList( input: { + /** Rich-text section objects used as list items. */ elements: JsonObject[]; + /** List marker style. Defaults to `bullet`. */ style?: "bullet" | "ordered"; + /** Nesting depth. */ indent?: number; + /** Starting number for an ordered list. */ offset?: number; + /** Optional border thickness. */ border?: number; }, settings: FactorySettings = {}, @@ -74,17 +161,39 @@ export function richTextList( return create("rich_text_list", input, settings); } +/** + * Creates a preformatted rich-text code block. + * + * @param elements - Inline rich-text elements displayed as code. + * @param options - Optional border thickness. + * @param settings - Per-call validation settings. + * @returns A validated Slack `rich_text_preformatted` object. + */ export function richTextCodeBlock( elements: JsonObject[], - options: { border?: number } = {}, + options: { + /** Optional border thickness. */ + border?: number; + } = {}, settings: FactorySettings = {}, ) { return create("rich_text_preformatted", { elements, ...options }, settings); } +/** + * Creates a rich-text block quote. + * + * @param elements - Inline rich-text elements displayed in the quote. + * @param options - Optional border thickness. + * @param settings - Per-call validation settings. + * @returns A validated Slack `rich_text_quote` object. + */ export function richTextQuote( elements: JsonObject[], - options: { border?: number } = {}, + options: { + /** Optional border thickness. */ + border?: number; + } = {}, settings: FactorySettings = {}, ) { return create("rich_text_quote", { elements, ...options }, settings); diff --git a/typescript/src/types.ts b/typescript/src/types.ts index 170b9008..73bbf661 100644 --- a/typescript/src/types.ts +++ b/typescript/src/types.ts @@ -1,19 +1,36 @@ import type { KnownBlock } from "@slack/types"; +/** JSON scalar accepted by Slack payloads. */ export type JsonPrimitive = boolean | number | string | null; + +/** Recursive JSON value accepted by Slack payloads. */ export type JsonValue = JsonPrimitive | JsonObject | JsonValue[]; +/** Object with JSON-compatible values and Slack-shaped string keys. */ export interface JsonObject { + /** JSON field value by wire-format key. */ [key: string]: JsonValue; } +/** Per-call behavior supported by every public factory. */ export interface FactorySettings { - /** Disable eager validation for this construction only. */ + /** + * Whether to validate the constructed object immediately. Defaults to `true`. + * Disable only when intentionally creating an intermediate partial object. + */ validate?: boolean; } +/** Generic validated Block Kit object. */ export type BlockKitPayload = JsonObject; -export type SlackObject = JsonObject & { type: Type }; + +/** Slack-shaped JSON object whose `type` field is known. */ +export type SlackObject = JsonObject & { + /** Discriminator identifying the Block Kit object on Slack's wire format. */ + type: Type; +}; + +/** Official Slack SDK type intersected with its JSON wire representation. */ export type SlackWire = Type & JsonObject; /** Compatibility helper for call sites that accept Slack's official block types. */ diff --git a/typescript/src/validation.ts b/typescript/src/validation.ts index 6780c0f5..a463c1f7 100644 --- a/typescript/src/validation.ts +++ b/typescript/src/validation.ts @@ -822,6 +822,15 @@ function visit(value: JsonValue, path: string): void { } } +/** + * Asserts that an object is a valid Block Kit payload. + * + * Validation walks nested blocks, elements, views, and composition objects and + * reports the first failing field through a typed validation error. + * + * @param payload - JSON value to validate. + * @throws InvalidUsageError when the payload violates a supported Block Kit constraint. + */ export function assertValid(payload: JsonValue): asserts payload is BlockKitPayload { if (payload === null || Array.isArray(payload) || typeof payload !== "object") { throw new TypeMismatchError("payload", "expected a Block Kit object"); @@ -829,6 +838,12 @@ export function assertValid(payload: JsonValue): asserts payload is BlockKitPayl visit(payload, ""); } +/** + * Checks whether a value is a valid Block Kit payload without throwing for validation failures. + * + * @param payload - Unknown value to validate. + * @returns `true` for a valid payload; otherwise `false`. + */ export function validate(payload: unknown): payload is BlockKitPayload { try { assertValid(payload as JsonValue); diff --git a/typescript/src/views.ts b/typescript/src/views.ts index a7b1e344..d9f1e78a 100644 --- a/typescript/src/views.ts +++ b/typescript/src/views.ts @@ -1,18 +1,41 @@ +/** + * View factories for Slack modals and App Home tabs. + * + * @module views + */ import { create } from "./internal.js"; import { asText, type TextLike } from "./objects.js"; import type { FactorySettings, JsonObject } from "./types.js"; +/** + * Creates a modal view payload. + * + * @param input - Modal title, blocks, controls, metadata, and callback behavior. + * @param settings - Per-call validation settings. + * @returns A validated Slack `modal` view. + * @throws InvalidUsageError when blocks or text fields violate Slack's constraints. + */ export function modal( input: { + /** Plain-text modal title, up to 24 characters. */ title: TextLike; + /** Between one and 100 modal-compatible blocks. */ blocks: JsonObject[]; + /** Optional plain-text close-button label. */ close?: TextLike; + /** Optional plain-text submit-button label. */ submit?: TextLike; + /** Opaque application metadata returned with view interactions. */ privateMetadata?: string; + /** Application-defined callback identifier. */ callbackId?: string; + /** Close every view above this modal when it closes. */ clearOnClose?: boolean; + /** Send a `view_closed` event when the modal closes. */ notifyOnClose?: boolean; + /** Application-defined external identifier. */ externalId?: string; + /** Keep the submit button disabled until an input changes. */ submitDisabled?: boolean; }, settings: FactorySettings = {}, @@ -30,11 +53,23 @@ export function modal( ); } +/** + * Creates an App Home tab view payload. + * + * @param input - Home-tab blocks and optional application metadata. + * @param settings - Per-call validation settings. + * @returns A validated Slack `home` view. + * @throws InvalidUsageError when blocks or metadata violate Slack's constraints. + */ export function homeTab( input: { + /** Between one and 100 App Home-compatible blocks. */ blocks: JsonObject[]; + /** Opaque application metadata returned with view interactions. */ privateMetadata?: string; + /** Application-defined callback identifier. */ callbackId?: string; + /** Application-defined external identifier. */ externalId?: string; }, settings: FactorySettings = {}, From 33088982d11f96ce24ed48eb92985349b2944e9d Mon Sep 17 00:00:00 2001 From: Nicholas Lambourne Date: Fri, 14 Aug 2026 03:19:03 +1000 Subject: [PATCH 15/23] docs: add validated Block Kit previews --- docs/docs/usage/using_blocks.mdx | 678 +++++++++++++++++++ docs/static/img/usage/actions.png | Bin 33533 -> 51091 bytes docs/static/img/usage/alert.png | Bin 0 -> 76182 bytes docs/static/img/usage/card.png | Bin 0 -> 83504 bytes docs/static/img/usage/carousel.png | Bin 0 -> 45596 bytes docs/static/img/usage/container.png | Bin 0 -> 67957 bytes docs/static/img/usage/context.png | Bin 24220 -> 39456 bytes docs/static/img/usage/context_actions.png | Bin 0 -> 38357 bytes docs/static/img/usage/data_table.png | Bin 0 -> 77462 bytes docs/static/img/usage/data_visualization.png | Bin 0 -> 215568 bytes docs/static/img/usage/divider.png | Bin 21002 -> 32546 bytes docs/static/img/usage/header.png | Bin 27618 -> 48886 bytes docs/static/img/usage/image.png | Bin 1075634 -> 932217 bytes docs/static/img/usage/input.png | Bin 31410 -> 53006 bytes docs/static/img/usage/plan.png | Bin 0 -> 81015 bytes docs/static/img/usage/rich_text.png | Bin 49763 -> 113059 bytes docs/static/img/usage/section.png | Bin 37515 -> 77655 bytes docs/static/img/usage/table.png | Bin 34478 -> 62977 bytes docs/static/img/usage/task_card.png | Bin 0 -> 68468 bytes 19 files changed, 678 insertions(+) create mode 100644 docs/static/img/usage/alert.png create mode 100644 docs/static/img/usage/card.png create mode 100644 docs/static/img/usage/carousel.png create mode 100644 docs/static/img/usage/container.png create mode 100644 docs/static/img/usage/context_actions.png create mode 100644 docs/static/img/usage/data_table.png create mode 100644 docs/static/img/usage/data_visualization.png create mode 100644 docs/static/img/usage/plan.png create mode 100644 docs/static/img/usage/task_card.png diff --git a/docs/docs/usage/using_blocks.mdx b/docs/docs/usage/using_blocks.mdx index e2ed51c0..4c130eda 100644 --- a/docs/docs/usage/using_blocks.mdx +++ b/docs/docs/usage/using_blocks.mdx @@ -991,3 +991,681 @@ videoBlock({ See the [Slack reference](https://api.slack.com/reference/block-kit/blocks#video) for the full list of optional fields and provider requirements. + +## Alert Block + +Alerts add a severity-labelled notice to a modal. + + + + + + + +```python +from slackblocks import AlertBlock + +AlertBlock( + "The deployment needs attention.", + level="warning", + block_id="fake_block_id", +) +``` + + + + +```ts +import { alertBlock } from "slackblocks"; + +alertBlock({ + text: "The deployment needs attention.", + level: "warning", + blockId: "fake_block_id", +}); +``` + + + + + + + +```json +{ + "type": "alert", + "block_id": "fake_block_id", + "text": { + "type": "mrkdwn", + "text": "The deployment needs attention." + }, + "level": "warning" +} +``` + + + + +![An example of the UI output of an Alert Block](/img/usage/alert.png) + + + + +## Card Block + +Cards combine text, images, Slack-provided icons, and up to three buttons in a compact panel. + + + + + + + +```python +from slackblocks import Button, CardBlock, SlackIcon + +CardBlock( + title="Build complete", + body="Version 2.0.0 is ready to deploy.", + slack_icon=SlackIcon("rocket"), + actions=Button("Open build", "open_build"), + block_id="fake_block_id", +) +``` + + + + +```ts +import { button, cardBlock, slackIcon } from "slackblocks"; + +cardBlock({ + title: "Build complete", + body: "Version 2.0.0 is ready to deploy.", + slackIcon: slackIcon("rocket"), + actions: [button({ text: "Open build", actionId: "open_build" })], + blockId: "fake_block_id", +}); +``` + + + + + + + +```json +{ + "type": "card", + "block_id": "fake_block_id", + "title": { + "type": "mrkdwn", + "text": "Build complete" + }, + "body": { + "type": "mrkdwn", + "text": "Version 2.0.0 is ready to deploy." + }, + "actions": [ + { + "type": "button", + "text": { + "type": "plain_text", + "text": "Open build" + }, + "action_id": "open_build" + } + ], + "slack_icon": { + "type": "icon", + "name": "rocket" + } +} +``` + + + + +![An example of the UI output of a Card Block](/img/usage/card.png) + + + + +## Carousel Block + +A carousel presents between one and ten cards in a horizontally scrolling collection. + + + + + + + +```python +from slackblocks import CardBlock, CarouselBlock + +CarouselBlock([ + CardBlock(title="First result", block_id="card_1"), + CardBlock(title="Second result", block_id="card_2"), +], block_id="fake_block_id") +``` + + + + +```ts +import { cardBlock, carouselBlock } from "slackblocks"; + +carouselBlock({ + elements: [ + cardBlock({ title: "First result", blockId: "card_1" }), + cardBlock({ title: "Second result", blockId: "card_2" }), + ], + blockId: "fake_block_id", +}); +``` + + + + + + + +```json +{ + "type": "carousel", + "block_id": "fake_block_id", + "elements": [ + { + "type": "card", + "block_id": "card_1", + "title": { + "type": "mrkdwn", + "text": "First result" + } + }, + { + "type": "card", + "block_id": "card_2", + "title": { + "type": "mrkdwn", + "text": "Second result" + } + } + ] +} +``` + + + + +![An example of the UI output of a Carousel Block](/img/usage/carousel.png) + + + + +## Container Block + +Containers group up to ten related child blocks under a plain-text or rich-text title. + + + + + + + +```python +from slackblocks import ContainerBlock, SectionBlock + +ContainerBlock( + title="Deployment summary", + child_blocks=[ + SectionBlock("All systems operational.", block_id="child_1"), + ], + has_header_divider=True, + block_id="fake_block_id", +) +``` + + + + +```ts +import { containerBlock, sectionBlock } from "slackblocks"; + +containerBlock({ + title: "Deployment summary", + childBlocks: [ + sectionBlock({ + text: "All systems operational.", + blockId: "child_1", + }), + ], + width: "standard", + isCollapsible: false, + defaultCollapsed: false, + hasHeaderDivider: true, + blockId: "fake_block_id", +}); +``` + + + + + + + +```json +{ + "type": "container", + "block_id": "fake_block_id", + "title": { + "type": "plain_text", + "text": "Deployment summary" + }, + "child_blocks": [ + { + "type": "section", + "block_id": "child_1", + "text": { + "type": "mrkdwn", + "text": "All systems operational." + } + } + ], + "width": "standard", + "is_collapsible": false, + "default_collapsed": false, + "has_header_divider": true +} +``` + + + + +![An example of the UI output of a Container Block](/img/usage/container.png) + + + + +## Context Actions Block + +Context actions hold feedback controls or compact icon buttons. Slack currently offers the `trash` icon for icon buttons. + + + + + + + +```python +from slackblocks import ContextActionsBlock, FeedbackButton, FeedbackButtons + +ContextActionsBlock([ + FeedbackButtons( + positive_button=FeedbackButton("Good", "positive"), + negative_button=FeedbackButton("Bad", "negative"), + action_id="response_feedback", + ) +], block_id="fake_block_id") +``` + + + + +```ts +import { contextActionsBlock, feedbackButton, feedbackButtons } from "slackblocks"; + +contextActionsBlock({ + elements: [ + feedbackButtons({ + actionId: "response_feedback", + positiveButton: feedbackButton({ text: "Good", value: "positive" }), + negativeButton: feedbackButton({ text: "Bad", value: "negative" }), + }), + ], + blockId: "fake_block_id", +}); +``` + + + + + + + +```json +{ + "type": "context_actions", + "block_id": "fake_block_id", + "elements": [ + { + "type": "feedback_buttons", + "positive_button": { + "text": { + "type": "plain_text", + "text": "Good" + }, + "value": "positive" + }, + "negative_button": { + "text": { + "type": "plain_text", + "text": "Bad" + }, + "value": "negative" + }, + "action_id": "response_feedback" + } + ] +} +``` + + + + +![An example of the UI output of a Context Actions Block](/img/usage/context_actions.png) + + + + +## Data Table Block + +Data tables support raw text, sortable raw numbers, and rich-text body cells. They require a header plus at least one data row. + + + + + + + +```python +from slackblocks import DataTableBlock, RawNumber, RawText + +DataTableBlock( + caption="Team scores", + rows=[ + [RawText("Name"), RawText("Score")], + [RawText("Alice"), RawNumber(42, "42")], + ], + block_id="fake_block_id", +) +``` + + + + +```ts +import { dataTableBlock, rawNumber, rawText } from "slackblocks"; + +dataTableBlock({ + caption: "Team scores", + rows: [ + [rawText("Name"), rawText("Score")], + [rawText("Alice"), rawNumber(42, "42")], + ], + blockId: "fake_block_id", +}); +``` + + + + + + + +```json +{ + "type": "data_table", + "block_id": "fake_block_id", + "rows": [ + [ + { + "type": "raw_text", + "text": "Name" + }, + { + "type": "raw_text", + "text": "Score" + } + ], + [ + { + "type": "raw_text", + "text": "Alice" + }, + { + "type": "raw_number", + "value": 42, + "text": "42" + } + ] + ], + "page_size": 5, + "caption": "Team scores", + "row_header_column_index": 0 +} +``` + + + + +![An example of the UI output of a Data Table Block](/img/usage/data_table.png) + + + + +## Data Visualization Block + +Slack can render pie charts or axis-based bar, area, and line charts directly from Block Kit data. + + + + + + + +```python +from slackblocks import ChartSegment, DataVisualizationBlock, PieChart + +DataVisualizationBlock( + title="Incidents by severity", + chart=PieChart([ + ChartSegment("High", 3), + ChartSegment("Low", 12), + ]), + block_id="fake_block_id", +) +``` + + + + +```ts +import { chartSegment, dataVisualizationBlock, pieChart } from "slackblocks"; + +dataVisualizationBlock({ + title: "Incidents by severity", + chart: pieChart([ + chartSegment({ label: "High", value: 3 }), + chartSegment({ label: "Low", value: 12 }), + ]), + blockId: "fake_block_id", +}); +``` + + + + + + + +```json +{ + "type": "data_visualization", + "block_id": "fake_block_id", + "title": "Incidents by severity", + "chart": { + "type": "pie", + "segments": [ + { + "label": "High", + "value": 3 + }, + { + "label": "Low", + "value": 12 + } + ] + } +} +``` + + + + +![An example of the UI output of a Data Visualization Block](/img/usage/data_visualization.png) + + + + +## Task Card Block + +Task cards show a task's state, optional rich-text details or output, and the URL sources used to produce it. + + + + + + + +```python +from slackblocks import TaskCardBlock, URLSource + +TaskCardBlock( + task_id="weather_1", + title="Fetch weather data", + status="complete", + sources=[URLSource("https://weather.com/", "weather.com")], + block_id="fake_block_id", +) +``` + + + + +```ts +import { taskCardBlock, urlSource } from "slackblocks"; + +taskCardBlock({ + taskId: "weather_1", + title: "Fetch weather data", + status: "complete", + sources: [urlSource({ url: "https://weather.com/", text: "weather.com" })], + blockId: "fake_block_id", +}); +``` + + + + + + + +```json +{ + "type": "task_card", + "block_id": "fake_block_id", + "task_id": "weather_1", + "title": "Fetch weather data", + "sources": [ + { + "type": "url", + "url": "https://weather.com/", + "text": "weather.com" + } + ], + "status": "complete" +} +``` + + + + +![An example of the UI output of a Task Card Block](/img/usage/task_card.png) + + + + +## Plan Block + +A plan groups task cards. `slackblocks` automatically renders nested tasks in Slack's plan-specific wire format. + + + + + + + +```python +from slackblocks import PlanBlock, TaskCardBlock + +PlanBlock( + title="Release plan", + tasks=[ + TaskCardBlock("test", "Run the test suite", status="complete"), + TaskCardBlock("deploy", "Deploy the release", status="pending"), + ], + block_id="fake_block_id", +) +``` + + + + +```ts +import { planBlock, taskCardBlock } from "slackblocks"; + +planBlock({ + title: "Release plan", + tasks: [ + taskCardBlock({ taskId: "test", title: "Run the test suite", status: "complete" }), + taskCardBlock({ taskId: "deploy", title: "Deploy the release", status: "pending" }), + ], + blockId: "fake_block_id", +}); +``` + + + + + + + +```json +{ + "type": "plan", + "block_id": "fake_block_id", + "title": "Release plan", + "tasks": [ + { + "task_id": "test", + "title": "Run the test suite", + "status": "complete" + }, + { + "task_id": "deploy", + "title": "Deploy the release", + "status": "pending" + } + ] +} +``` + + + + +![An example of the UI output of a Plan Block](/img/usage/plan.png) + + + diff --git a/docs/static/img/usage/actions.png b/docs/static/img/usage/actions.png index 8c2f1e37dd06bb44578962cf4587d7affaabed49..579e51ce2951e1ce9f67b4884fd21b34d6e789df 100644 GIT binary patch literal 51091 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 y-e165O}?1Ml|SBYQ>ha_U7rkN*dQBP9_4 diff --git a/docs/static/img/usage/alert.png b/docs/static/img/usage/alert.png new file mode 100644 index 0000000000000000000000000000000000000000..1af13c8a56a855e3d91481d22e3ead4379c786f8 GIT binary patch literal 76182 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 QbXHhjtR2p_+Qv8KzXH!U@Bjb+ literal 0 HcmV?d00001 diff --git a/docs/static/img/usage/context.png b/docs/static/img/usage/context.png index 6f7458060c840024628b6d9bd1f71aec64dae550..301a3f3d9f82586602bc38e4ff82eadb919efc2d 100644 GIT binary patch literal 39456 zcmZU)1z1$u7dNbQDk+^xNOwyMN;gP%!_eK0bTi_fs7Uxo&z?O){rEvt;n_3j@8I_t1Ss&V6`d>qejwU>_+%1pYAEzM+>I{tS=W9d~7+Jjs(Uw zZqnVkx@@*bGEBrqw;#9e?lY(3kq~E;Bns6j6pIaM5~K=aX%Z9yHEEKB6uq>jw~nrn_8Ay%qT7%!10To_He!P4NR*l#2esOe1A@YZ4J-XDz?JC+&o zQ4g9Ku|~actN=~4bkbZ-DJ;TQk(3k-0S3xfkThE7RZ(PY8#Kw|BCOkkE|m2Wmi*DR=+%>Or$U(~1HD(1P{CRLIoUIx z&`2ca9{ED!5)}(28f+W=SzH4ZI#rrY0Sx^VDY}F`jua^8nW=~Ns6-8tJOpd9HOV^%#^!-vc^Ce~Y-}62N z-_v#77cSZmiaT0;Mwcj5n=Veq($^xBA{%Nx+lqG_-As#NKU;Ox(%aNaClD& z&<2gj8>GG}eVCxZ^DEG{{C~Le$5^um*BgC%7Ho@}aMQ@zwJ9o0V>rYA@~`M*hO z-Uzo}vsDjY=Snu%w+B&4Rr%9S3jLk9=VX-Yo$aCC3L!!y`ZW^y@8fZc$a<2(U&tmK!w2I2 z39di)Z!XmUEyHK+m+>egB~UI?xGxfJilsYFE}>NX7}~@2|6F?c7dcVmj|#EeDO06# zGjxiE>>b%s8Sw+&6WQDU){C@_obhl_Or}=EVP~yF0D-wkS#QQZ742yuVej9OftZf* zo-0e%9B@?%kuR0_)~SviRAj4pCmV=ctL6W1z%_5&E0V#@>X)iai>$GuDDNxbDz7JR z!3y)K5C;jP{GGmatdypW4 z@{x!vzf9?Buo>lld5VUx@x=OngS*Y*|2fCB;C~TvUv}dhaGivRwr((A?sXq}=L6rV z$^O4!>_3tZ@n$9U(Y?)DKNPYR4#Vu9$)6-a`n!5X zNX!zm-?PXPpV~$cCkwgDmYI|wUj^o%bJH2*T+Rcpq8UT&p3z6X<_glK{%jUH)>Gtr z{CF%#_*(8ENd85jUcjr@Y`EE-2oz$}=K{)ZRR5)Lk?{R#wGwoVMyd5MABv@VhF`4X z8nYhkq-6jp+vt4sHg?NfMidGJ_Q+x;r9g7^_)0_e$T;}E8ko-*>i?WO8^#ZVCO$eh z0E^tgYMV4-^B3Uvt0gCSSQ1lF;C<(THqW#=H zU4r5lQLjET6DsPelSPJJ$b?6aau>DZmi5TfN1EDV`@Ll^KXSrT#8o;O(8=j%2A#GTOVs&Kjf7nS+ZtnLJ=CC-y_$HZ0KM)~#bTZivuYT@XOTNnybyx|6& zB#6wja;RN$ghICLpJ}U;p@b3|`LWhVktYf#NyAFoe1-pps4J{1Uf?yiLimFr6?>&& zc=&FiFiC*i4g{Kh$~oqz5%u|dT`h4$SfLN+Y2h^8FyM}|-hAtI6u5X7)Tdf@Vg2s* zt6-CN^Qa{A=l}9cF~oN@mWoX#@a@^g2W3htwK8YT!pCpgVYU>$#R!_Lujr>_r^m&K z5VS5;KkG}BzCh`5Ff)1}R;SMva-=C4Q%&l7b%Z;;qqf~`Xb$}~Oed2p;BTF%6qd?h z6}QT`w6|1a+3IG2O4`p*d&jZ(0-@sbPig-+bHq?}TE!w|8q^#yX4FVBm?APX)NC;a znedf~duHy?qhLdp0?eoHYZ(kVd|ue-|K@Z5;E*I;_xgst$4mA~yuh-^;$PoL4F%}C zzX+G8YGm}1QB*XoU=z|CV*an)2OEt0ZgOJ9@dfYAalF#3og6;l9V(>Lv#@z7m3= zILKT>I2~(iu&2q#?ptIl>Tix-Y8|`y@=)4wjimfWD6ynM$86_sRJ5U!!D)r`sUr(G z9~dcwup0=MeBnA#^HJNbTY2_neXgL&+~K`}RAep-VFG5da2xH7%P~_;t9rO@@~bZ9 zO2c=yt~>H%QyKVp&i~ce)4k(Zqzdbs`U+It) zG8q&-(YC}Lkq|N^=P3OW*8uBALUzG>LbBd0&aM}KtChs@DPn~-lOyUcCa6hB?!a<| zKy1bg(*wDaZY*JgSCxdf#&%v~Q0Fa!g;D~=IJRMqurQhkOh=OWzT2BkE0N7o=m^hP zr$S>n|BuXztJUo;g_7?D#6uiM19wjQ8jCov^#5f|s=-MzA>v^Tw>2>xL4Filln5uu z9Q%896RlW{X4Zxulfo6FLlF>#!dJSV$)I2~mP$%~|0+tR6R$bt##_!!SX`zJQ<1Iu-ZfdFh z{N3Z#RYuDZTI?>4#`)I&~|3}ph7vN$o1Puvt<17BBoL}5qZK%t4em0( z(xF@QF1*%NJ6Sy@4=#THA_-X&!Y^5FMba)76&g8m(d8iNw4;ws1Eq*j;McwZL)j(w z)=y$0S?Xi|X1&tq0i}9%#=kfbos^YCDuUv06CD1%>>jzO#T-g?U7eyx#dOlV6t1Vb zekACE7)7C1S7330D;;e;Hyc3?N{Ljyb zN}{^LPy}Q)=)RIRntp2->|`;R`pg{UqT(CLP)N-GQU}^jNz!fu85Ej6E?+aisfuH= zLr}(PY)X-)$s1wUggTW@`OKlBGa_Lc-Xb-xST~>fBHdg zUi{q5p|&*bO)zy7!vg{u*>}ZGPl#u z$H+)0rWDt%sJQ2|h*};{eawX87iiVQWGl!sc z)t9|l$R@)V5Ah(5m1Ag)pWSk5n&Lm79r2+`^Q`2&+3<3%bs5c@^H=>O4sjw3!{>TM z!Gljx5ruWoGIzH~v6OE=oHoM#yNS}KdE5X;vnlYhn=>LJCq?NQF` zlB074nX{`$K)sLWDjIvslAXr!ZE6pn&u7(BShC`$Oeo$>#4z@q&gjv=(;I+|eK1y|&PFST+ zYP9s{vUo_fyeDwhF%$4Iagjx^PlHrwVBJ|)l;q(|Z!%+by~_x<_OfN%9(zXRn4Cs~ zWf;O^C%V|P_Q;bGovYwrR^5d_Hi?E5aVS+YQ@-5(Uzt8dWd58Z7&0(F(PmyVSK%(G z0q?nt*z%kfP5A2@QFCFxNDjIEXv~^LQ3mK14f3YzFT*$L7cr7O%URxyuSuQLbPgk{ zMlXYuNE!zCGk&hSLAnoGHyk?qSNk)y$nGJ~DQTm1o;WP^n``Ys_KOzKu!&xD_E}r( zUi9-_O;NocE_HUl^DeJAM4-nkeWI89ftcf6-%|1TQRF=!=Z?l7shc)1>e%9Sydre4 zr{|()yJ(4bAu+U#>;cJGYa|yk|B=|{`^p%^O1^u2vMK4b@g%j6@i1eIuj?O7BLvlF z7P3CgqO1ONq7XrgZnq7yw5`{4CapicLr!pKR6as2U370)y`!bSE33TJT0d-}oN-sy z#bKDi{_%834msmKqU6g;UlL7u!Qd%ZYw8JDr0Gu4ZkcHJSiD1b^Pk5I#C`)yT5&;4-mXhBYPW z7iddOFKQo4Ab!^tp4^m&C?cHsF;w$INp)MA#TS7b^DCDS#tX}rL^Iw-?W^inF)NMZ zI9c!L4qg?7L^6nd(sP)N^VuVuo-4tu!4of1I2a@*q;*|UN%aCZm8g?7y*x{oa9LEX zAUa)m-B-N-pF-94Izc))gTmmMFt1UfQ7&X(dBcXwOgDY(7SMy*4DUKw@zR1^kw654 zz%zG`h%w>djB&xac5S66=!lVH7MAnih2EUj)?6U6laASV}96gh+i^? z*RX{re#y?o)ROeR2VU)C`h~B@d^^X!kCWswha!n@gLko!+qm`W_-luXLz86GtJ&>n?k-hrikI7@8^C9*1@u8)lGM+(ok?sbN|q9g*p}R< z4(~b|SF78*Wh6kVte&~Ab3f)Imx5%nM#3n$+Mc~W<;Xl*!r*9r)Nk9Il{xd_sCw4= z>Dly9mchmVldaXPZT6kRM2M%{0sqxR@rjXgM04+L^IXnxuQ2{u;cKcVw5x%uA#wLK zmKRgscqau=*06dmYO#K}xh5+}={9Ee{6}AdbtFPMXod}y)ru#J03bRkk;r2a;p1Z< zz+^0Xc46dUb%-K#;K>=OI^Qh!KaMcpHz{(yyv^qhis#aSaJx0QLTuK@2r^7C48^Sx zowW{UJqqo+0y)x1AI-fZ8(ww=Oc_d8u;g-`h%yi{`81Zi z52eltb5-_k+GvlF=~R!vjWzs1ZR@!vCjMZje+{R@&(|u4xWDve2f4i8@v=63FCeX; z5hx&AE~L16wm%>vbIGyQRXS|eM4%|kW&&6Hs^>)=pW?+SVxCf6G~1BGUvVLEUnv|; zitx6ZCIJb7Ida{+rm?uVxS}GaW3ATl<>hDP774$10b86A=}n5&^XzU>(~Fp7qYF8> z)z^oZob#7Kc9Ei}=~7AujV#~i(yYWxQts@AJsR?Fv$k3_k#)-Q82f%i865OgoNShy z>CONAG^LF~8?`k_EM2@?GU?^PDv%lT(w(BzEKs#2hOz6EZuwVmUE+uU8ozLuYNMzP z5w!iiuwsq@Mx{dMV3pYgw|E-ykuKj{zgvA~Ol|8;$5cMNIBv>g#`_9=v6%ew1i5}k z`In;0IM7?c|I#sSRIiSHm>OZJ2q|6Md^u_uD53Z7-#c2pi<=%}Cnx%ecEFMoUXB#W zIPbK#CDy0G+rn}Qn=lt#^P6wE^6mFcxrv`CSRN+b(b@1_?fzzKU7RP_$=66yj`@Ri z$D5yS?Nsh6OFd>(94^&)=2LrXvn#B2EG>BEV|!V0tA_6DUzyxcKGMBjepU5sB$d=R zkaM~-qh{S>dVs)RMpey(0m}uRDlky|D@A7Uj}ucb{ZW_dgp3;BG_ygePs<(<$us}g zL&1-Wc_#`^cq}s?sV5t`ef~3Iv?;vuP?(dI#J56?Sn!g%-ZC&Sye%$(=sBZABGhz$ zNi;ot-5FP0mtNnx)vmm6P*E$BLeTQrijTI`4E4?$CF3JStqy_q>WJEE2g`{S>xBjQ z$9{pCd~-77$^DAoQWBC_hAU-Io^4yQyWqHVf8kYH`)HNu5LrRh)tO~Nv{13t+)f@{ zMH$k@Q7{?a%VB3-d0~8nx<&HR$_bhN@`VgiD{d^tw$4>|MuvOHohhq;Jv5^g^!{US zqWgTBB4KjWsFO0~M_A?l4vIu}7wvru?OSAI@Ye>O{H`xBl%FeFL3pVlA-Tm9Tvecn1V6DhLFU$dOPz?y_7IoK)Mt6VVuZ2%KCb! z;D^HJ=`PH0Bfhr->DPi-?)Qd%5RO|f2H7kasg;Btf>@#VILZK*{ z;hKq$+e^oi-j<^k!U6->CC0r>%x|N9^;kE}0yXKp|FH8mA+k(U^^J1;2(dR9HFb6D z92_c2N(l+7tjT^$&kLc*y3NUpLpBNH-P-p%yq43Uw~Kx=BEQff;d4A8^bx;9c-~S$b4dya?3L0nM&`Os(M#la;aB#XCb=xN#)@!$o1hvx6P8H)a%$1&LVP&TpEO58@Sf^xYL{s$q4`)qf@;J09J4x$7 zFBYy%iXR@HnME_AeIjM}N+0u0RJkH_6e|4Yn?njpWSj&{b?7bK`p{iNBiy5eGS5o< zO0wYhcD*cKpY`f+p6s(8yF!&>3XISXQKIBA5_$R+YHu(G3|aCN-X=%{3TF#vKQk#) zDD2ih`S~+ii3au^OmJ{;#|TS`6ivd9O}jv0vZTR0g+eJx=*AMTD&#R`ZJ$4URiZIs zN%`<5RswXAglQ7|f{T@CQluzfg(=fuyUGh`LpQIii?&pMkuio{|Dr_G5vL#?>W0q3 zyf5onK2V3k7bcb)Ghm1xVZ2}z1%4geT=DXe$cz2(W~Ii56YGD<%S#-4&9*J}3glmc zL{n1}E{d3uk)xT}djsgIDg(i6;R$N_*#!c-rt<>X+eF2W^L(e5=_Yf54wf%>7j4S= zewBB1Hw{NKFnv9fYUa*wwN%u}Pk~f5$j0T#j+xYVVMHx2K$Y@HJ; zmOEj}mceG!^(H}t3{qU#G+dZf?rerUUGn)gS>3{FWEV5T9IZKvMwW&eiCxc5wAvDf z*0pBcZ;7opyXRDNDoWdGf@Ag;?l&wIXHogLPuk_eG}--Dd9cOg7bV=E)<|0gVL#MC zKZ+~=!eJ_NLkbYf9Sf&@8D%eYTwsd`IS$99NK^ljC&68)_!a&sK2s*ZEpx)XVEb7l z+?Q7t9ff{G1eCmh!Z5<6FKdT3F4)>p~4Z%sQ7)Phr6&- z$RD^O3V(y^B*(5wjWzM^AN0HNGzy_|!>xyZFQ2C{ySzNQYEx8fAtCX@+yWn_*(pUS zzX#E)ZtW4XW57qMYH>C3@?)B5!hQ?E^iNz14_FJRMk!Aol;-PVQ%wU%WZ}!fA#qh= zjw`dupS%@$&S4Z8MjyA;U66-bczXltrzeWLy5qiK>XT%G7Y=9jS10v_3{rp1Hmhe6_%6L&*)poX)$4++LGpUzqJC!C^1GYhg zycP<5cMXHf*VJ)e=84Mx1GWTVAJx>%Gt9PA%D%YsY}?6t+h{$1+pSy0QLYouuRl2b zNRa}e(xX(0iJYxLR#0R4xxI;gQ-o1CX`UjLuTq?KN7MeO#0}jCpP+h7ZH}GdM!8Zk zYIS+#mjt($G2zC9rm5Sz;?vdD1?8)2YWksg^2g>WSQ_0f!7m9Cd1ATG0}YGN!bEex zu?n>kIcmZ8cv!K%FpAH6%n~GE89w(;?mpk3g~CBxkzXP5?zlqHt?sx(E?QaNtNC&= z*mhkAnp&jPr+#FxM@edQ#CUk})L4wf-v79IUU$M$r4o^uP?7#_8sMR&rDbdT(da#U z+5mQB2->2XqbRrH8hYx(MSc~n^ZPP;FY{f^+C7K7LU{Wc@8Ck&CSNK@0?zbIn#Eq% zV+@)*=civ9bh}cLJktvrx?78SVn-agSIN6H-9(hy9`^VU_6&=UCh9IV$*$~aE*yB{ z$-NG>Db7_jkc-Hwp2%$3k@xwO3oTmd=-u8Pl~jXe`yIVoABtn6Yc{8yrzm*Yw=xYT zmUe$rV+~x>DEXm-1Vht`xi&%7S5}^!ELIf}7PelfN5{mB%gh|vwCj6|P`@}eb$NZV zu2E+l7!;)4>~gX-oHjW**&f&b`z@NLIcb7=U2ZQlrEypv_Wg%`FVgj*p7mE6*@qt| zKV{1$r=__+-rxB6_zWg7_H}m~nwZqp*2aDod!Qj9gy&1ATaMk-+cSZKLGc;V!xh`| z6f(oS=V>IqR`ZOPx{_&*CPlvFiY&%b7CrmB7eI+7TaJr`1!@SJizHg>mu8^wYJ2-L z>NO~LIC)(g0wpJ3H>i)w)L4Q@@bK_LF}Q|QK0N+!nET~@SmA37Q>5UK8g)7Cs-LfP zqrs3B&yns+JseAgEBlDcU#J%p`rsMA2TaHz5s8*gbCs2qHBdCLwY7Eq3x z3I9p|wacSwUnX7yTiGSxY}TyDE2XDvc<%d(m`hTuN3U3qDD96Zk=^28rB$zLzSs}# zda$}R;gt@CPg#lWvs{>SUaY0L+R~d^W}uC0NHyc5zS~1>QJ31GLq4J;$ohPAZx@vz z`;H{VL4YFv^yFqLU2!p`X+G9+zgz=LyP7U?Mm=t0Cf+%69Bp}CkzBFnbv?@T0HLob zg3{fY7&8x#+vbl160hsk?JVzByUia5^L5|y@?yMUb+rBE-OhK$9v|-7?oS7M!f?E= zSA$hlR4OVe+7WzpV{)L2zAE*Q?RPNtXDaMh;zz&*z`W24t`2mJUqS?{NZtB8mQB0@qtJG)Gc64>XOmFo9?KVd&~_$8H3nhPDOkjMB` z!Def-I7`kY3un7nXT`!1Sk$Px*=o5XOk^xra~=0G>c@wQ7l*Ev4{}J+3cea&baq#jT_IS--6k($Vwm?eN!dKlJDiZ@v(tP!9M)p5Wo&1RHRu zb0zYi2BIGy9}f=?%gV}R-hl^zi}rgT35mR4AcBsuz@O02&@C-3;H7qap%~&2UO5xe zwRVX@RfGv9MCv#Gbv^@z#>U3^-@cg`87($BGm??5?v8)6va+&kNcSN9oU@`%!OqUk z&CN|gLGkwO?ox~U&CQJzr6M&}Y>(aE_Gd!cP*Eu2v@hF-i%lRD0s{kwhlfQ(L{?r? zVT2YH6=7gtST8m@f(=O<8ynTt)!=z%W`@`K@XebyhDJup%E}iP7Z1%(68|*TTqp0) zWR;k0G>RuB-eB-&=@jNRS7b*HVmn+!_E#t4QYnPZ1n<0630_w@XtQwHh-px4$Pb-;deU(^6ZtiP(`r(lg zYp~)^X97>G?w7xF#iL%~;5a)wOTNKaan-M=uc$bgC{(O68GRhod92j!@RLsCcrPl- z#?Icd(l6N7&!M-{TMsEKY=Nb8ibzJ75zm$jAI$V4SZVUAY%Lx$wX?UE&E#wFxH%n& zqZ&yXzS1C31yr%hO>cPuQwrl-Z>-hh~I(6pA8Mok+g#>IWsqXp<8AK$|K{QTUUx{i)c$+ybN z%GTD*9(_j#2b7mD{bK-c01?JVTwYjM*x1*7J$B$I9ndj%{D5$88&dvfJ*T)U^+m%&S;8Fv9KMYx31Y_di zxn3XZy?hxJ5`w^!;kD6^&XbWD9o=roqI3K_dce?w{|SU02>x%fSx)x$ypDSlU>3lA zA1*X>=`yuvf`Pq#`^Sk0z98gv`rRFh*%wJvRadtRCLDya8QUC)`B}?LWPZp$hTDC9 zqP3TG8k0FMeW38zX>OI$e0W>@Qj*?5h0YH&QTQU|l&o6&YqyTtfoY4FFMo9kTWb$`5>5hyd+Lu# zyVo+9Nc~J}Jla_zLEcvEW%KzH;neUT8uC6`wJKwG;~@rD(fC?cpnB=niA!s1>tG^% z8js^%I=8(_xi%3Rnw*M?SfYB0l(C`VMi44NJ_t6~(+#7+#D@BMB_*X0(HtC-^f}j+ z23|SZO3dXN@6G!{Euw;t`o|VhQsE$0f6rEdRpWy!HIMS&S%Sc3H6F5YaIiEtj~(1> z4;3O_(Q$3Gl|?mfj)=S7&g3r0j2!HY-IL0whieq`$)Qu065`J;Ev4t=>Vg30mK04%MWwf=2hM~BO)TImT7|IvD4OGT3I1=IdF7ztg~K30x!IL+2;M^1^AD( zwY7qR!iNw2vsETpe6B!#7ABSGhP00Zx(Mt$tp+;^8X6jI?i+Bz+1Xi81d|xFPS4MW ze*A!f&=!#U7ac#`T`7WdC@PZhdn6|&zCuH@S!wqLF}St439k6Ca7FZ|yB)1s^YWy- zaj`zK*1X0|_e<8W@zj)(QasM&)Z}-Ud#?)70E}=it6x>EM=h)ZweQ*%7`&iMd#8dM z=EAHF2Ut(gaNQBY`L4y>s5mY+aNWO0yi@BXcB8s9OmVFo=HtpIZhY5ayw|}w{_un2 z(lGgki4Gb!pC2_yyGE?qn3c!AMzyq5{86QDrt5rVFh=ht>UC-+j14PMGNOhBL@iOL zf;v)7)yZAeY7S4vRa8f#R%s#Ni)TFpOSWoo)^Y$Ym#x138t1ad+3vTj)~CliNiY*t z#?r#VPz@p~DpMfio-XU!hEv%sPS$z=*Q$doQ~IZEa7CrD!Qo^1oUYbW;P%I4C3ECE zUFMA#q?x9ya7}#a-ik{KKOYi#U! zrmd!|CR4)kx6_~NBXQxV(I&_kuSX9$h2HVkyk$`i5fby8gSZ$PiUK({0}4=RR@O2Y zu7RoP&f1!Sn%d0lETTH{OB56URD2%SKZl2{4(4irMtJA+duAkqx3si$x>TbM3?w8Z zBsDd)7L>WfL~xg%K7C3_O)b-D^O~=bZ+qdw-!Y-=Sq8 zpVvK*!7KrsiQ-JkRsOy?}71ad_0Oo!0Td98O~ow`Xv~ca%?YN$T^q#K!1oEX) zSiq#&+n=?!w>LKOFa>2~WB@(`X06rz%34ZF3e2auxw(*#kfLIo8eKjE{0v~oAm^f^ z(TIpVuMQVM4LU|`70bmVBs65g1w`oN{=SMb2V05&!@ zKsEq{)zxf(FL7|xe*gZxsY!z}E(W>Q_X;aLS(5=`ZSCaXkj`N>7yni-@OysxL{oyT?buyLFU zsvkLK6OMlzJRUaFNA&n$Axy;YL)ZTBFE5XlA%OgWF#&C4Fv2 z{ryFBb#;Y=e3fV@?h0eZ;hzh#6@Idki;gtYx8z-aj~{$ zxK;$k5x|n3-fI0|(Zqz3yZc>oGA>X?kIE8nVjmy9LPdpZ1Ir2uLc+u8sHsT>bXN#t zZBV-MIUCa+itG#|?1#e$>guz}fhoebaqrKE(Lv9+uG&u6Rm*Y|we_SK{AvN4%AGPH| z_;-)mfp){v!I*Zr>D3o|X6EhBBwD6!8$BL2Umq_MD`_nx%1etwX5}+HzA~pRO`);= zQZ0$LM?XLdqP;K+_4d98!1y^VOg4k(Vl|lL@n+OJlf~!<2ti3nNx+^gEG%TxxlTrS zkM37rdMEQbmx0MQGkbfS92pr2YU!dV%lxWnAOiWD7&AE+cz8e`CK}SayOnv_F z@Bsb<+r&X#)A77W08stOpw~9NYZc%o;XAj9p`qVE3+0XPg2*5(LMJ9}g)H*}i^$vi zX<=aj#2F)Fc?1C`J^{h_?s;k|KGXBCYAMp$4TnY$s~}LWTCSF=s;eDrZ5x0b2M4x? z)2{vu^#J1Ck!Tc z$U6Y}N0si~>TN)}MekxoFRi|Ql5$0sL25Thg`>j0p_&FyMx z8Zws=k%|R@Kt@MLqe4R)ydK;>eZs4`Vf$Z)M3Ib`Q%5^bfc+?80cz_O53{*M1cx6rBJA(2WC$gegaJ$>uPuUtuM71?L zO(ra2v7WL_vjwfHH$54|KD*;4ev^%(_k|(Bn7WE9XUS=_4b8^hMT8>(ft+sTdK5EC?1VNiJ+p1A}4y9PUaeG zmPKzSFRsX|t1F!byB^?te6<8M%HQ9AeSIAyIw+-VMnB>U6~6&4$3jl75A4!HrBjz? zfWiR22Y>!N27KWYAPb#=$T;-s)egJA%G(~@&bEdDMNUacSzKHc^g%*GiUgXjU5#Y#<4{dwLS$ z;{iQ4UTSs)W4eu{ko5EO6GXvBNLMJNqoFxHIjN|uRBv?H-J2{1z)%ZNijhkNbY>=|XLiTZ($c^s6OSaEt+##6etx<$mJ9BMkk2I=OP?ph+R)GeK(j*XtfiBZ z(ga8oPRNo6SO@^DOauzR?8^IHkb<_iMoDVlsb7(koBNKB4;W_sI8fFg^ENg&7n@yK z-@N%+P=FA?+^x@yz*;c52Z}v$lq!g10s?nH9y>dQk0VJDVzaWmfe{-YA3ri86DTai z;R^@rcsvXp+*MdyEGZ#@gp3S;`dN>=`BKomQhY)JFngE4psA?7)zn<{uyXycH-Rcf z>E$wqxW5_6fL%OEt^8|BMa(2*g zO|m?JmkE?fCO85DK8aBW5T(PC61txT`+$SLc<}<5S8fj%(>M&8E|2%F3dz9afr5ep zd5|xg)vDV8ML>`i9*!bc?r3X!1A?7WHWQ`UX|~b`q+1%F>nRvYBoVKQwl+T#6O*kO zn;$6<>js8~Y@it4oNbqDHC+OcSyNL3@($E{Q2)KwBRH4bkKO@Cnj=lxiT72gD99yk zZEZ0zG01+3fcN7~m_pPZiBG3hV?FZkwk6X;bJ zFf~-tsefulo@7#)T7^Cs9XOuMX7&r1bTx(p7=Tv-D2NT4Y5CH{Z0ZCTfa@TlSUf33 z$;!+;*3qHY6@&_i*WtlIi`zvJ@VwgE1fu$&rTLPjj6FQ=fw@>`HSctFsAVIVE$0Hf zFOYsDyiRm{e0)Hx0?`2IBrfhxQ?^%Ou#L6sY;26o>H8*CRzYPkW z+#wa-;6%NBuj;+-ay1SSXpGh&*(utd>vf`z&|Q=0a)z zydHPq_8##a6YB`mA#qvrqgDsS{2BpoQLOBQp&R?FAV+%=+B{7xq7K`HR#;{k(qc%=h~PaIIFL5#=>JUDX{@?eC3y9Kn~$(T5abOw*( z?yo#hA)Or^!8)4*cNnZJDhkTd*jbeK{cAe9lJfHMZ{Mh>sQQ+cyg(iDzF#LX8BWE< z#YG6feLwc=mjWn^=PJ;$RxlS8DJG*l3n3AfhyNgS5a`F&h{0DW*neW^$LE_aK z52pf>#KXk}%ntho&1eQ9=Rj6AHV1I#D1k?pUtd2~84u4@naBdeR*t%xiH?KAspm8H zpU?$K03ZP1;U~IR#~eUGW@R0%tpOzD^1M9swx*w2-!9iL&y5GPX1kwGtlN+@J z$^@``y+KBR2qPjQ!jIURtFZuz))TOyZ!#H;HmjWpw5r4cUVOki;o`cUsW1Q&mkjvk z*N<`hw>!B&SREc(@AW})G-HKPQfoqc^yTuwMa^_|zr@AGB_*i>oej1ONJ#;ErYb23 z2k)CP6D|llKt>5TtUT(J#bL#>mJ> zMYVmpIS9BA*x7M)e(rI;6C+2hRH*btgD_d;gYijU1c!~zmu7x`eozf{SqNRQ>VN50 z%`!7H6B82ym|tJ(2eiS})iow2=K1sIpnw4tV_|0Y-1|M+*X-<7&5k{FW|jwY-|h+ktH39{?w!>i{s;%I5^uI8}aGsC@epow%RcN>5ORiFknu+ z-}OO_LY5DA^6ja{EyKe*T>D;BRD3G=!_ETVf}3d3Q(^NI+%2${BZqg;ZcUMO_ zB{Dc=wq-25ijcJ-CZ{c2o-r^o$X%K#w7VEsC^d;~@yo?rW5mgaXXnqU_?3Yh zD*oej?KT{Qy1BLKG*eMJ(c56`!rIGMV#!xe!A}qYg(~{#L&!jR0@(7ws9Aq}(ns$Vw2g(-<7en$C%(S!?K@j86sU3e4 zcrXLT3Amo2#XOKYU{qe`W8whMv|By6lhwr|yTFMu($l4+rI+20S^yu!$Hmobaza&N zt5K&{n}mSTBI7Us`yId+Ftmlx-T=N2$eH)epw24>O;ZB{OkktR%Rl#P0RA7y5GWHC zgWhn1zDQ*i6)1KpS@(r+F>}GVY_4EK6L}0ZQ0d33T>x)^Z2&qWfV6@l&+Bphy{gI{ zupMdX;h#U{fNlfE8AwxLFoBmr-0vS99UUIF8uYy&ARqwRDmE5_A!+{SPa6Qaw6w)U zyiP8zuCOpLKX)C#On@Vxp9NhCV`Ly#KxuW|fU1E8gB~iX$-v3aztq>a4M>>b2{sHj z92{I~S{h`r@qO-CCZDVDBjQGsE1x!)FCeq!FEKm1k?|p%hTmLePWw}(z<2?atX`1lkIL}+CdsKt+dXR4 zA-2<^KywIzSd|oesw>56Y3cNs9qr&II!TUkyp^Yv;||=qpPajbq?MJ}dQ|onPAnAm zo=a7o;9VB6^7*quwV*kd*d4Gr?6Wyoa5`+3+ijKbbTRRbTe{?r^*0R61nM3B&^eeg zTU|0*TY5~O-G?wZJ{=cm2^Djmn|`+`tFZH^JW%pm?&+`Ipf$qtjle4#f{&!Py`)HL zb9Zohh@)+ijMcUCZ@2OFlf|T0zv~s>a#l=E<(U3fogb|_I|(#VE`6(tdT&48XEAw|R0AS<>2J3(f{b@-Pa9Dnj zloUbxT2%A{2$jxG{ef5t;CDZ*g)z2^HUd&D*G5>E!^o8?NcurWW~tF}pBE5(V3c~_ zpY#C+wKDINA_WYkeSil5i-2_xi~K4%C8ejYFAm=I_IwxAThN2~1CD?x0OkXVQk*yF zTh&%o-Tkf_1#0C_n{EX+;P4O-46dKFiv$R-g5e6>A9rys zxflQf2U=Y~*6!@=kS0Xl3&xH@v2+`f=rd(o>FNR#zO%R27{obn-2jV{`S9WR>T0>k zxg2*fb^;aOt7lz?DX{X>Pn!P3Y20_&br*(T(AWUh;nM`eqdk# zg2jeU4-C2cn={Z41-0GzXsHyKuLlRP$W}g){iJxpTKh4#5cujp`>KKD21N$|!UUcR zendX-r&?S2d3fgf`o4YnqPqYOF*FS5Tc4bm_#;IC0)T6R1Os}aP^q;(1ev89;3R1C z!@|M>%mfn*7#Gm;8*4KgT+%) z&NptnvS79|XSFe9urXz}L&LU{IilgP7pp-~bTwhxz{rQef^@ zMj`~vw6_B~2%F_`IsnMi_^)66i36b4vEdJcEj=UY+&~aLg7yIPUIwT2!XJvI^LUyB z{ANO6veVN?3~u_t)qU~0pKg0}{1N{a=%Tp_193}By09L6Dnq5gH~W<|2@(uR{&~#x znukC2SvI1I!Ds3r~GPpuMpYiBngJVD$80|C=?%6)r; z==&*bR39c%phTV>@FDW^dq+nhKuv=z1tx->r6uUS?Ez2&RuJgE3Q7sH!R& z!A5BUJ3Iyq|Jl7|3oO3f-Q5WWOs+`aclq;J+t}FH+A`m;^r8AmQ4WrdwgKw{I2WLo z1)S6N$xeHB#Hil%Uj1QR{5+6L!)ctfw6uK}CTy!rCf3++rAI#R@X^PmaAOy}_E(5o#7Tspvhyb!+TMpwrXWdf z!^N@E7pKqA%ABci)s#ByG1=^DZ%!HPOd0J=)&2;q+d~;Yma3|-k4vHL>Wnb(3bL?^ zg?JQA?nv!Vmo-0K=z6VAHv3HhR`tC%@5h$Q){EeN7l738&jjaTt7bsw< zR5mlm$s-eheIK7^<}^T0gF?sHc5erYDR{A_w)T%D z_~QqdN?>inAd9vES(=@l-5$(_FD)-0la!QHShx#BtHAY&KQK#ytxt*ox`WV%S->h0 zC-DT*H6PeV;aNz9oCfAne1MIBzEYO=;|)l(Z=h)lOb>R8sdOI4AH%~38v}87mj@bc zUJu{0yg;{iVp_-B6KDp|_C|q&Cj9#KYd6>k(%HENtXB|dv!Lq>nvw0}WC-BL+QEU9 zu`yitB5*coX^|aL)PUCns69yGI#5MHe|~C8<=1LwXD47kpri75vgo`F3>te7=fPcM zNmH+R_2RtXUTsAWZtAYS3>ED(WC583yx`V{OAQd@V6PI8P=Hec1NR0v3LtKmzw3#( zxNwE_6qS_xF`)o?1F`giGNH(G8Y$_P5-DjZ zmG178?rsp?2i|+fefQlz;qe250i1L8Ui({L&N-JrLy80GD0}di%1Rzi&O^9pC}~q( zYeGZX%M1EIN~>$%x8;L6I!swErQL++-N)&BPKkU@cCY_t00_I&SFnM~ga)@K_L+OWo zK_9YJRch|f79VI0vD>`+cBrN1xGhB-`20duqbRQNpH+<`>E;Kq zm}(!ftLBDl#{i{}}M@Y?7GNx)$ySXdE_b#QqUuwQ%H@yieOv)4s%&&2Ek6 zOZxz|ca==)~O2(1j8FyYdQh z8d$`85u)#wZibn5+Fu;bq1##9YV z!g7j>p*;f=<vTH~zzpK3MeSt5@AEEfsca zLtyE!sa&_F_^qXWT01=qV&Uc<>Fb;Q^JnK^_-$21#lY||;QR_(%2XKc1kOuj$QM2% zseFOt_u!Q&j+kbE7XBeTJeVm%W$LV@^})pm-xmiP8}ZH^Q4x`-&!4R;CtxN45FBU% zLu0u`k9Cy=>ZMo70+!aV5QODSi7oW&bu!|1$URNRC~G$r@f#HB+_9TW1b} zs^M>TjAPbx2iZ3B!G-Pbj+mJH`MHlmS?3N1Cr4g8H8OIop9O8t9pyVyizdGW=Aq9U zbSahmU+hR1WcOG~g`fimnfUt53^SO&;N?j-bX0g@X7v2|ubG*Y#miC$(jKeG;aP{S z%bJAw9T_3R)CgHpcbw%jkz)(YxK6$K046fZ)e4>OhpNT*<9??L-EANsNWkCUF| zv29i^C4mW(@H>^1mf{@bOqQD9eI>t`zWh6Vur`c`jlFG=S5fgEvKg3RUpfqHIHbC@ zg4d;#0Ndo>{)uq4-0o-N({2|hOVED=hqFuzJfX?Szae~^$D`eD_Rw>(7%3zd6in_m z-xc!R{k9w&BSp=g|0YA80QC-3F$oDl`Yk7?r)k<2*QwRZj6M$!kBG;w0NxGBI14mu zsHv%;Vuz9xoSPdUPXY>K5jtyNj>a1M4f;kwBB2_iDwT%rDeEgWGsKJQ|2)`WA_8l7f{OQxo>T2BQ&z!8RY5gk$#&%#f zMY_$<88bF9IXgScf)TyGzLT>vAP}xPz|gm7ZIxheEhsOCnyx$}1Iq4{ai%9v%%J*# z$^p_-h|I5FzlQJ7g@wKpME#DImQRuyh9VD7@n6G*EG^;T;@U$=1vrp+0F_7;=c zxX{@P#-|Tjhg+VWU#u|3Ea)QN9eNt42B?d^Bq>tj1)EH%;99^ zD?1$JjdN6YS*=IaVC5c$@>^*w?|9X`A~SWia-UOk&aEAZt~naXY4H2BC{=JFl~wzt z&f$f7AO3C_&3s^6PeHMlebZf1By?N<5M(nWi|3BoUQrE}`N%A-iqhv5B6cl*07e59 zg%7XL1XR|S=SzZ+$O09`7;$KLcxindvUT*!-RQdNKfXlZ_!ZRD0#9$MF?@#A09;@* zsq?xok$J^j2p=a5nP8QmC@fN`HXARCH~(P-%~A36Fpf0sYQPAZ41KFy_^h@GN&V5Z zyC4%&w{d9_08xK>AV5i5yHPey>Np=(Pdw3x093Ayj9EhH>_wVjjyt{ap?Ndtk^ z8cL+pRC0y)J)@(Q0J>mLo%?l{>}uu#FwHoBv$qcd7jt2M_<#^!>lgVP`J4pUCxL-y z&;x)5MGRo01_yzm)pPeo?jT)syN!(v{QCWJ4>=iGGN8#Jd4>6eJB&P`%LBU-luQ_- z>7yipW&+GEVn7f>>&K$*Z&`f2nwZ!}$&Bx+dDIcecIC&~LQ)tF(7$qXbA!Mh_DBqt zqCv+BfFeRdLb9^5fcOv*xh<$v`2G7XY&>Y)qM@L)cXj3Gh?|w_1i+z7FfkVlJgNqv{MI9+4Y5)s-^=imO zS9zW!JofzhsqUx_7q-WZiaXvhI)+jOVbUS@OE`y>6_wf9OZP)%TG2%L>rrWUOn3Hi zk2(Y|2T%M%JvD7;-n$mOpY#Y(J}g>WO|m0&9J5-_nZ){r#V7N0jlHZb3~P3BvU|(e z*-ClsW!2aauWj8T^RaLLh{@f|A>t%eN4@jb`oFL%T&HplgEb5Urz2c`p3KMkeK?dl z3i~$s$e?!h>4`_nC5ha2)?nCl=BWj`t%Ie_)ZE6J#_-68b!7wcZ`@p&n|F~}`UpKA zz9%1Av4vhBq^3s`Hr`VZr1jIX(OGP?Gb@hpOi(3DHpk$}j9H`uy z8XB;#JJX1Wh}UomFlo2HYi|YjdxQbR2u%}QkbJb>g$yG5{Y(>)g$wkv0IXB|{X3wD zHPqEL-Txjy$9L=MPcQ|9R$u6kLD+^{P^1EA4{G;m$f`~o@!kUA<&jrWfq@7|EmRqR zyQsPPtb^RQSAHIf5n<_Rn1T<3X}oTvdG#4;B(S7j(u}y-E+j0ip zs~TRq`C~1ADaqOV^5So0WhKC-?{d|hbV6MenUn^0JI6|AM~$zd3j+90p&6W z#{uNc(DjBm2tMA$o=j2tsvd){#zv~gkCPY0rKO+H(LodXnPLmOG+>k}fBeY&@?|@Z z2Lc&@e6X;v0B;N6LRESBaF|fR_#4~-OqST^2{h2@@L-{k@84%+U;yn)!zUyGoVO&Y zVFP@i?+nM%IrJR4?DHN?iRzNFFDq40RPph!s4*utD?)L~8YZNBv=l>gA< z=%t$c&?ck1oqK!xSyl3M|K+#-?P`pzB=t(?-8aoUiXo50{oalY9;OMm$0a@~Fx^rq zuQ@_%4yz+ha9LR1x9N&_MMm=e^x585jfDcU?&IIIn}sh8RlmGa&fL>0tJiB&)(CUY z+i{e}-jy@k7sPsHYBhS8EG zUS(utq-JgZ#m$E#9%dCgFdzoV?gH3P71T0#Z(SbvuRy}J4{_$IVG3P6+&~cqTs|J2 zJV<>~A$NiS0&InDCaZd8sS)iPVTp+~0IFf{+ypP|0v)9j<#NY%*j*3-pjmqri)0xc z!IEJb2O|$?K3!d3Uis813^-1ql5v6jM{w!=T3&gN{L=xs_wcXqYVk4f{A952rY{c5 zkF3vEUb#B~p9p%5f+zD45C(RkV!E8%ayy#wLeEz#4mRX21Mj#y<*yvJiJd%ze-V?Kq1Y*ASEFI{al(SPc}9;mFS|D zDQQqbk~nyIRn^s9z#aii045D}2UsY3axA(CFa-dD>FWA-f1jO>R}4lmfYHFl!HJ5F zHh?dHh}hYsvZ085Cqngw;Rv*MA#f+ke2k2Hh;&AZcjdz^eN+O3Iy7!b|G_O5r6pV5 z$jQxn;J-S~>)d4Uj*g!1j;^}cS=K;p$)95^GE(=$tzIV6PSF_079?3s6CtSMN08&?}wK;?+I# z<>lw^BxB>{jY~}2fIJ6`=_xpBarfl+v;J4fJlOXcc-+4ux}jzh6)e=$nNX+m-##Fk zf)W+bK<<0-)9MbBb}e77{C~8j(@K=GrXx%Ypk5xj+5}KhcDJ=rAf*)*L7Vyy^iIVP zmY{4#`-91KVKKe@b>6xXGGa0S%3hupT>iK?T}yV}tb`D|^N7@x86OoUui~f5-&A(4 z%8q(;K`DTiN=N{l;uL(c^`mC!C!O^Oqx0{!JOZ%M3|#E>gv9;wZ}-!^4%k{@pFd{~ z8uyNRdU;)CA7uCS>f-8uv;A^3hbxRon|KizF->V3Om_B&+Nw-*FU ztPSNzBoWpQoCYHBD;elapDhM_uM=nK_2lvTrB$jLmW7F^%^4pyOz}%Z(}XjggD_Z% zS{Pxw=Ow(vM<`W+PVN;l5hHcOIoB;5i*2&cmc&3v20sk#dKhcL{*=$bMr$rJx@pdg zFDfQh_2b9b_&C%BckbRjkwiw607kntGzjeNmC}2W;$xR>e?Za>8ydb}Ps0Q*Du2`6 zuhA5Q?4E}wM}f`n?>+8tsy}X7uJjcx5}z2D;N|9}8hq1< znw}Qh(6@+A{5$FIz}e2LTgju5=Y5;2c!_b!JoW->>=k`RE*bp;Y%=}b8?pM%m|O8G z#TNS+H3&>wD^86?t{eG7$_^#9KT7R34iBU4?Vm36oD>Q-*H^`n*?e>TwX=S9CVxo$ zDj*~vR|1W=m7g{Cha>l5!3KGO-}zhfpbPQHij6Nz`XAlRN2=eoZ$2{55qTFu7#!Cy zSTXqG6Jl47ppz||5Jgzz=g;P&-*2N0R~!tf37)O9#djg!@zMsIF(oEUZ(R>Z4IoC} zSbbsNOyV$MH>?4<^i-Ldn!SA)Jc}~#@WgvQV1QQOwbA+ad%$al>}Fn>$5oROusM)# zuYzT|gFQ?;E|Dlyj`#Lj9dG{u&_SB9H}p+IyD`QU3gV;CAjYz$iPVmktnM5 ze;r4iWJ$@$0L`gDv*z>)`vbG8K3b$zuG~IQ#6X z+yH9BRd(X-jaYl&AuWJ!_ntYvQ+x*`qpq28AV0wv-QC%l`pW{}H`VEmLSm2t&cU(> zRpTA6n+KA`Dh!kos|QYCFVXFT#vEVcp6N40N%npc)FkL71z*kDAoM9NeK$zN2Y-c+ z>|Q(t#y*m>xiXr67}5m2eBY+c+Ej_krWR%=U!HOH!g~6@g9Tm}=cz{#Z=3S0vfuaaOweV8 z7#yJr6dSl?V8xTWHCgTQWce$~=yvm=)h&;d>pLvHyr0LkW$0!m)=tEy`gXkcaJQ>0 zi-ebSbaH2jKaU=Lpny;1{G^C|DJ63LOGDGQ4?F9BBP59KP-vQc1=J~k zFN4?;ELu+%gesLPyMJ&1nBcSHZAiJu7AeE{dj z(|rF2GWJuL6KsPk-W)GyqNJP$!Z~2_ws&@b%#oLyOGH5Me8V(MQ*pa@&G<@J0RB$^KBV#|jSq6CItelI70 z1cXkJx|CmU;s@TUH+f3Mqo!{IKFo2)*)@;XNqcF>`+F_(1+Mb1S3N^g8yH1B!J5KZ zE^$#X%f}tecovNeR;Ptr$nFy}PiKQ{zZ$QaNw`U7Xv7QbPgTAu-z+NQj;{tWr@wfT zDSJOU>s)Rjgf-VZQAO|wH($+Ko?sHstyR;&{w%g+RPb`4ERGyN_>%J7F z+$c#ZOdZM!5MqJiBMFm+CFm>mC#t=IdH@xT__6x>F;gN=L@Tt8W?cE1A5p>{K@m!eI8)vsv(NJ7NqnQS7+2v zG1@a&YgaIE^N(>A*!t+P+wU^Dm(lId>M0Z}{7OvT+}*{_?f|;`FrT%9A~zkCW!ip2 z2h9Z86B@0;#mnZE3%CPDDkCwmAG^iwamXCwi{Se|tjoV|N4=Qwxqwo%6svkSjh6I0 zj;F*A?F~0CDpZ{J@fDw^G}G90xXV7LVqDgrd0m&SbEd-?#7M-CXH>pT{h(}MraMTJ z#8v1S8Tv6L`=#o#E;{cMGM5XV_dBI0UH1xJXE&Z>ofMP%-zC2TPa~iGL$8Rog9neuoTA+9DR)0aTbO? zO>wX>4?$N~Rb7;s*O!GkGVIqAb`Lp9nNNtK^7H8a!RD=R8qP0WE% z4zRFoNIgpcAqMoe+T#PAVKNMi4^EuvzlZ_a0h5guu@fy#Q*u0c6>KtrW}`jQ4Ys!5 z4rXK?B73tfVqy1~Rx4;2mWkSyW_(1D@Xj{X7puAUH+#Yi=}3*UJL<%~WN|WiCsCb0 zBp)z8!_@mjs?9ihQGg~ZaUE&VK7Yfok7}lN{iD#Xu1>=| z$p8X2R)HM5Zr48tOOW18hVQH&_8Hg*C~q3OJ2`A&-A4#DBYSVFHm$4XoHW&2HCE(4 z>5=LXg62NMd+tBpv&887mU!cQU;ON&*w~cyrpsWdNut=eTC>SCpZ#KceeLGWsaT1r zVA?a^Zqo!A7Yn-0L64ZhCoH*Zb8ib?PLHTOnCPV}C zTXjA~pyQ^Em8^v|7FsCCcuJR?h@+&vn|T5{ z@}(i8>C8_&SDpuyYodgC}IhQ)fQE zJH@=vJ*8W3x{oxPzVCIkJIA@l^r6nNXY|wTp6ladJ!bb0+X6*JHrlwOnP#^y8Eofv zl0AEz#T*^t>AeLSV6Xg)(r-m!c}Lx;IyW-Y!eiz7T31*3)zQ!6`3m)1U3{GS7l~%? z57s_B7DQ7&32lg)UKA*<*?sfTrh9W$eWhn_perfM-d=F7=fLyzRxZTnRo302;gRUt zx%j`$<#&S2_ee&ThfaTa#My;Vb@R>Fl{`M%sLx3zL9?+u@(bF@@7mkw;$sd!9PG)d z+xIS54Nx6SI+hgf8!sgwQWHsiq`Rc&bs@(Xc~{!*=F@`rqSxtv^UT8%Z~#!d}Yn7h?5f%zUAbA z%*5W#4v*um9-z!dM)2Kl3XNhW6=q~mU32@npm$YRXbA)%vIu=FHSMnOf(eYzQX?*e z&v`WVLl~8q0`KGEk|GiHjoR{+{ps5|(L_2Jqb{a*>2NRbkrwhk!gnYA!||3O-o%}2 zcUn@L2hn0AI^@bR-B3sVmv?dt>#7$Zqi}L?PN_5H;|+3_vme|KmT4zpLxtlSzVYn|E}3r`N$!kZ{+ecEVW#{dFp`J{qlI^Ea}l!I9*ZrH~nnn5#hZuTP`0NnW60cIqEhoeFo7cJ^lWA%3nPR56%&VOzRu(VVYW7 z2NE_l;&MKr;}6si*)f7sa@^TpBWPn(PlT+MQ6m>_} z7)_!S_1emck%h$;gvXc|0QKYLN@bUhgVYyLA&ug3MMn`D9 zK5hK=85Q=s_|J~fHlZ46*`n{iYzvfBV&Ue|U9IPbj9>D&I_&eFXNpg`*an9N9)8Wi z_BXCNyOX(~n&A`2#&+Npx4pjEef0Qp`YnIbF}KTPNU_BhUY*0YJ>esd&>GP?)PyN) z&MFqYU6eYHqsjP7>%v)%EKe@`cbA>COZ^BZMCeOqHl2K!>X^2f)Rl#`B}xi!qo?I@ z`c>CQ!{>V9PDRF7%GKtEITKZ16YU8#=9Jp4kd=StyI=CLQwle?RD)XGvzIra2;&=? zjYoR4EH+fVSC{^dvB6Ndl{!GSmGbW-N$@O;ciPIjx^~{gDtwecm0H41Qsi2jaXmbF zto9x-d`iw2oCnpVgrv3hOA7^~) zP#l+yw>5%g2QL<775phPWD(ld^06yJ*ZA0z!x&P@ft;^a-;%YzOn76^ zcjjm47B|el;<}y$!j)I}`W&C{>-*~4D8{tf|Sc!;8%c^dnq1m%{l#U7Yx*CS`Yr$o$Orq&Co>BycNI zNtnpu*u}1jZZAqy8w|0gH=&B6Xe(fTC7-lBQ4qF$^{dFnpcbduRTHngmebr-`ge1N z6&YTmMRx1xB<*e@spN1j5t2)!b|k8<9)1vxPB@MZoK(T`Z?y}bs>DHm4_}%E`?(F4 zT^=^zDNuFO5oS;0PMc0clBWJhW&&OQs1haaWQH9*7M;gA_JGNj=p|%PNn9=Lt|sJ4HEFg{jo+(ZOjXu!XI62 z%E(?${)sDXFW!FkY-8uO#)Hw<26U0PrF~ZgsvQ$nVs-B*c6{($iC{_R)yLKSf|yPj zl1yDFVo`;}dYvY5vCyjG>s=ts2- zRNYzqk12;g*MFSs?Woa_BmP_7&v_Wd5^CXPI@nfjt3>2cowl}R16%nIG0?PInP6-_hHw+-rO z%Odn-AWMvn!ucM8YH=5c?H9ZVl-Y zEUwAs$)xL}h~faA(p2Xcnp4b5Ds1u!TyG{RELOPCrCvu!>Pxmt(ZvwpJQ`#r#L}g} zXZwY3)g)fjSm#ti9g^Fnj>LoJ)p zfoH|?tU7)4$P*o-%qF$!d~Xwka2nQ|qNJb2D_&pahlO8#SUP(3i1jMsW8VErn1c)Q z_}Yp_^SX1wW@gf*rGp0tXd5K_HGg#x9u-e|g%6QR*p!##z2e|D`kalQ=u;#cbW?ZW zj%d2UzNmd9v6F%6W-R>$M;eFKI%xooPFu?-)jP_}nQuhdnrQA2NEFzm3G)qn#W#$& zZ%^Cwv9#|^giN5?s8PA+A2dp7ZT5HXXi%zpmGUEJ+r%)hukeOSlTZ*_Q0$jrZZq;q z0upwk#wSi*qSWyugzIKTJi}8%(9<05=Nswg;(W>&AIBym*%5)6Dnmk57?bETKTt}Tz2k;VA!40X#2o2gYCKjVD}7VwDn-6=qj3LCxKPIlt!|nj!gDnm z^8mKSdqs`L?1bz#;W>X&Ys3C{?CkVjF>gG=MtP!sb>K?{DRtv_1mPGUg~xw!anp?_ zV8bQJj3!{mEEf65#vV_ZNo(rHK-$!!e`lDDnnPECMU+E#h)oGax0Dr^UYC3{lGS8z z-6#wV}QYDVcmLf15POAzvU`a_lZdvEj6c(W04DrS`3QHM8bR|LGKYC zd?!khT#j~8L2`5=K~G;bO^Jv(;TJL|nbfB};kk-9%`&;$!dj@>+Ln*JjKl+f8-Jej z_RynAcw(O7=SaSIL1wNerP`FO+aY?Vn03A1$XpGdO1g-DOx&ETi$7)LmY$5?Xi%{S z{mVPo)!dC6DxwS$;%Bz{ZI z;D50wzE9qc)i>u{D%vv?8j7+@yl@53j!3J*g(%-CF9aH%*F8 z>K^L*;?od>-P-k0_sQq^uTG;fKi8k~m0@k)TEA~!OOo4f`UKHTkLC$|LnPrlKOS;w zqhgP0UvF{tARynW{3DNni{WTJrIK929Y*L*Ij>?mE)4pg8{^lWZ4D|!VPR(D{>EriUhFgQ5h;w#Z z?D>#R^MxBWeU#lax*xCG6?*H+Mx9lgO~GVhI`u%hAKy2&Q=hoGZtqPrmiG19 z<>P+-3U#jPkZ)za38#=0bP7*|@ghHGF1~b^OM0KmFv{s#<%eaHNI5e0uH^8(0ZmXY zwrG6fp0$D2UfVo+jKW7$RGwUBVX5#hgT{@__V@kJpkIbsA0+yyNrvoCzOUEtb7zhc zIlZY{J^|G(f2M0YolCkg((6sXuP?7GYoXTn?0mZ3FduTGsc0JpJkd}jal9+FpVt&5 zVvH|Y$;mOVPTAMG628^&C_|Bqwu(z!_lTGfEu?B#=j98^dz0DYt9R~FSn;4sJ?i$@ zh`wobcjG-$OJc5ADH`pdikQN*0ake~N=Kx#pslpG8AhjlB6#g6Q@&=qvxi86s-O>1 zqiIp9Y9^o$KgRb3=F)~+V zX7qjP#84NjYd`m4u4`Y4$5Z6mXYiKwvm(Civi5uzO@7f;u~WGx0{km(b0EFoqFm+` zG3i`qCt4@P^WHIPeQ9+|8Z@_IYO)0<131*XeN?me% zwyqfFCOe{S(Z-2NQ_1V=_i;iQ9BNaCW)_$(Rcyv-_ z>>blwYpK&4N`@E6Mi()&M#H$%d;4lJz-BRVW*v#juyh!?I+PBraWHO?s={P+cH>7 zJ(8)S)9doMt~$uQjcQUS{AG-huo>iN4=fu_tp2p01)3rkp11gwX7_`Ld1hf%$IG z+_7RT?Z4Z6gT!J|OF2Fq^n%EEk=Z?mQ^>{bgYV4b_9R7DccR*R-QQW`HOd$MC~VJ< zMO(6iS*B6mWREWS#9Z_~U?&W=u2j!cLK!Cu> z1tQm>p+^S?wAl9s45b*OU&+XX1PA9Rd|gPwUwm*l`pg*wzkpHL(BKV1cH`MkR5eXG z;|GloU~F@Y6fAQk3?T z5;Ct|adC3u;^G2@ysWN{Y=sbWHc)yt#{Dk)lQ40py+I)iE(dfUjN+7X6kwnaSR|lG z0J5GfR;pw0)>}_cQoyfMQc*!y1Auk_%o`95E+`SD!d(W|b_t9=00jo246g4;9YHAQD~YMG9n(v{B_F#Ye_PHfi9cZj4oF3=qdO;+wo6Oa=i=n> z)G0B2yuDwDih}0d!Tvseu&A~KJ?1n}N&&4%6VlWqs&KD^>+Kwo_h@o5Wh>BS0Z|X= zM6Aa$potcc_C?+Z&Rl>+2YDzF5g*M0gM5nPie7dNV0GZ*kB^T5>bSJ9pwWADT_^o4jUunDz=${$3hMi%9*y)z z%YeO@04=NPr%L4`N2A3QMx|KO*Qi#Sf!(jZoJn|BR98>HTXuIdfeH)YF%}r)Y7mpj zH`mtM;ejI|Z66!}Zcl_jwid0Csw?#B|DUq64@^$h7ltDfh$u!r%{vfG}7x1T3tnt?fRbLgHg%9jO?} zu9p9UiG<(Drcqfzj^_u8jDC~Y7wjZ1BHIz{` z30C;x*B1hu5(vwnI6(o(bVEbK-g-bhz;gzjmx;+q;4hd78FGLXVY;}u^wz`3A81C^H8r3-1_~sm-+y08CTgVs z9u5|)wA9YUC4mVg)5u9jCk-I<3=AE>+kfW=!qyBSsAR~4^eF5g5Z)^R z))pGtiY@OxRXk%|p#4UMk!tQBY_M0-(h`)IUcY|2BR5-JV?92O2{8PqurxLf7=GjV zP=Ri6d)pGgtbnTpk+tRJZ18#LKdmP8SmE6O6QGoNv1e zL2?V=X4!hT_gW5@JF0;k#1|~Cex3R@R#ruUfiD4!Yh<+2 z(119`M2!DjP62Mq+WI@d(%V+vm%!cwp-Okxi^r46|`GbaC5u(`SZrt+EM~rQ^8?0 zi9Jwl0|#VhSE|C06c;yJ2U#F^)fW_Uz&)&E|73C8GcbTnM#cn(s+9c#@(}Evl$3`s z^#(c@a6-Z50nNd>l9)t`HCB&xba~kjpk;VsCMG6;w14s91x)TbI;3Ey0G;ulR2+Q1 zyMC@9b6I&jqAzJVhc(3fYQp7Xq$ zXaGBK7etODk=zNesVkx21a3J+MW4BfMjZkY z5+FVbOQ5LCBQHxsH3%K7@$8g{6SO<-^^*g|4b(&tva@Z0m&ClI{h zazNY-b~(fVVPOQPG%4!9(9mhn6#?EjfY5v{=wh>Pi}&N zzCPd^!Lb6#krWFH96K949Y{e)NNNDi4~jqln}-pC!dZNLJP~Na0x};DFB%dcp!L#~ z*~HzrL69c#;<*BtBX}ZTZHVijxCCexfX~bFw81TdY9df{0WB}r9s=MruyuGTKv*{> ztGFIMOv%i=gSHE#62OoE{)C2sq1u`Y={kI0QatmEMui0j!X4| zU&v;_j%WM=0^kmKo%XX~^r5T!sGgZOF~6vY1&n$)UjvBxAoN00`b~ijuyY{(e4m(G zRzX3pNCnIeo);z-7O+o27_CEp53UuUkf1mKkibTrqDCDS!eD^UfJRG|{RX&}&8;ov z90lG)z^%ft<)e?!#zZA(UlMe-0>VMRIJP@R9@}S*TM#)mjV7X%9daKmtYRPv!uu-p z1ZjhGMMhv?J1`D`GcE)A3Xl+}gD4&iV6lPv1tYMUn#8p1(^DsKfB;R0J+`>050ESB zCXnv{Jt^3epp*%MKjgnUfx!p#1YkL_UP-L?_R2-Hz6b|4bz*tB127w8WbV^Fg1HZ9 z67yTlf~~z!RE&B-@%+&Z2%uh`p74av&(E&{r>~o>Envc(fcOQxr|8Yaf4+tl(ffVt zL)^eCG18B7K)?gUPqq@M!ydrT-~j=%e?^x4^=ExO$odCRieUTwlQ)25bXg(0D~hu9 zpT-Fgh+{ezLG=dQ2&k)r}H(h~lf$2TudxeF}l#~ta?I=-UTKK?5 zz{AA!{2`^zfslW_j4C(0-y1!XQ-CKAC@s)n2E-R+24A@)AtZAH1slv*_T(36K|*|M z&?y3PoS7LKI=UEtBd83)|Il-TX|ArV0fYB~Za|1iUjuad6DQ*Kuj#7RQ#fdh<*?Ufoepq-46iOXhfVqXG?i! zSsfJDxd?t2nACtI$3<(0vjAWb!QTN1pOb`*88tUA4`iu=fPqR&8yg>=P6LXudw}Z| z14(0;1PewXa6~>c8@|fzzJC2Q-LCf?c-_Dv1u6PV`mI~no**CTVZ%#=aLT~Iz$_*#_V=H@-%j}lkpsU3 zFMA54;+h&ctJ|x*AcFFKeWa+Z4NlB~AQc!806QNNN|1GsrUrlh8Xh)m9Z;aLuqd!p z_}Hjp1S4w5Cs0rTinp<`u~0zF1IGdC7ZXS);MSJHQvmwL$cRdq_yCkO)6>b|Gl_}S zm6SLI1VGdS5)ySq#dn|5RWNcD=d|*fj=o8I>=Ygx=PC$I#(bWZNH~?L^ z67J2`qW}*9K@f<``afAkC-_xX6rfifM2#;PBz?fk6*`mUGzG z*e{GM{kFZKJLFMLPEL?a18@;M50tEctbuq9zXYx}oXiAX6c&*ZQvx_cz`ywZ{d*5R zSez(Gr2?@Os>t7zjF=F(R^S{QV1Pa%hXk(;ARfSEynjExpkRqlHDxY7E)MbmkgE03 zF=56Bms|s^3&`T+qyNPHl!fVe+AQm_!WIt9AYm5}S|M;U2V4^E)jDo^vHH+9r0l3oiOe|2_fShfa@|>p^$JfW_D%htBuZvl4FJKwg$>)HQ zD`Yf6UO7Oa){vL)8yW(@BoIF#2?w&;BMJ&YlSYJx1E&}~O^*ZwJej1YCr5Rc{46YC zTf{*IQJxu(5$a2(@3ZXhc{T5K2Q} z*Mc-(dT&eM*8IF4h^l~NfcKHhLeZu~yMtidaM3E)Uk7*MM_9gNu(`SlD%bnl+s}$` zocslqJ;;JnWwr3{tgT+{yqVQo5EY(b%d%9fXHwblZvHOIOTWC zi&OZ3E99>Wpy)v{iI#z3-arxx4bToJ;jz{O&5!IcZ6_zf1+U(Z-gCr|Xu<23z4ePL z0T>L*0n^ih8Cm<&UeHD24@AULi^dCUW0vZa?p^}k-C<8|YIXOC} zQrWtQ-G;0hK3=Z`c%bid=y330Yf1Cg%IogUPQ`ub@rPT=yvw3gYR)O`=W4}{~vL-+{i^-|VBat;0rQYh#elxSH2 z=m$g*K==^&t5C8V%4+~wmCoUCdz;&O9_jQ`%J3S9jX(|r0S~s4X~4hnw#o&pB?0hd zAQ!d-ngb+*VPOyS;DA55ku#8uWCBh(6pr291>e7iTOa_%Tv1gOl901*_lv7C3-)7c zs}UUE0eLy(jKBh7)@X$~F$9FhQgIU#{K(v>T|6T%M!A;@dtAeLhw{y40USV3k0bV#@#C|Ax-PJqOE zKgs}pLoDF(9*~6)TX+*Ur>*&}_VkTy3j|1*nc3N)&R2N-nvI$HgT6`+yIH@zG-EWR z?Ea0jz;=MLL=!YO=H}HzlN(s@du zp`p+OP2h7dhpth9BarD}!NHf(7=e3_hkc)zIN93^;QC`KTiASXcnHW~8jdAEcbcui z(6*Ranvb7}Sy*+fQ9PI6(GELJYql@|q=uB|r&@BLnLgw`Kh~`E+8OAIXf~p_2 zl-ZcD9CqukBl~COk4+D>uA1u{tRj?|%kTH$SXN_ZeD8zWY!Sj~?cg66CC$dA_iP5w zM`e-4%*^s$P&^pIOff*NdX-{r5bt1Mv-8^kIkY_4quIf}-YVhk4}9_HerG&L;3?91eTQ7hmEx#nWZu1FaG0z*8WE4qG`G{<)^r%2Q+8jcs#>iGLa6GL=uaZ$zGR)t@(%P!=O{q$4h|#& zhNBj6_-ZG)&YcTwPBY#v}3Y z1|C^8c1xY>Uw`I-Pf0s!Y($|vMrEP&|99hb@Q%1OOt_Md7(XM_+T#A3U}&A(fVWs5 z!U(duvvd8hW>#-|;~zh8{P$iT7SNGcELVu;f0tpp{8kyUx^;?ionjUy+$6tKyGQyb z(*gqpsWavw5^=LcxHrx9eHEI*9~mudi!lU*gI*A@{<{MP1Grf}xK`$M>)qNz;iT&e zyYZRmVZ#TK>0DNP(|<$gclZAjsbwh*H+X$dH`Mz-{QF>-y0Aa|k0trZf%gCZ^?zM~ z5fm2bV!jo6SM7hxcVl}CPbZGrDEy0f05xq~T6cSqWwEP(DaK8|8!v89+<5Q-=^5g~ zTNpP_-+uEE9I(H=?VNqPB2nDWC}3PXj)KPXp_M0vc-$BK0NllprSiSudI18?|M614 z8+%N{LZ{6rES_mJ;grap4<*8FblQ~sMp0P|>K`^(8VFy1#DBevSve46FI3JPf3)zK zAFX_0Y6J5auBPiw5Qm;$!ExeEqW^wn9wwBx_R+CsUm664k@vG#dj4j)*K8O*v)kbL z0j8Vf5PzF-YOm>-r%~ zAXuXReTOpHZh1i8f0yN5eFE!@i4H*`5$;DEa;W z`ML>&{kjfxccf_A26kz+JY28m<-b$ph)M}3^mJqiShni0J3meI{b=;T*H}Bj`u)Ft z_Fn(lpE^lD+5pygY2HMAADN7STt%gHk0usQiH@c06(6MrJe+^q8ZbcC40H{gfvbjb z)JUM5X3YN8k-Q9lAJztoTkWycls^;0l-4Da^6P(_^u~>s_-EGI=1V69;go=v3>HP8 zZ*VG=EKrKIRn6^vrt$>azkg4rdSqF@@IOpWi^t0pzn&SCL59~#5-{iwj5D66vl^T`&1`tPKh#!e@mf^;YSEj;~`Ko8ITNC zb=34Lm5fyt$dYS4;C&ME1{XDs4^KpvvQ}2|*TzS_|Gp2dZQ&V{8TlgBXA1l~JS@(b zsKv{6gr$Um+HvSCcmbA=ae{R%o6S$#ikXW ziX2C6cyEc*lSJ`xHLHR~P#c@6s{FZk{NL(u`l??C&s=6MJlx-I@7;AH{k?^9?0T>E zIg=c@ejt@>4dRj3l<#PUZN;E5=W;1shI-DYoJdorkrd?uW}*Roudx(GLq+)vb&BXt zIvg9-;NPZwVctHOR=(stqOZk^B-F?kH5aPwy*_xR)Ze{x{PPAG{tN-G#yxDZ}DAVrHv+4BG@M^ zmMFhfzHAjZWjugyCz+?3sn9_?kJ;s)0k>$_qowp{tpUYx_QZoE`T^@^TxF}h^5Mq^ z|MPLR^W7Q{>Syz;OfhMo;$nOyHKUZoiHU_B@|yeq%ukrbdC|vnE5bik zw$2w%I(H&c@!6Z2#NX?VKle{9KX+8V{`}{|*dle~nVOzOD_iBVM9x_nrXTw(?Kj!N zH_4&9A%vvpkuSlqs{4(PwoEWX3uxtcr0I2w?nRj|Bn5K_uRnQxAV?FY8m(Y zA2grV-G6a~#Pr;62c~`6M>oBG_|!rLzQ&g4kfwt8&1BrB=~hm(Nv#B zGiFcpUM5;>tToeR@q|}bxfX||Udz@2I(R{B zPybj^w^Xivo+~hfi~r3yUSKOAzoY)aeepkk8t1ov_{~%|zbXGh_=)2`COOu)|7k`VYELN}o@%ZO=|C;X~pBF!~ zKl=I*wzziG_mtm#!|h?2Q_hjIY>UH=R)5&Tds-!G>6rzAv%X5L4s4$tnSacus@pO9 bTJ}HtpsQkRdw5zdf@*qCS3j3^P6Xz%vZ-#M-eA$E#iFL z*Q3{}!k*1tAhZaGOmTM`cu6V*2W9vZCmb1yRMzXVZ!<@`YzoorTtBA%&=$f=rF(;LA<>et|7yki(zLxT`_)vtr!bBRH9T<~AAGDi zzQszX8PKeh@&W%%4Rs$0oIt8@A1##}W*q6Q6iUlIqc%qlYz?|?_Q}K6N2z(04-BF?1Xd4nwPu(9wCUDQUv?Unpg~Ufq>Fjg-Bc@f?+qC@S8!07R%ysHh!$*ammGyLfj2=z8hl=?U9+czAXnw z10nZ2z0}9Aw@>JgnI>Y?`aRNL$){$&3WNvrL75`3g;_@u{uXM+`+yqlU(LJuZrRNG z!`d^V5@KesRPbRibMLWCpy|1ij^r2SVv_t~iHGQh?uwj3hLdO?arfeHhri*wp*;dz zQkq%59USh&Gqb zwR{Qm1*6UG_5kN6vgXN;NWot-d&kWNtKmfk(`qEkiTRoPf0P}D+q!@9%0 zhVi&r6(o*&l)4Sck+9>;YhmYT}U%rJn8@i*G4 zs^Vd*J%tBNzhtJrzJ*#H3knL7>H_ADK^=L7M!&|MW}v|O^Cduk^ay6az#Hb(_a^Ob z3MTNKx(Z-pear1EG~SKk2`!9{ASQ|(_V%YS`KS`+(?$(qB~;*?0fC^O9A#% zzDo%IntQ$n$BC60h?|T2t6-0>9%&^AoLBTKa?iaU*)IUq7)ouxja6+F+RT`d5lOCx zot2H7kfDFLhQ1uvF7WoA9vpIQLgGTM_+!5rR==y%;Y)g8Pqo?&#;hSqtg zr|`>n5vuo?M~GQ)+$Kb1@vMo;Vze|zq(syi0TZe`>%_6rGi170E9-SB@}tz_q|9WF zlwb@cO#blba9B!AnQU{V3u=kjkNGgFh&F;YXeFs`Au|dOIr-)0psjN3`~(oCI=v>n z)?$U5*nY$mN5O=-do9&MJdwmsY*Bo2Y*T#tQ1Z~q)&w?61Xq7Lrqa*C(Y*4!8P##+ z6O~n328MJxAKF1$3C6`7%6=#+iBpHOPQ2ETPju{$vO?Cn)P4Wk&*M~}D zd5G1CQcy!sxlqxF-HCn>M-mef8Aa8;Ph_|4FK$#>%h1ns&1~dfA+F%%b8|c2E1ay# zJkDqt#~Gg+P#%Q)p2|_^GRlDGgV#Aiovc^MIfpP8Qpr?lw6eU?=h)!bae{kdbCP(% zgRlF|dH{2P7cDTfYmg|~>;sA5iU6_zn&->*_V2{ahNUvA@@wsv`C~H@pL8!^dy}`v z{V%^M-^M$)`?LpF-!fm4`_#wtr%!i+W{d1~sXi$z&zVpCFQLzCbpkqd+BC4$Uw(g? z`Vu8F)*al95`Y#s8ps}G8~6}p5M%|H{f;a+IHVk*y@`tn zVef~KrI5%U>Eyq{euZgZ+>$d#5MyI&>j<+1gp?4?Ac6xHOJSq(Jy zPi|26A4mD%osx7hzBmRd1XAWwsW7o|)$pDBsftVu=U2Mq4U7?Zuq}}4#4M+X$;!wt z#ImyrIX|VHuas1lP?hjdYb&L2uRj5T!dtMSl~mLFQr%d;$0Q{*@*gA9M5y)SOIsCb z72X1MmK&Dw1cX;@4O!OGyW(CMfAE`GNGcV2?39kKGOm?hlnX)2Rg0d{^Hcf&Zyqy> zGctLDT4Y+>y=1*?yrhEDdWlR9%{PBeQ+q@lNl<|*>9W+o^80w9;T~HQ_gEK%$o0RY zecSpZFCw>0a+ORZ)Zh*LMx6B8~YOxff4@c0TaK+ty69IfUBdSbt!d? zvw!xkgI+uj}=tbA=tp3UKkOIsBz@nJqinP1XARBmffEUL68nWtH} z_5Hl~Lin~9wVueFs9ez8tN4QT*x5!xfSjIE{SQhF~oiMp!rhZJ%2iGZbd z`9|~2xdja^4Q|GJduH1YAL;lOJm@cHHj`wSJd~pO{VKQ$8#d+VQ-M}N<5`Yoja=E6 zLLNu$yZ01$@9_wjTMf#cJRF3d+73@c`Iq?)SXzv1+mBpYN`Use;S8NxiUugn-Zun~ zi~WbObNo(}%gyc_*Oqfks})&GElox%bnTb-C(Ay;J_Wb4r^&*szRK63$0Y6sjs}Ay z@B;Rqv2XWI%uY7(lrFM;_YKby9_pV`f7Ts**v&HQ5ba3Lj{dy*EOxa4H2RrM@L997 z-pgx`rK@Z4aq!xs3$u&Bw`1%3OM0f0!D{0>0Gfbj^6kmx;}qHh$tOQ^U;D>|tNn%D z5+i9NuwTRT;uX`;Qb$jFk0^%JXzVkRadj>}K2-ZEA`}-s6v1+~%D~9&XLj)|A5DCi zSHzLqFm@np4(?0W;8jmodOFn65^9r?vJn%`7i)T`^AAwO9G1-}$Ft^-vLzVnLdJ5V zb64$dXHN2+yH8}N*%KnA2QdCZugDwCzUs*zJ5M1eiU3FAfcL>tA&Ll(Avo@A$BkTl7Q$etpkLD!lnB2K+C97obKuy+LVc?y#Ms{|h;{wJA* zob+Es-0TF&wH1^}#hqL&NV%C=nOVt&kVr{M1zgQ7`BVXt|E>=C5+t{Fb93fnVe#+2?`IE!K#>~p{SKE-P0)JBZlx;jM>~#P( z4iK0@`VeB{W*7KZ`TxoJZ;yYgsr}!Yyd125ulcu}f7a9hTDXckIY7E}6Z$W@{$2U+ zng6aR!18D2e}lyTf%#vl5I74V39$TyGa;mJ&ciqmG!oeWl++<1WRd;rQh~f_A z@^A?9Z4*>OLPQyWsJbWgQ6^%BqQ&E2l@9(=O3yqO*t&*l7&ij}zF)RzVD{|WOLs1Vxh{~0G~fEbksnQn2j7yCbFNBRd5u>T9~ z{~r3A(IR9LG83d4Z|GMKhIzFCs z{VEriYV;w_;B%pjscVwCMWp)o@ED$x;%gosE8ssD;m2zP<*=6!pR|NDs6x?H7mvuU{zZFvL9wYpGA(Jssj>t z?>cYgWra1<`&FP*|87s8j>O6s2lMWg3JT-l@w5w%5Sl<5Igpc?Im(n1{av)oUsRkE z2BF2V^#ODI$X{e;`%jbF03UbAmE4c4WUAvS>DlxkU~ne)-7spJ)d!ZRY;PW zMKDJ}OiaR%=Mqo`kb=ty38hr7M>tyTXq(p+XOhvDu$w71L2IG<8?tIxR^h9BBLnO^}U8k(me?T>s zXR#S&em`~vTeeqmY_|QN$)?z%d49FO1A2^i;(FdrHp;h(&WcOiZZibFq;c5|S4)M; zcuniR)G}QN%kluV$^8|NJbHPEzfybUGS?GDQ0e7 zL;?pY4ca0ux7+5Tc2mRuMzuM6Sa*X+DhNNT8c7mSs5g$21WV}2$uNjpY;JseS?SpU z{Z=8h>-2zEtHtMLp0O}q2HNP^5Jx5hcJ*;5Wm(+M$=0ZK1?`BMSBh)Xl*@1|Vq)ki zc|OVEfP}8`0KJ3t$Dp8|J6|kr^S}k$=RcECX@E%3pW6iJWou9e2@uwQ0LUf!SfrSpA z+u=^XN6tHy2HROmKE4N*wYk1NfS(KS?3buJex+eYE4(Js5jr#o^@G6sl*~<+M0$;U zKsY9E(p!d)&cDA9@wx)Y$;si?7@C4#RrozlW?rR=2|pNCf3bs*%f%qc=dDBi7K67V ze{GwJ4lu9p$7}UAl;LBskQO z+{CdR0~g_2Gaie%9Y15x&F=efah1a+N5<)BF1abKU#&0oqY0*RA~>AomE;or>`vL3 zh|A11zm}jI>X7Fh$^qOA5Ti>;O{hRr?dIjdUqi}78pv_{o>#7RUxW+%9&h+)uWzoW zMp%Aw&FOEBx!%r|>rn8xwe<)Npu*Q9<1q6NHb z>D+F&!l3=?@WXC+{#=XRFKF28oa@VXtH$d+GkSVM)&9Ont z4$Gm4ZHA|IG|~?&hu*1f$BP=D=Nhx$Ama`VzP`+V*lF>*s*yr|YV$do95kQE67*i( z&GJzMjqEa3V{o;stvp}xE!Nvm_&J`&?{Y05oi%#;-fenUmd=(A$14fhL^l78x`bhh z>e0toHRYPe{M&DGd>=FdDG8JH=3v1zM6)oqHxv|N+x5-TEtMMe_OF5(mKAa_oD_x? z+6^=H9rr`ru*`N1>Y}#Tv{5E+I_hnBb=v7vrl!7!v3YgyYsA>;@tw3Fb~z+$b9{)G zttrUYY^aU%=hUd3CXTh62ypm$S5_c@Txom%MFPh33Q!<}Mf0;*CGV-V%&4mqX~cN9 z<$fpKVs===|N8Ofm?8R|Pan&vI-lotqSp3;Rrc69gMznRoZJ2s)!@a3rZPHNtIMV& zuiIXXe}58_o@|L~L7=}ud$+U#*D8FLdZWEgiE?gWcWJ1FRy*Rx=aD3)RYt#c3_`*( z2Xq{ssw*vh;F`~^piZk>NvHP5+ht&Z>?}PD@-9mYo_F<{2vk|+qsFr&kz%w{=GY8@tMnRdZUOe5Sh z!>|5wiQ)*#=5UOR*}0bJ@MPg|>)~5r3M=ly_3%POEA)vYQqq@v1-_apv8@_%!y|%r z*4b~HI$318nBA8Osoo>M1GtC`mo6B{YB`X-Z#L^TRK9Kga`J@A!Oos9x654Xu*BW< zG-veLfQfrmJ}io%s(C8C0JmqGAxRE0{HF`0MA&5r>K4mVs@D*2p}@jf(7Tq3m;2pp_KkB4TdEF753_t}(_Rij zjOo?R;7T>U558xjqLfDI-2QbchW_^!&mgQ^2V|S&{F>j7n&s*$SzbH%U9Tal@P=d&Pw+)NF=XOjJI04^&CT+?m;zDHE_&L*g8oMAiBF5NkmFSwMt?OT2sE? zRQ`H2pH1)c!g>Au&bf52XnKCjB3+z^WUzP_tB78fO$!^Rnys>hR_b7qO|vj%uO-cC zm}Xf=u5>VXBwFqRw#>7^a8lGv?MyJBN!VfU@uO->Xu@~9;-J~70=aBuvIsTE1}@gR zHnrj-%X>M>Vet}p@9*X3eXG(W;k0u(A`;^t`Kgr`Ekr51^q=SQ7c2yNCH$M{EaIaVbMuvnYAd?+gM zj0R4KAsG^~-~Gk5#+m6j^^PNX&jX+JuN z9?mH4pDridh1_oSowY~7+VN);2p0dPY|-V zQ@ZCi%hX4!Z}ELE_~c3hn8qu1t&gR1TXrlnPA8w3zBn+9QUTg}^zu`H%0mxFKufeY zD^cK&+sgXU1}q*nQ0-K0hv)4vW^ED?TmAHAp{rx!m~ZH&(Q7x;W2-lkd8VAi|4x*- zc{@UW8bb3W|(!}Y<)eo=O1WjG2U_f=N!N@(KS zjUVaoXdjNOBm&*H3z7{lG-DebmP%Pgr~^UrDXgL+Kg53IKfgIHFlhU9fXU~yDv-)= zRcUT%F|5F|f~{_S=YGWBe7gE*zB6i883$on>`pHNHsJcy>@vD?!1Kc`GB{+--9%)q zNQuPb`^apW=E!1$oyCtiLdp>V*lJe;uh~SHNF!qco=+K+R5YnljDX6{9b4YVqq+tp z?I7M|!S$)daxabsS2M*;Bbj>~(B{DRX=9=0re^s3m*+?1_iv~f05$o;ezz;TxSL)9 z*Uu0xG`qVOEA>HTavui-ky~yex7r<7_)>-ZT5q5|j7OK=B_YuRgrBd}dfIIeCXJ!L zkcyE>F4c1Zsm26HnM7H~?*<8SED+r8D0dWB|u`r#_2(Zp!k2h*A;W(E;S~X!2-sd^Nau*jEO1ag-3TB?c6QYpV%cQF z&ClR~_V9x|5PM$&1^#y$HfmjmpaZI{0d6*SvlTKOn?5UQeMg0sJi;2Q_@APM=@y>^ z$Y-j4QK-6S(Gv7xmR7b&GF$JGsS0xIm%fL7y5^?fR4^3By4%}#EZDwf34PC&k$YXs z&Q2xBwqO`+MMxfM`z{U%hoMXYTQesE{!5nRn^g((QAJ|@{oj+^j*Imrqgk8U?GLwy zEWn-78VPy=%dsq~VlynzFe)Lpd{F$nz$q@w3s}zyr&$ob^#b*?eY1R)z=EDZ=ktkP zc(}{XG{|`3M9>w&svl>2pdQvkNx%YOx#M{5pGFwe%Sj2j?PK^)o2Qk`Jr2PN1A;u` z70J`6Jf+UXIg{C55b?5LD28SgPAlDoOp}W{6cd)@~_q zjL@kwmwa)@WGUYTiw8tsUX3iImjiRP&!*INQqw4;9VDl?F%L#=9E(QpC+a`n9JIUi ze|{)o4c;!3h{SdMfx<&H=b$KtjnnmTz;J)t^;+S8p7|bpw;W7MABE2$x$8(Cci0^O z+u-n9N;JgU__5n8jJ2J!x!{q>bv*>nmhFYc?`}QRcA@>ekdR79NT^!pm)Yp0?_F-_ zZ12Z|aFu)AOKe;PKP-WK0L8igWO^}fB5jtzVU%_7l5Joo@)K)Xe8*IT-0X!!G3IV35j$fU+61%+O5ENnMNiFm z6$k?`BMCe`IGBeyJBh1)w+3Er^LhTW)%7U)5+*VSKFM7Ywu@Ibwv$(O#;7nMw8K46 zVx&cIxx7{gPpPTT{^%zCMpAcAn`V*)j0rBMc{TMnI*a8Q~{@% zB>FwCSQkwtUS)&lP3&(n=ZTKnJ%2}%>Lk;J{6q%L1AVno-Z7Y)gyAz--wl7DBPjZZ2; zY(_5Z@h?4D4+6Fh8InqPLdF0cc)`(V$a`sfT(@~f{UISNX$iRGL|efkqz#B_d@ z!5STaAQ+P@BKR2kl<3U!;Nu>J+8=L-pWra{B@TIttAd<;$lDRLYg|JP4I^3to0fee znZQi&AQVEbga{mZq+s}+Brmn!t$8$ZVcruqx1nexm5yI;J{BEYBpXn#IX$d0IsVEC zVAO4wj%E`H^{Mm-k3M{H&ul;It!c??G+`yP9jSgo20QlGp~!Xd^b}k+%ozgfU_y$S zx}U9QieoEp!*~-`;SLWESTymh4P6Yyu-Ax1BYt~(O-kUEq;tSv2wu;qJ=h!h95)Q= zR06R;2(soYwI(Zl$PvqoAkUMq3T zxdf+zC`UnlNDktJ(b`TB(mPAlz5l#$9=VF9jeY)Yd$%7m3uP4L&1IJ;Yf8+Aoj@S;W_>&WF<00FRSp9mm#t>L!+>_PgH5hhFpv<}6t4aXP>= z`uSf9AX0?327Ka}IdML3`HQ7TFE{E>>xEWN>XDXR>2mE<$yxQxybXXp(5kk%5>unE4 zb$ZvqN2J|Dg0N2&eCS=P1w7TC)-yd;OLl*VJoPH#4WF#Etz2%d%4e}Jpmc+RbT&J~ zd2Ls(hRdpkG_(u~bZFGV#IVhn>G}wEQpu;Rj~5#{l3kaDg4YX@^$(KKlJ!rYB%NVc z(v33*^_8lWMRi!oBJgOd+Aks)^o?a&A4<#I#|w_pU@W#v6HVV}KytffnyF{{o!~(4 zE)_dUa-a(?FhK~vgB#dlf4}I}m`bb+>Q5XmHI=28Bx4~}pod6c1fq1YgteV^y&6i; zL~U+vzH#jI?CcQ3otV98Hn)B*LPJ)2fqDqco0@yt9j{FE$`(9_2PoN~<> z=FRONqb;9{^&U!|Ff~1f4Mj>fNT;ZN@ybHD3VAj0qSDU68#N-`t!KUD9TQj%q;!fQ zZyq;8BuGDN`{4O1;(qJ*JK*isXx(_dL@Nq4;Jo&SH_|tM*LvM>75vMgK_Pz4S03TZ zBMw`fBJ}GYKVkn8E{OgxhzN-tHse4$=0?LZT0pcx+gXIqT2i(LNz4#?%>e!4_IF~z6KVER8A*ckzw*9G;cK_8Kr6B0E5R)Xo^N7}*nfyj2P!7h3&LocdN z&pTlo?|Z_2Z|p0i{Fpy}a9m~V_@J-luLdD@=)AKH=vZS6(b>Z5!#QL)tf}YQwNswZ zNhB3L9%p1WpFv^|1bx5Qb}`Os<|wjuHYJXxYrWS>^nS13R8Yu_%hv1u?@p1I`J1iq zIM+Q;&%dw104kZYO*?r&2OIqWMMPjC8xOV^kz>!BXTwO`R8oo4&oP?}_FIc-Uf*92JMr zbq@YAwOkcDS`H!aZTUyG-&D^-HSToB_jO`&vSQc%1jPuj?uTFPN0h*yE^pJ_@lmR* z>vz3xJ3I=+Ls4&(sTDFPAzD<|=o(l%ok*bG-S#@^uUQ-n^)Btp5HK?J(~Dy@x!XHr zvK<**%5{skf!GUN=##kMnF*oS(JDgi-ZXBTgI(37d>O3FrTvQc@?pJk@86eTC&`b- zUQs)7u8KrjLlg@Z2ajqUvs~6HD}3&myHi?$*Su@#4_QVX%c!ncpz7t`+E6$xiz-rB zp0E#;aEXC-g$kNsVnYjfQl8<#y95}4>o8I5>Fr|JNtW%(-6T7~y_xtbmL>*cOgQQg zrwhDc^m4nMZ>bNNp+a%DM4Rmo;@DfSFSlK$E84))Xk%$)VWVQXLeG%Tir2804l$sC z?}TL%T-Cm}l`Hi0JtU&-?V^#cn4r7Q-;CwZ4?HDb1Z2Ar0)aBnE>lBkX_su-w?8uBd9dD`gQqbU-@3a?*D2}tLHqts93-t^Fgze4osy< zD**CW^iTQvX=ywt7b9_j)f&vx1d0KA1|u=M_2R^oqj>IcMJzB*B7#NG^l8G=#ro=D zoaG;=_-~G4iqbj)m^m#9Q$-}C#)wqZPSYL2r|K(HZ*AdSQ`aZswCk$yJqJq)5MW(T zjaM3l@%73l!nTRq=~B*m+PMhNXTSyx-ib4%8Y3TC^+px++O2DR-pO6=ygGs(J!*rk zS$lR3MNs*Bmg8%_eRrq0;r_80zv`7w8)O{f+(6eQ<_6KfwH`${gdUGIEi*z+s`ZxJ zQehy|%{oHl9s5PNCa}dw^1=^+rWQn%cJnWGj)sU6^ntiK$elQ#fRU!HnP{yrc;>Y@ zwe;>MEGB?Mg3c2>#_W7VMfc^-t>=C1HoL_zcBb6(FLAUt4qqP;dXi&fbCafxyUKD< z{8G84RUF;hEmC%u8|<`r7-+~MkWwxq)`Y+zf}UqN@X<*6W)MM3;wSN6d{qBmg4PI8 zIn(dV;%*n@(G$_ z(u(n;32s=v{pF#p6e?+ROl1wzvNJJPx*f|R5;Pp9m8TcWDBzF5{R8QaZO7aJ4L{P+ zd2un!I}k4^O&XB?rOW@LXzn_?HmcAX(Nw_%Rm;MU*Il*k37}Sg+6cp-Sk{Fcto524 zXYU&w#p{5Z-+6}X%(7?8pO94GR4(8{1Cg0_(sp>ZDFN#QNQXRqh!4TnJgn!a=|Lzk8&8n(`0YW!%fG8cB z76m9jvyoY&z;U18srrXlSMU9JKQG=*0U?4757jD1!LGy8`IlY`=Xx`t`X6{!#Q-_A+MQNANTN z&Uo}NSkJ|{wkOg!Aef4sb^VnnxT@i+*b^RQkHe>5-J%42NWf2oJT@6-K)|+yLBmjifEG=Ru_`1h`h^sKl*T8)Sx&n1yNNl^8&f1N^a=`C2abk@GhCzni~-> zr5&y`%3Z>W%T|M_OgA<+SIPz3Zi$*05q5NXpCRioaN?MCNRib9@<&9L&ZZF|i)xOmb&TE(}E6XI)aPIw-L$fgeIk z%lenQ$(BTpG_p#S4>SCdbAQNPut*RWwqA3kB|({4*$GSfwmy44K!>A=y)!Y}Q_Zdr zqV$Y$0~98S2A8r6ejSMrwxbdUO69jI`0cW`6w23Li}#ltk3?wI6E8d|lxVtU`vlgD z%d~b~Ey3|t#kz1raR$zZtp#zB#Aq8ilgYdhbw?g`?=zz}G{R>I1MbDbfTb?f%P|O1Mf=_0cfz8H`+hv5atu4* z0YYUOx_kAIi6I-DmkT<`bCS!oPkN#2bC*yXm)&ea$^}~>l)@)JFt@|fUL4y^oA?)9 zo+FW49Y%}G(dmieL=5OOi?2zccb5z@_f*}uv>SPXQBZmb}RO$43xFG0%RqobQ7 z?pGH{CA{8<*Akm{7y%pxkl`UTDJ(YAh}Kwujv^W2_1F17;Ez-of>3|b^1htnRgizzu$4Yz?mE?2&guMI$jLi_#)2V_k;#D>jZE7cm*POo#D+Mv zDDfrKM@852+`^VT1s6p#Ka^N`{G}~KI*WF03W{&PIV+p@rQ)boM$ruJuF3XiICW*y zp5CFT&nQ*ohG8SEALD$wVWhE3H;SYk7lxR|*i8aAv#hG#swiVvzn$xR8M%hBBPa)P zn=miN704|kWLB3NFT8gOq(hn$QAof^26;qe?}vxBxfEk5OwX*X(V>RhQ8E^=8s&z_!CyaqI~l zYzQq9bITUyKDZ)X5)_ii2twKqHQz9jC@-ktKBnEAbAFGC^g5AtUXbiFDJM%) zJInQ0^_R-dRPYNGvYsF7W-CSx%S;qw_=v6}F~Il?8UCBccC1Qxod5a%x{+Q$n0Y*~8r(Hth@< zW&#zadVbAUvLBvT2Vh-cmtgadG78m-cDLaxHRNCOSFn-A6V;^_AET>e?E5~nyw+>w zduP-+8e5hks+tGl6y#g{TqKE>eyjs=b*kuw>&9u8g)%z@G~kc{*hrbn)zQf!dTf)& z4Q5bSy5`=lFJ51mP4Z5jlrmJsId$GscNtiBK&YHfRj_u$|e7ExPyuwIW3?jZ21C8e|m~1Z`DMbWc)HF4Db5q_W+18dZ@9f8ul7f(iO|s$ns_|(YW2q4F_CAt~lYxiPp-6ce zegS$0z1y`o4x?hxePOZ1^4wHYkA71L^HN+EnUq?s`Q|HT!5IFeZj$PQ{m)9TOhUFM zh$n-DX4ppHItW>-cY7qcZH;MO5n|V}xI0_7ML}YGeK@RwD1BE9Y;W0YTkGlDR0+UQY+`)!E3WHVkC&a; zyq=WeX>%-j9h3uZaYMG5>S1EOqT1MnI0dA*Dvu2{5@%$iw|(u>qe0?=+a?~+{ za#*9|wC=8L=fwrXNo(#MF{cAqogy2)HFnYeV$swebj!b`(M6l|BM2% z0HpM1fssNOC_-4EF)5e{Pw%i4`F1(`mMCWAp{rm+bp<%0p+UAArb0nF`*x0oQlX1p z%ms#mpyCY&%ldAG6_fPf;vM+?EEahLb9uo6`|nY-e4SBEoM!Yc8$@d5Sd8wa8)~`j zi&)jhgt~k=vBdOz`$TGb!1)RihcX6hM%dM1Ro8+3YODJp5@YKd8P9bnIn(eVOx44B zU4rH!(&I?g72}==^nE;Xf*xzq&T|l174P=|G3bz>}82xfqy z#tAq7C7eX>y9&{vAiBT%!-`DOC^H5Z&k5qe`XX>5a8;3p_&BENB-e?bBD!`XbQGtg z4G7|iN`9llx`jrXQjq*+s#s(xn(~1GSlXj%tM46c(H4knkP}5*t%q@NWBREc?b77% zDw>1_#S~R`VQQRIhhm2y;9(XF;BEUvM~4yRl|vSXE-Y=zprKZVTHanwzxd)}Shyih z%0s3b;}n~Y&Lk~-UxLhrWP+^a`FONbwDM|2{3LX?6q*btvG=;0`Mc#W{fBgpF&_my4l->EVrsD7GAPMxhN9=NG(pP)OIUR_&DR0ZF?=SBUZ-q3tNow>sQ`MTjF(F zrwR@w>|Wg7S$JO8a;YfkS>L+I`$B6%HP^1Ia4#_eaCqz)Yh8?7ZFow09Q9{Pb7@=e zq?zKq=BmPkQWl*CN0$(5lehG>YcWe$;$OtB`kc*K{yxqk>Ht#;K!p!87;~l8BC>UT zAqT?PdL__6)e6z)7rQ-_bSjOtePE%94&W!nV##rdO1pVCK%P-2Mj5^FcWsSzn~HcL zi&Apz2(Y#e#^%tmY(<6jQ9d|vZkYHQZ(dx6KZD#dE{BL!G@|h}jeM8enGqzj%@R{h zkhv1p;>^J~TA;U#yfuzU_N7}_%gDXK$mn+M^XC8dF!td?pJB0HV z%b7<|2@~ZHJ^o_?+ZHNEZ_pbp3zn#Tjps0*T&x%nY|3xlJ%Gvn^;J2t zRgjuc!+vqeYJ9z^9XYr#0^%^r_fhgI%i8fon2h)E1A&7S=etWXQ z(Dv!rHQ6P=xvsL+c_OpZI{uxHO_mJ?IS!#drAe%0P8x;Tts7@PqI$kAW*X+O%9}z> zXCb25{rYp9JSJPaKw~b48Py0zBP(6;TR)9Dj_uXy0hu4o6so1>&EO`ntMp?T)izf| zI-`Nqx8C`ZPIOw^?;65-x8JLLN&U-n?%$E$>Xgdm!L-Z38Zg;1kjH72vHA=AI97V$LBR)aIG zB~v;IN&~0lk$RBMBf_0zw;{DSI%3|^;(@We@W-!T)n>S=Gu#TjR2pBwUdssM2z6WX z#pV{~vWv0m6+9l#WG$cq#C-Fq?4On>GqSgGkCsI;_V(oo^coSD;)(Bs{{b&Wi9e&; zfH%g+Yu-IsYEt@ivh20&4RW6DucfI=e%1Ow#4jab6yi-x1v0PK$Q0_a?xRcsvh~h5 zY6KBLmjF3tO(Qt?Kv+K9av>%3stJ7Lnzz+ zWx>zM1V#=iPMtKcI}8rff`P^-2?H9~N`AEvT8f=O?!R+vh{t_*iEPe1qRL^G&+l$% z_lXd@%I|4*LAatr$M=Gwd{^EEOvwcdnama&1p9(BUYSDBwoau=YNh$=7`8|m#m$z3 z*tUd57Vgs$Eh+`Joc(Y6$}qCE31@~hiwbS#@|R`zH7yEfN;eP`wZ-eEI4oY*-|?oT zkX@H0&a|@lEy?@K^GXSMUJ1}SF}64R`w%NyJ^kI4`HxB;rDt_&mO^TyaqQB1pJ?P#<4i13CZ!u{QFRw2UJ!T<2CnVM zD+v3obI6fYB>K_*wxR!PKrtdU*q~HP;_<$|J|c*GL?v;x9Ab%>?5{NXYYA7cEfbIs z;m(+mLUTYpdI{(zHOg8rCltj$7zyHbkH<(ZCGxYy2~{pcA8akcZ_KvG*LKh8OCM^k znY8p%1CGy#E9QV^g^5(`to7Z3&CNrkyDXArZ1?N74v;r2&bTzL78}I>hi7!tN&kL@ z{1@~3ictK91@iBV;-8;lj#s?g)Gg8m&uM%R77!lkV}>?hzUeJ-!+hv@V_oBb-Jmp` zPFgS3EsER!<_)%sD8@pcK+-IOq?xMhwbeEJI790{jF9&8o6MkH9M4HAi$auaI-X-0wu06dX z1h(%2Qzp)L-ut<5_e*X6e6q{t5H2!GY?aHW9V{rT^#(TT&oLRAf_nQkFv)J8FLyB~ zw_Ih8=k;IMZ^*;L!dM^A1EF9LNWc8&1(yfmyYD~*aFG!aTUYzjwSJEfS%U5yUIite zKyq_qBY);+j9(_H_Z6TK&`&KRdw^1i=5TXkKEfI=_oH|CqM62nk8Eb4p*F_m73bsI z!*lBRgUH*U%C9nI^FP=N9!KKlKkD{oUM4h0^k-_BN3FW&D^KYTrd=~?)qlI&MVGOk zmLoSa-L672pu}r9v#%5G=l}ZvNzvtDP`JZv??%VQ60fe@cwM)`5VJcqChzV%)pVXt z(Yj)344;SK`V+=^KANy}mcI@M=KD|em5NU3TxoC=Q_G_y=wi6vFfKVZ-W_eP=tZ9$ zIgL}rEqb=ew;m~kM}~7QEx&Q3b9r$^k~Mz~CvQ0deY|`=xYA^I0vgHKdL(9v`n#J& zJe?=uS`xDS4RoYmL|BnHhe%6_b4BZ`tCiW=+2u9VLw6TVTDW5l&XzH0-ro@L=^-Jl zjGry5+bnOWIti!c?Ay<+H&|udo`pH@cGNSv@wKJ8THROgBbF0L3;u8)Id&R9LagR# z(4%<9T1^IzZH$ufF=~bGTJ9zfg& IN+GwWHs!|E~G5TEq-cOpIYo2&d;qVaG18P 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 diff --git a/docs/static/img/usage/context_actions.png b/docs/static/img/usage/context_actions.png new file mode 100644 index 0000000000000000000000000000000000000000..e0936f8a986806866386abff09b3bfb1375fedad GIT binary patch literal 38357 zcmZU)1z1$u7dNbQDk+^xNOwyMN;gP%!_eK0bTi_fs7Uxo&z?O){rEvt;n_3j@8I_Z1Ss&_`+V*#_Ay4Jm6S}Dp3V+uotNLuCgV!~)>4$3dXu)uNh$x; zpFE^@Mqk9B%P)sK1Fx}wn)EZQ+*d>zWvs6u=S$y4f4Zk=A1#~;u)bVa@Ui7=IuaP$ zxJh^C>ay7$$uJQc-G1DxR9Yati1`t8;K?<6ko z!_uC%g-aBE#NSG1$J1abERt{w>R zM?Gj}#2WR&u>v&F(n)hUrLYKJMN(2U1Q;k^LDFcQS4EMrk)QXzs)dn;h~>%`Px3IT zP;Ur`F@M$$xd_xN90}UgZ_p%fYw(8)Fb54;3W-;`M{)Ek`AU?2d?a|Z#Y9xY`1|H&d>?aW8~r>5 z?y?VjG~EWz^_fGYva^m(-s;y9Q*6!T#U5AXI9;CoBCMjtNzVZ&H z5;T#2CqR3W=fw0bRGvO@H^4|InR1}TYgN%;h)I`BRTbE=r)X6!QnkA zKpQk7Z;<+`^kISq&#yq+^8X#{XSBAN&vFt1{+*AGAFgd%w7O1Nd6)AXFQ@46YTSUSH+b*9e0wo zLMc3l8cn}Y={{A7g*+jg8e3m9x1A{fOaE8UfYIJcC*j|4P^Fd=Vo>263k7Ro%7zrE zNsb;POqW94-5x|GRpn1RDfD;Zo|93oceaOmD})G<=+{W(zmLZ)BI`*Ce<7P}3?GR5 zC%FFHzqwQcv<#oMU&f=1lt8&m;l4jV`vZ8|8wc(U*trMKPtp>r%aW~ z&Cn?tvUg-lWyBA7Ph@ZZTQAZ!a>m0!F_~Hshn=+!0R-kEWxW~uRJ5msguQ=924XtK zd#)^5bHG(8M7~twTcF??l zAu&tLe$OIHd};~MZ))|)k@Gc8l~35d?=Rc8Gf;j zYs`AEla>LbY@_qh+t@8{8Br(@*dvRXlmf}s<0}o>Bje!vYG6KNsQ+{BY#2Wbn)vA4 z04$0(w^?>ls#H^1D~zrO&;DJz8`&FagbKG#G3>Q%<&YYf>^BG$k#Cumii^>rloK2` zml1_aJX_HQ<%GjAgdb$_#7zI2(`LW>SAoeTXo_bTxqZYJ`lv$v7ikJvKX4^Kd~t*A z{dfY)!6zS5L!CXP8q!0}?1w>4{dcj;=@<*q6j{2tie$;q1Sq=OL(wyYq9oY*iS~2* zbP0-IM7{dVOsJ@-BbW{?pV zStkNwew37)EQT26-_%3bRv`0Qx{0PI_Tuw?(M@p9QA~TZSJj+Lkf%^m&bNR^A-LZqOP#6c!Ag43gHiiRP2?8 z;o-Z5!XyE5I}m94Dd(7yWviP7DrrAM?H$MB3xtZ#Kc)TS%n?J?X%&l-m{B9iV2a4lP_xAx zWWrY_?wPqmkAe+Z3NW9(uVpag@OfdQ|C`VKgF}*Z-Rm3n9xvG|@dC>ti+_D1H58!l z{vuqWs*%x4PF*H!6Nr>VE1xG^tejnd-^YIYz{W#0WsU&TfliX72|{ zd#Eo$RK|U|fZu;Jq7^b={#(`wYsz;wt&*&9@95>`s;zLz5t~%Oh5H_BtD79u_(}+d z;vjPk;dHF6!JZ}`yKj-LsJ}USsden)%R_0$HInihp~R939kZRkQPGA@2B#I$r;aS( zd|;#y!fqg3@`dX}%|~s!ZspmR^|^v7bBFf^QjxhVgbA3*!fmuSF2_tYt?J>r$*;PY zD-GY-y6(u6O=aNYIsaEvkt(cj>MKyaAIegouYV+}6Z&1o=^HQ6iiq zbL{WcO|)V)npqouObSPh-2M7*G&BgzJaF}j<^AfVD%oQnHbh)8+IUFT2$r=7`iqRnezt8$VwBywvX(iEMVDT~TUceMp@4vU}vB7IP@ob#;m&71K%cQn;S# z`jMauVibj5U4g{~u5`5Z+-w9nj6({9)}R7Rbl8LI79Pj$IIm^VsX~hyc*evdM4CF} zq9yn26G7^;pV(6|`*gw7mjk$w7CG&-g%=aUjf&F}n1gfkN{!Go=dk82Xch>i@jpK! zDv9a}LlKbKp!-VNX!@;Tu#?4L>N9hYi;8a~Lm@H$OC4xCB}uytWKd}OxO~k3rz(!g z4nY~Gu_;BGCU1mYmqVF3?w+;N#Y7h+kvPs1)yk@kX8Z{G9r4x-d2s7iK(}d8FSB{p zO1S;VrAz6VL?ym!OH%4FGt>im_~s;75g%MY};$hdS<8l^l{pkm} zdGT{IhuYG#H^JlqVga=72+CC1yKjCnKpl;Z{=nSJ#Z#asQ^vr+V@TA;z%KLq%iK;s zA0s23m{MH3qT-&;2 z1rI(&MHJRS%iP@}#ZtcgaM}p_?B`$4r~IoST76J}ZGfY(N=`6$(8I$@PQ zsnOD(%i#6=dtJ`GZ#fpuqHQIdxaW+ z8odlsB54@l&-l6S2I)R%-EipaU+vG-BD;q`r=*S6dE&6tZ?3fm*)Li^!zOys*=KFB zd(qE#HAVG)xYXJG&bz$g5P=@E^od^X2V#zQeM`mTN0Ik{oI4tSq;A^4sAG%Q@ruyF zo}P=I?V=^#g~ZS{vIit%t&v>F{6}J&?<->vEBWsA$)=>!#*@@O#>0#;zOH{TjSy6y zS;+b{i>~_9i9!S|y4^O+(zagHnY8}&4mrV{QTYh9bkV(G^^TVQuB`G>YyGf^a>iX* z7l&a6`^VEEIpmD{kki*v!#lGEvX7soB1z&KNHWS2-NX}ZK-4{tKh^XUw9`J>>aW+l zt{34|hmV{Vz!JW5xUHN>sf?vrHvF<+@T6qaso49s`c<+@nrC(^>1VBksUCU)yfvB$ ze{(6gzv5*hVGU;#&3_&<5cj=&gjlYmbU5sriJ6^P8#}+9ILvTs@^WoAs;1XFGX9FD zC#&{>%kWs%S0l^9gUiHnjaLd?9mT(2$5{0pou`M8aJhYhJPk)4WT#&|M=frl8P=4f zU!W~Dy{LUGf%sipcyd!7qKI(j$571=CDmjdfK3<`s1!n{U_M!ArEe{6xm0&3sM#G$e+GX@t<7#7jouDvNW5iwPo|dzuSnBEuzKPkLs{ZM$Y(WycJzcHU zoZ#8ct{*ji;jbMk4o#9#uV%NSxw}-gDPC@qZUCRL7SIQINm4)Cb|$f%C|OD{Vq0>b zI=t&>T&-^JmXQFdvU=ve&i$B=TnduO8VRH1YJ2wjlq2(K34^2gQNL|-R_4ryqv~1f zr)SecSq2*eOtx0Dw%KhS;OkNsKxr>=9;V^rQ4X<^B;W;){zM5pcyt)Rx6$?0)XhGL?VwxgpZGb z0F$xk*@cmZ)gg+|fhT9A>U^`@|2V>Y-=xU-@;0A4D4t6P!tK`J3b9!qBginpFch~& zbk;hY^(eIO3gk#5eKhxuY6M>>En+aU)tDYBie2N#RhS=E!yPn#SVd;);rxji1+~R4(N4k7-{ciP{F}1BX9aH)6;}<3Mi(|4YZTQN23)VQPe>BBXS2^W~^vpoHGPfA47ZE^c~^ot)?=+5t;WcsWue zYK4gMD<@?7%NH_8t+=rm+d5a>85!;&cc!cY_Rx%0(EE?Q ziSF}hiiF8gqfW|{A7PdIKagaLIdY)BcGNcIPuflHlw2h36%s#zW zwt8LOV)7yAgItcHR5!on^%A@Bc<8)_mO^VT_HUGuWv|S;#U7ca;x2b<2}^%>)MhR? zZ9*;AnJCCwAM3?>@=Yb3M@l09kUUv_mFjqd$`Taq(Pd3*hJ`0Dy(yo8YzQENdN`}6Nbyx()U<$?n8$uH2>g~)o^-{uU0qIWMhjAkBDC_H? zf*%T>r@Ju2jriUUq+bhSy`MC%k%&?+oib%xsTIo=LKDp$^C9GOl`yYS&zAEk=WnV^F`vaQqH@V_TUCv{hQ!f^MQLXb6*Q^+l7DfR_vd^R;3WcI* zhHEB1ZZ926dRvZG2n!5gml*dlF~5!a)nnZ>3)H0Z{=?4Ogvc^Y)i=uVBgEcd)YR3n zb8x6ADJ3MRvL^d2JuieJ>ozAZ4%sA(cWdA8@LEoX-Y)vhi2Oo_gwI9sRBPwwoR17^ z7RPIdZw%*Xcd*6UAoGb)$}P)~XDYpCs_I>J$)#S|rE&S?R>|eoC%3v!Kbz=w7GIq+ zu$HS}%0>oqLL%DQ{YE%0Ol!ZePG6tVdE6K;X(IDY$b>?ExR zy;!(5DSmi(W){te_KB3?D}Bs2QRRxzQK;~nZw@Iak#Q0*)uFd^>qB=9jc|_=$~-Ia zE6IZ2+x4<|eb%ePd9u%X>v{mi6H zp|D&316bhv%p&LuUs*uN&wSE5ZRf)!k zCFR4LSP9Tc5~fM;3ocfoNs*#_6{bvs?J6&%4c)x5F4|K4MaCF*{fiP!N1TFqs2e&9 z^S-QS`9K{CUzk{K%zz<&gz*;bH&R?A}{vCo0S?LPOSeaFE4TIHQTn>E0BK) z5=~7_xF}*qMvi7??+u`6d z`&Hi6-83A{!1VP@s+l{#)lyL>KLt|NARCt_J8qtV$$Bn4RCB(i;Zm12-ZZ@1vUN_Z zSnh-=TLzm^*P8?pGDvY{({N!{xw9Gabjjz}WOWOxkzLFTbF}6x8d(}@Bz8SJ(P~Q^ zTGyI&za_Tb?4DE6sVHr$369xYxZki;oJHl|K53T=(`5Hs<-rz{UzBivS|e>0g#Azl z{V1;d3x}!94Jkk@cPyOtWt6?pae*x&_obQJm#6)1l!s)YU!^=9;@VN>t85e)`RA9>6Nx>wKyaKb3vSVCyoax;^YV95m& zRNr8r?xTnG*u7gJQz%r*5vPnB*t823Wnp0fAHhO`{kgEZy4ukp6!SrJ3HtXZ@|b6< za3Vr`l(=Z8TCd^pn$4N$zCM@LBvUA!jNLTJBTkTbPvo>WCWx2jh6+b4qvH3G9`3?U zA%EbCDEtkslN`G$HP*ztf6(v7(4YwZty?ma+?DF#Hs!dU`g@nWpa|?W!W~UUT z{2oNFy0u5ljsYL3s>RjB%a3WM3HvPs(?4-7JYX%L8l^mWP@1ocO*IW5k%cb@hs0Hh zIj+nqfAUu3IfqeX7=7GUcR?O%;q48mpPnf0>W=${sZWv#UO1f9U!Bw!GD!V3+qmvh zS8`Fh=$QRu*WC8!@Q?=c*v%F6?5D`ZsLS(wE8|6NRomHG9y{4}&!k?e?Npjv4cG<| z@>(eL-8Bp@UsK0@nI|g$57-ifeN=0CUUk0SwW5E=k_N0O%X=nqT-73lq%& z$12oHQ)4j_d;jC=dEE(1l}bcrLPh$!X@G~8mX@vUN2B-b zX#?1iA!v(kj-uR(Yv`#D7x`7R&hN|Yz07wtYxf-T3gPW*yn_p6n|!Gt2{_X;X%>53 zk1=TOoS%Ma(Ctb|@=Pyi=x#0Qi5+p|UM26+bQ4i(d)VVc*fT6Xny9SZ_fk{2E}Jc4_9o< zQ^*YSo~M!cTFoPn_LniTnxE3z0%S@i7hUH~PUY&k9#7N{X?E|O@iUz&l!tL^R2 zsMny};pBB~2$Y8c|uIwW&f1zHe1R`(`+85LRmKj%euLrTl5=DEx-h@nmYNH3m)%R+F zIrt9^-*A4@z22Jttyg)|&Q(@c)n` z>%r>QgjYHkK4m4g&vIeTd9jw}YD;fwnSnO0A=QkJ`fd-kMO|u#4*7_ZAnWtdy z>^qVa2LX!w)03O2bj8J#rukUQ{c;T~?P|Kn8TGi0nRw^OakS-mMRLWO*YzmV1BAY& z2ugQnV$3`|Zks<6NW89Bx3j!k?KXcL%-4O(%Zu@b)zS8scRSx1dwjTSyFVT53B&Qe zUJX`JQK_h?Xh-nXjmd#7`l{4Jw%@_npQ*54i5~$M0P|JhE!T^bXT(=Q3Px`FYML|& z9Bgd$jg4N%9q{AdWWAprt|B5LhzJSo?Cdf%N?@OBR;u6o{e=C{;g?iCX)biALLTE& z1)HtS;w(9rES&9Poe|43rU+=!9DPBi-*tC?KLYh8QeY=Y>TEfLUigJ)*qT`HJ2F9A zqY^n#7}Vvx)BgVc!W ziacqs5a$^tRpZ6g6>G}S(vtRG25!)E|0Ib#fU&p6zOQ|5uiD!MWn}>+AR~coCJYY} zCEqnD2yMRD=b z?`q#z{qfg~)e|m!X^Wkfncl@3JJ9v5xWt57g4Vo{^&W~=3nFp;rf&2`+%s2?9HUK|R8Yz?qq>F-MP^P^yv!$Du+i;Nm8 zLTdAzb0eI0RowDhyftkMHI2728mT(0WMv$`9tKn6}9hh6*^n& z@I}hYN2YM_3(O9<+(tfG?~A%RT7J6O&XP^zu-cm_%<{baWMgv-k`Cb;R0}BrDA_^5 z!QLl5I7iKABlD297Ry-{Uf!ng@Nipf{Yn=2&YF!)_<}pX(hruBqH?H%yF$al=Id?OH6Se)+X7FnQzf6mUeU8~a72Fo45h*|GSY#b zsbL0iwv@s@_PD-?$;Anc6}OJ+XZ^NHNJr1Jx5Hn<{m`R7y!k?mLOI|Id4h+76Kuet z&Xvf68i;;;d^|inEGsLMc?TW8XFtufBR-)WVG1i%t%JIx;y^O%F4>FA>D)YbIyu71v@)C zH#av01;yL9yGt$ZH#av@l#0|?u|0Ns+n)((Lq(y8)4psUE;fNs2n-Ay9v&7E5m|Xn zg%Mg*RD^+nVZGSs2sR{bY;06lSA*x7nHgT^!#8i<7#bNVD=S}ITs$;CN&M4TbDg|H zlT~82(I}pjc!R;8rBj&OT#+3)i0yC@* z)Cm5yvDGGa)wd+Nurf%ggp=jl=9!U3M#8cwQ+FFJdW~s)sP_))_f=vQxw)_D>4!%~ ztig&uoe4a#x?ldz6_0v_gX8S%Ecpgw#Z|wezM|q}qENBQWb|=R=dn_^!%sSmN+|)CEqG5 zD_dJLd-NS098g}q^p63&0Yn%dad}~3VPj)sb8~Y}PEKuYV%O^V<)xn;3jz$Z7BN0P z)TH&^Cj12v%n2M57l_A?A3svbW}cs)qoATXIy(z^Tpu^sZ&y}TflCea{V-&C5sZn4 z=X!mt_wr>_NC*N?hSx?vI!{JsbacBRi_Y=$=mA3y{wEN2Ao#z@W;xm0^E&QLfLQ?d zeYnujrOVWw2?qA|?H?y1_=1qv>34T1W?v*xRbAaOm~arvW^8jH=4UN0k@+G27;g9Z ziPm1$X-ww4^nt=-le4ow<#e=^wKWvS7JhX?_FvH`W293XzkutRuyksCiaIJQ=Ze-p z(6*8`QTxTUrR{+!n}JE-b{fvtAeL!~$(R_5GdK}vwl~1`I&j9{V2h0D!jkpEk`p|i zS+ZYkq`6f}^WkmrOG$bM6*@oAMB$5+Q?hF9uiZLo2c|7zzWmiGY^^=$NjM1*?x{Z} z?Ow}ZBK0$^@n~m>1bJJrm(Ax-gj2(VXvq6$)vAo$jfWUqMdNE(f$F7OCoZk6t%Hg5 zX*`a5>D=}z<=RAOXmTnlVu|W0QpSdc8$qZ9`5@R_PdAJP6C3L5m6Vi1M00RR(&t=P z8hGVsD>0XAyf^O)wTKEn>K|K3Nri)0{XJU+R*es`)I7?6X9)tE)p*Fp!NJnpJa%xi zJyeKzMaQ+#RuNOvXlQ7-xo^M;XJ=M)`TJst=-7i_g##2*DO7S?8Qe#_`?s5 zOT*+FCOT-`e16m*?HaLaV^$vf8r9NL@kf=qnXdDd!5F=psMo2PFgC12$%q;j5Vb^| z3hGETRVQ~8B*9En z8A}TbLp6w~s7!&3d%CP^8%|}nI9clfT&oVUOzEGt!4;Lp28WO3bGlkjf!iOGmCTXv zbeT6|kY<{)!Zq=wlM4%}2TZ=nXy(K1e)(uR_gS1QKQkMfW~Jf4`R+J4OJ;2Bud%V` znYNm;noJ4D-%fw7kHm$eMw=jGydFL16ne*B^Oi+9L`ckU4&q{HC<^4*3@AXMSy{_q zxCW-CJ8NqSYHBmHvxw@*FHukcQ1N+O{~R8+I+&{g8sVMO@0pPd-qO<2=~9h4Fp!Xt zkkr)FT2ST^6Tw}6`t&I!HMLBq&1=5a%E`$Id}OiKDy_Wy2o!u6sOK(b?fr$qe212W zd|vlJjG&K?Mi83Ua7#h|$HHnLf0X7-Z12%J}#KhQc4W*=ULRfIaL2`Wm zCYJkATKb*mt%Ihfrj8B?LW*1;ya&dw@$o1U0k4ZaWjKE!>6cU#6hvG$q%16zZEacV z(^=OH0BwJoR@c{a`3efcasLCcH}uFSvh>_SrFc=7sb~?^&Io&ZG@rxli;E;bX*!k5 zy_vw!vdal6wc~oaeqdkno_89b${k8vs_u<5TkT-B-NtJ=i&%hdWU7E)?)NwOJ;H8h zLg4ycicc+{*phXzm-%8Pwf@W@4SsYY!(?xS-N}T&ok^-iV+cxJ%7Xx9x2E^p*dE`$ z#-yh7E{^E1j>vOVE9wP<2jN`&L6;2g99B~vi@xKma&cw9bi&Eq9!cX_@oV^|QzHe+ z9HMpy;S$EM$EI~vMMe9=1#S(Ec?!wI=7-Dqqn0aeUELLs#6oDVU%%GV(|fw^6UdiJ zVF8n7Z-3U_-rm^A!xWT}kpcJ&n6*~-D{Cn!DKMYr=H@~|LW+uUYIOMw@H2oRgPeM+bM0yQl3k!Ep z43vvihCyI^KV5l85%DIbr6KcU8xntMYilbiqG4ra<>qe4&j)4uD`<*<8{y^U1#D~z z1S4eG>-OBt#Dt1k#BUqiiUfE_NevAQ?C$Ke+iH@cef{@OaovAJOB3g)kAn4_*7izq~wJh5+&h#ssvH#dI0qXTErLfX@Mz1`g|+qd!NI}(y}kQ~2T-J)4(6~iFzm#mz%2k6 z_V*Xj)zuXe@>QatxGRhqhkq`}R`|(EE=F2H!p^}VJT!Fo@GyVRPERkpt@Vs$F-aUF?$y6rpTNab3IVbRQ zaYjj5?YbbRGJ4o(C;xR}s9wA-3K}uGD@kddcjNBo$z48zD|6Z?V`S&V3flSp1d|O) zCI@(e<^BkhulD+p6})}j5e9p`9F8VwjrLND4Y_Fq)8NSOUXDv${Be!&htzP7ebkl< z;om)K2igrw2V>ghrdMC=nVGjglW3W`ZS;89e0{u3tfaM&C@(DznU&A*_{yBNG=;|c zOSL509{m6Ai`8I~$D2{_OctXbAOs~PB>{V~u&|I#=Q7C5$Tm~lJ%;h0YLR9gI?S8u2q1WgzwxYhK7CvEtEID3nGKG2%VU?6|&3^EFy33 zr-g+D5NC{x-mlf zA_$}`&)rCUYFGuY!PgDIyTwICJfHLhOA@TXcn_uQN!r9-;${08} zrk0kL=H__#_&juVpAkNR`M$io1VrQo0z&`LP)S+Y<;6wK_wQWpmzEY5w5HlB3JP|s zoq-^$=4NLX8|>kSWS}deZL!a7E&6?@2tkxOA1(lbG0@+S%UJ|MeQaz@wOpIxtV1{( zklV|vD@EtH!OhUnP>^;YO~{w~rlzJUD_KA>M>+wOE~<|JAD^5AL5z}&tOI}wH@B;) zX~ZJ7 zfxjbIhP^7<6p!$+h^ZD?<54T1;sH8LF;M03;*~Xh?+D6koXCn|!R>BqKV@qu5!Kf0 zG?}o7#d^vz%@(w(-t=S;`|OUJ_)RvB-WP@hW9lldoF%7)oacp{`Ru?v|J0c1xqkX{ zXu8g8BjM)z0jZ>iEwp?EY7C4!13ik#?aI+<&% zSr)ySytpE-uC8<%?0SIn@zoO4D1U$d_4Rd-=%AFc8U2VaRQv|G91A(QKCnv*l}=rn z0SW{79{l<981RKpfGl(dBID4jS3B(fDsOvqJKGut6ged&WpQy)&<6<#DH5Opc+G4) z-}7{Uij0hmB?X1g9TY!P(}L2{1Mq2qhx2i*Ca2Am_f1YB@Q6V!5TCs^9{QJUu)( ztQT<6(V3Z;p4lBsOG^WnOgxfsw%+zN`}yh4ST491LOz#hEPb8~YePc^0L==ivzAUu zN)sSWI3Y_OU?BjoG7%^Mvn%g+K?>U58YQWHr+!6FZtgoiK46&j<3L%1%-h)9Tx@n_ zee>pPK>IK8_?sh|S9K21aareEi6WOrWq3 zhc6tgSsOf=1W2MO7RH^!0cTDgQlYTR#S7)!^-u)-UO-` zrI*Vb;{IkN19tHwweqhi6){&=YuESMBKFwjxh>)aXxXCWpFi}Q9Go;m8X3)RMs}1h zQ&h?(6U!ocO;W=%KJ_wqyjJziF4mo#G2Z#XX}5{jWGB5aLupO-eRpFf!CA$|!c*n2udtu$ykZ?VU0q z|blV%JWKtLIzAM}kxU2Wt241`DU3nKLj{hqs{wx`V` z9k08CI*{oB%qL4eRXsjlwSi(O;CUNQ8Uie%`uci$joRkB!=^Y&=~Qm}tv?@} zHOcY>UM5f`ncxTr_#{RhK$H$kO6YzX>;n$|;>8PKUb#J7Oye+Ux;);yDkKAw2MP)b zd~OiZ?B zY<{FbtQ!~_vVmfFbGBWs)pQ9&W=%~E$U9K)LH+kykKkN#KY9loX^u2$C*D_~q9B*F zwY9~>#31`A0^W}c4fbHfExGlr~auKd6G$GY8Combl`Y0o7pd5($yFaU;thTpddDErsYc)v#AqY0Iq|GV)3LD zB`Y)YSVxCmR}d;7UWW$iv$2W3f1d%w6X2Ed^74Q}e(8gCta!PX zLo;y(JXnx#02&;4h%|?MDC7kZRp?%^;)Vkz1l*9A7$Gm#XT-c*TxzPSNtv0Tk%Nbg zeX-Kv4|Jy8TVAw)dWT&F0IA2vOcx{o%T~^AfNBLi7HAd#EkNm_qN1*|B{hS-{u_4o z$+5AM-UtH17s1WM|9nAc!4UWb4w-gw1nX=L++nb?s3<5)V`ov`_pj;bO3KU2zkQ>kqUu{(@&a|p`+l9oWH=QY z7Z)J__x;$fUkaccT3YgfIt>~OV7~T1_x>B=zarl5JdOmPHxl^ zC={Sp@!mz1OmbT-&BASDItnX05D z9K3JFOt>KI02w9Vv_8MO^1l2HV)2u@dTLcwRYb%v0CGU$fzH|A-v@jYM86O}86zVj z71j3X<{;ogU}wkG`MJmWPK+G2QlZip4Z>uV55^~b5gax;Uz+*(`9U?*Wg&FIs{f^1 zHOtJ*OiWA+V19kAAJ7I@SJ#-BnCH)*g8~LrjD?xmbMNTm{f4@Tm97 zq-YykTT88;yny$zv9U2QM3!_Y`csplERK(3;^1s=Y{aLhqp+rei@an4x>TApGtTZ;~ik$V!favH>Fk73;Sx%-L zA&g`7P@Lw#jH)ePRP%N&)i_i(SsDNSBX?=0(C%Vjq0}U{#V;3gjS(jwo}E9Z;#UT4 zsQ8c9wcBtI>gLv_(@aI_L~nz!3u`Z5i6vh>1wTOq6sqW_48J^H@Cg+xUBb92{0 zVm;lpJ-LJOE+ZoYBODp6);W`2G?@+-RQeVwO9!1#f7 zZqU?LR^9~F6|@ds3f$X(_6%sR=>QH7(g=`#pm2Zy9w=WdTnx!mFw@dn1VM~Lr*`~J z;K2+SC*XR97V|*rfKhp!kBI|3({A>;fmsNKcoNmR@#0Y5{x@9~W1%$q7}7 ztwx<*Z4v@Ti;Tkn>~{cPz|a;#djt4BAZOk;gF3GmG))Z*FoBIKFaO-H0r-C)L!eAp z40^*2`XZH8RG`?YWZf6O#moicvbll{P2@4uK&2nAb^*KvwgKpj0MZJIJg>*~_o^y; zz;>jihkyQ*1G)_uXCO_1!316gale0bbaZ&wYS8zBfPesKtJqi!hNStQKWzZy($W?a z@jAJZ_GXai(ein2ojFEv{0j1S-1F8lZ40@=jCIcrw|59JyHXvb!C)hCD zaBy&`X=#wf#`n2nnS8FokBA#lu6){HzJSb@lZ(#E(os`WGcuxRc!`HfMX)E&+5yn0 zr>6(N5>P*YE>D;1l$VuJ3Sg`(v)3<9Pphh^IPFiB0^?==p;GD@m8KvjyrJcesb;#l2%q?>rvTTII&RJ zdoERVf_GWO%ID7t)q>_+Vt2siu+QdT!RfGBZnss!)5XL$Zt0Rg*55EN6R3CiL+4=1 zY<0&2$8T%#J1Q7(~EcFEUh;4Rj`cj*J|R%L;gI zXE-kbnV7m=a?nBTpRKV_ z1wIp~JhrwcV3oIrQqJZq%B8dT-%(SC{6+w-IxF9ltjyoN0DzGj7_0*_^rt0Fz+w48 zQc?u%Yf;e;AXGX#^#@`pfZzSJ7RJ~v+6YLsTpM9s4kK5pAn6AgnWaX@eO^HDfl=yx zf6@mS)XKb5iWD%E_5mIMECSX&Eb^=5l$4&nzBqW-+w)yeZ$S^{4>$s*0GJObN^#zx zZ&h1Wb@#h!6sVOyZPNMKSpZWgUEhmU%STdJ;WuKPfx|;UFt~owE)pQT3Wh6if852n z-+ZQi|ztE#LzIHZ+&uN;*S&o2mr1L5)9~xLZ#OF5M-8afRmuj z4+{$mFcVBLU|c}UZ>-I1a7|B4EC6`{HdN8lh7E4=*U6InPj(}dJ>vYNF%)T8EXnU( zTl@7p^%hA+gP={78du@!wP4jiH-Wh=ox#O`aM*Z)u?c>}D3fZ&YKg;I zIp4VP%7WR>oYlsZ!N!!?4h<7mm$qx8>*g+;|M*3aOa$c!ie%kX4e`6;MRzI9`8Ef= zr{TQSqeDj>*C{-AHuZ+dSuSI5XL8D&wTN_h)gsn=0!10t*huysLOP_`#ND=4J&-tl z8X~I^43}}Mt(2i(#UrSDDdG04)Ji$mp9Dh?{Y=fw8i26}T1NmCPPWn@44U;n!A=@5 z@xUPb(g1n?z9$ru3h?f$KLMV?(zCdjk)8|-L(Ru`4@9`@)uOY|1}S&|o2a#QX>!sL zlbP$JPK+OEQE@S-*C;3`TO%2F0FyxRy6EtSHzbaq zV+w2J6E!m{jEWj9QZ8O{+b?~qnD22hsS2b!KziUhfQ;4B4&OsSK3{-|Sb?BuFqM`R6g$ zYaRmeq*|(O1eo~Bip}Z9M|k*Pk>D2x;4lyqpqeyzKebBat)1O~@C0!W3PVrDHog~FA!{o3m`EUQ~ni@@2WrA2l~Q3GBRp!Ohz>p&F+{rRaWm0zo!ot=RFfR4)J$)fWzFlg*SoCkN2 zB~88N)r<3jd$kokxT(APGE}tFkOgEC@Pb<(E;T@qgS|>XLIF+*4BQ*wD1f+K{;ntD z;=&cyQ&dv&$Akjp4aCw5%AAUGuw?-3Gmd@_7`wHp>6bCn-rio|Ie-!i2&As-wy*E= z?-=Ym*O#(^$>D51|EImT@XGSrx`s`pLplTzLHK7Yc?8N=Z?!jFCLYwxw@T5HaE3ACg*P)=|JX4KU1aB&^N zqM@WsQPPHnw58=EiJuA&>FIY54;!o(#Ng*)a5fSn)PR8a-eI8f@};b%9=6?6s6$Z7 z9*AG^n^z!8Vw&fs8eAr)r}?2$V2t*N)xPD(YGq zW5eGU9V!o{#mhwmg{L|`Pdf4ret+zosa3ufib)=A!#L(R#4ekcpa#dgL16myVC|65 zxK^e1ZP6f_bzN%S*Y94?8se}u%s)nTB#1;-o5QR<_#{z`+i!7ty-~j;%rv$`K7QQc7N$w zd6L6ngXR4Y4|8ChpTy#Fl>S9e3KXkPpPoT;0EE79h9JNR@biDEsv^GO3$+&x1vd+H zVFb_D@Jg9AGAZXxjf z@8zwTFE9!FTvi6{8JH-a9v`c{dc~|&yPqB`P+C$VDJ6AHeAKK08b-ho;bLKlfg5&< z%DLF}{1lp6H-r!fgaDu%2=lgW0i=^vRxtG!sD5{)6Ir*wHH6e;j%>`rr2(pm_(f#C zZMf3L_sWK!nWhyQ3QvGl=Kwg~#>UUjkAa!l%EBTapu*?R9esUAzkg5G+A{`{HZ8P+a6bqY&*BD6Y3^~h2YWuw>@mW8JonsTtR_OOZX~vjgEU#MU>IXBI(xFg zX8rg_jjflo&qwJ=2IGb~(x3rS?@zX6HH`Wdj9r_wL%Z}ttK4JbpY1cvH;9w!nd{Yb zoH$AA#`5hS|FB^=$gy1vEbcNqVrCiQ=ROK%TR0q<9#?W~ef(teEMRxxsL+W{ELj?q zhhFM9GHQiQ9H zvT42?Jzm;(?cI;PWdGg4o#Y`_7W$!~(KzYGa(DO1^1|1X#IYkM9rtI!FuuK9Vs<;} zyZqCqs{OvTuMek&?VDM}_H3iuYJV!wMchu7qG2*d4Bc)RY(YP!K&@mR+PW7oCOdMYR8^B0RM1&;Qee*;sYB*h=y*R7_6rRlQG>Rwz>bb%gDemnzq*#742PVeQ)vN`lgSG6F_`)t zLJhsT3WGQ#-!6@`59 zJ?54{!aU&c0D%D7L@@G(stu}gDBYpW3;TnGjt=8>X#71P!PF=~0$*riO;uUxXlQ6a zih<4qeb9-Yp>GjhzG^u@ z|H_=f-^MCC+c0C9IC`|Alao7jr8z_yA<7;P{&;UkF6`eqRe2GEPiinClHhGor#01qJSSp{F}JDUiVtcLpb+#9_2pAj)uZ?dD)vmxPE_7+I%#> zqqkS(vvLkDG$9NjS@-~V`)u~|!i!j2t-<-dh6Y*gtpGhW*exJr!3^uqHw@j$p>XcQQrx8Hj8^&O-9MfhIBo;|17H|Ak{9gF`z5$vjkr zSvMq%)5A$C=viiBRBoS-leC#|j1CXeK6u~;XW8xIckSTnPh5PNM8ekbIK4>MuBt!TPFXYGT z#Kh6ShZx466rdqGP-REzv!qfLzAxESXiN_d-XSsSrMPekFin`4ECAL5 zN1EaBW4MOgL9dvIl&9xc&{#zkp*DvcJz1jf1Dp-0L;w?jq6fAbPy|4>_vfefB?UhL z;r{vahs$ET7=|>^X9v~+^bqLi=zzxH=;Q?LbANHV2M?a|^0u|Kq^M$al>%pzEw;O> z3nSJ6W;{S>ftW2J;R{s=gpNl<80Zhu88vI|IwmKd($S%eBt#wJ3#oq(KA%L|E?(*T zfXhxHO=9mC<-P7+pC4aUXuPtl%301JYedsNlH0M^{WQ-*{`_~>2l1_6BYtjcX2;~43r`a&_N1=m&eTR2=a`Fro z0(VhfLP8D3mB>*f^480{oen{S1vX3SfJq2$`hHl|jHCJS?i^fq-=H8dZ(;%h4k&o4 zW?j!RqqSig5zJ*Z6M#rY#C<%ziSCt=R7m zg)NewGi{-?vtWAbX%tifH?}j95sEfGn?(tztAvHWLFYOoBEk-!G+ZOr+Tc<;cmg!&H*$25{paYt<@iX$6*ss7E13ObQAL&d&8}ap^TRFrn&#RsaMt*c1s#NgnHY z5#V)|=(hvQ!99*IeJ{l>6s}TEP7cgSp=c_P!tUX^_JZzTa?pOz^5?_xWog7nMs!t0 z1i|ub{d;~I#_aOkLalUmmIU{oHsq|c{120RW{&p~idmt7T&ENNGf{A~&cf4p1UI<0 zPIz;M?fVx)-+a@Ud`h%EiK=gkg(vA+zuI{SpK`yHi5ijLGbOE>>+Sy##muGbRw7^( zGgJfw3_bq#`?3Jm)qMx0#~o9 zz8HF=hnI*=Q*h~xOT+VwC(9&QyNEb%<)Yo~kND-qIS^t3@3qXcLK_Drz7Q&%w<^Z8 z9oI4eP`E*0f+814&g5_u>vkH>kVg?YP~)=HKp^h%iso1C0tce;c-|k$c>rKz)SFNP z2t_enjGA?8w($~~UjTW-AcL~GxVu{hxaKh9!vVkqm<663esne74eA1x571godSXSn zZgkXii%KS0K+E}U{3|F?xvl400I~pru_urQ?ETuzth29gw!!5L3MQTROOa492V2$e zwfW-F5Mju~b74JdeNN~Fy(wtegp@=1a)xAT{03YU^cDHN$Wv-i3K7})aKadwu8>V9 z_>Qlj=&;DP(7}0CPt59aEt55-$EZegW_TFnw*@MB9R|W^ggJ?98ukyOyC9T;s+vtM zykmG^Aa!W1e}%&T!-!d{wWdYu6!h_jhdmkYDG?Z!s43v%F7`+yT6&I)QDwegSuI^v z^b%H7Px^Hl4fCF3$^cWi(q(T8E9Rrb>k0xa4l+@LsFFqzEEsce8 z{e_ud+NQZCGJ1b460ssc=v`rYj!;R|P}fpSN{WgL4SlKhVrICo|EDu~0NwREegVtw z!AHrx(`<`6x5RmqNLOMx+wx4R#ZPd9HK+~K3`6qmeZ@Ce`l9fX0%`a+#NI0hMG*#D zGgEBD3C?_eQmMzz=XClTO2*R$`sav7*@>*Q2KfIgl6ef=z*+Bqs+gq8QL=e7Jf&DX< z6Xy!$226Dj{#*Mx@3H431p0lvW4n%y9R z4#guCCX+yKfj{9JOG{tysm8VHagf2p?UjZG0HkugTd1sXX8X-o?S-c@TQIvqB1TNi za;>Tp6T@ReW8+m7hWZ(v{8R}VD%PBetmi3o@@B$3GZ0$*xzyfXJxjI}`b0*BttH(k zM11IO@MsgIgSX?%ocZk{bILD;dI72jYJG#&rD=PwZ{jCl&~Xz5I53bcy!caN-r-Z& zN>#h$!X!=pu#Uw^t9~Vl3Ww5HR@OIPaA7vAIBmN>TC}ds(1I%7_KmC9)Q|Ic)#^g^ zTEu~w!=)@*bYbPHokrYnShZK$!!Z5Jtak0zlLqNE1c2jB-T|VZ79MvK-&+gQHXT*3!nNR5nrfd&&Ak0*e41y2^k0Za78uwFOZ1|`%PRAXcusD?D%ah%ctxRVA&8cb2^ z>t+C59pJdttRy|h63WnzD%YuTf>6-~y(H*8T_6dge~V`wm!+K@Dk7rgl@%z%s^LUm z^gNmU13_O9x;lX9S7BuL9?lt*`fh2>VPRn{Zlf#QkJ;FM6}g>nz^$w!)_ymK6iq=} z2}l@+gVN0BM^M#5U9k&fB4B|W00u&=U5|gqlDn&0p%FSC-(%z@ociLk9dF``&j5Br z0%uX(pPgXRKPCOlkUQZ2!cUeCKR41_k3@C|j^^WNz|;jQ{-tywq+Lrk!;A9DV&&qG zqtj7K2r`!G`O{xfi=94}^OC)ddP=5V?egoW86#QJ>3Blb^I7s$h4IO(dllu2sHfe! zzX?M4G2y)J(>Z42rn@%~h^u$>KHbU`ZRLT<`UH<*WW^(?#Mp%Z3J2<{A3Xalo{>*4 zd7f;RSs}#hw5jgb@pq@c^EK|#?aLCPboP8#oNt&T{+lJZ4Uf`3-5@f3TDq;8D8Rlq zelnmVro#gEL!hsstzq7&t(A*Voqv zme}ajRDg&GrhA&GEIKVfvLQ~ib-aQOM@0br6%KoZFA3k-$};itz6wcxm`H@dn2k6l<;*wN9^ z#f6{2*nbnk`8ovOGpdVSpD}GGOPKNi{D#p0j6&frP)5!Gl?@;uw~d`&`Oi36Pm)M< zv5$IRw2KBz6vlWXm_Ft{OVPj@^uvXan27-gD^boTN^sqdSGnMt{pmB5&jTjByu8r& z7gaPWQ_p;1k9s#;49_Iv+iDy@*XH6|XsnL+Q#xNm9ao@orhFreRmz=b6`=A<2k zh@g7Jj-Jj4!m2jMRM}?P0ig$1L@+i( z44&OqT?qcG!#jeJ?`WBM>en)yx(15O4}%_!v(meq{oH)cUOKPZF7D*%b4yH&>U3|a zB7gl9`y1jX2}b)*Oz99ND{MiB3yCn1OQs9fOMviPpWI*<8+kF0JYXn+GjN_LX zx=f+J&R(=F5^p%k0$UM6Jif9@|K$R3-dE5iF?@JenrM>C)_P09^N<@T)d@hgxwlEaHZci^}Sf%<3yRYKH@Jq zEra$5qZ-+pnDI5DMYlKzxr!bmAMC2N;}_icimb}4sIYI}0`~W(+}(4%>AVIq(reIf zCdCZ=axwYU{`(1zX1SH;@65UF*yn~`9{hPI@41}m%uk0a*6>%nm6t*>1G% z){3$+{kC1k{nXWr&uDouaf&yhu6fUhs_*Q5%5izj(Vt!OG~X2E<^DB^&aL1^`;Dl& zy0c=vW&l}_2&jp=3i)$%ABieLi|zTBRc+T3LuFGnjTm*20C6c!xl_(KJzDqqT3+Q? zwFnK?aFQiC-%kJ9cfRJ!{r9*G=2lqwklRG#7e&TxNo7601lySpfbgK5OHd`tbQ_L}cbt>>6p6tu3RO*-lQmRDgMfje3vgY*V}kkq?$; zxzqTMvgcY#KGiEYhxC`<(hrr6yo0sKPG%CvS1?ep8o?7PxO68as7mp`t=w!njUwv#f3UV=+UmFDi+yL zna2B+hW+Sp>sM~B_hBy=f1y#e7&~!Nh=85ssvxllwz`Xr?@(mZ<5-U=zlJwO$HNt; z`q}Fr%^3yXGF^VFK~(2=>bYzM1lrrWuM=71YEh`w7(DL~zD%pR@EW=%MRy~T*ONeQ zGK|Z7p~ULXJ$DDs#8XzL2d-MvC58_3Mip&xIRYGfm;Jl>G~t8tOkFjUFE!&Paujk+ z<=U-zgV=05V`<(5-BTC)Ugx}tT2fssiCHYUC9Xk5%+DZZoT(mzFj0y#Wte{G7`)0j zc=IKfl(9Y!mwuVGj_DrTnqZtX2Dfhq;k+wr_{#vcG(7?$BFL6w9UZ3sSaC3%Z2-RW zut?^)U#n0O5SC%Wmo63<2bBnNsH~&}BJqCpK~bYLZ>d|s`*Jc2#j&?Il=np9zvuOY z&a)y83%Ezpj-T^Hl(L`L2runObW1j*O zrPIH288Wt%^<&8YA@JP3(>iS_hHCG7^>6=Mo4F+*vU0sAkn^C5z0AheMyjhTH(nzy z!tr{$DfjkQuT3;Y2j@x_n|=ptj|M^Z@wGPGvB~FCQYbZ1Zrd*|YNRK0#|A?w3GtoH z8Zh%OdCT|WeX|HB<0%|C@&j|UD?jV@o+{r`??fH5)#nS(KD*EKqqv=uoAy*;yr2xv z(0FX@f$J-$cTy)adYQMp30niZF037YbQs$U+upzo`T=C{c6WU3$ zmSF_dPSDn-(rJMUL67TJV^5>fB*nzm^E5_j;wXFa>y<^lj4t1oC+Y&PrMdaL^|NG{ zNrxFg(F~d<=&!zecMSOiDEU+4%QaLbcY$=KC}>XhlxR@QY~f z{PswzIV=*}6Mrb{gNt=GR|b214#hK5Fl8B0qmD#Kjm z^aqY{Lo8FV2|p@Qv+t;EQE>~d4`qsr7s`?{b|wAPn*XW9+0pn`Lt&x2N4BhrqjyGA zkg*zJq&t@%ShaF${P;)Ap5?RC7meor^~_9%f=5L^fA@wGb5Ziuo$n6Bq=&A^doL$U zs)cQ;SvzY_%%R;JXtu$@>=NL8%ZjH#3P2;_FI-q|;z7L$GK zSvB8VIr?pCGhmpUl+@HPa>OCRk+aQCqb8qhdS`_ zTaUa(Y|CT1U%kKhx4Pa|FioiNKjpUa>pS>Fx$>ayzT1+uwEs{s)KB$gMCZ0e9CX$+g_NCxqIIC5|m-)W)nEtT`hl3Q$$6X>^i^UZeF^c#&7v3 zy5jT&#)MEYN?0@fjJMY(eWwAYzs>b4S6noG2fW>7F*6nIlp_gO44^ump=Ww%YNq-f zOT_0Bqv`$d!AY&=#{p`%tf!OL%jzHZ%!bskd;Y5=7j9bm+c(Ql zk=qW1lOc736*s2%99=c`t3MIx*u9vwPKQ98TBA zy#$D(E$S<1@7fkxt#hdRc?`vtk{ zl5R{&j8{@r8XHdC>Svb<$Wscfn`dv-Y#7or9ga2+>a~+g*m5;09BVCdc@bq%-{5SU zt7I^G>fsfSpZiwFLcqC=7c! z2n}B!8iaPBm#53r%u2v$H{41}*3PP=|J>e4#Y{y`#rnOdmVfpH-QP6vo8P5u zW$ZQ>=nQ6Y8oXF4QO!Kt8rlUqEvDIlXuU#`uj82uXG1HO-mEnMKXYtk#a6b8p`)Iz zus%F*;LQj_;fp3tlIpka;YtZ{^R=h^KPj@l^7;*DuEf2*!^B_5!`$@XxA@U3@r0r~ z+D;GKPUaQ+US&V`9||rX)*Q-Xl+^6CCQ5ZcWx(k!if?@4_QeqWKRYbI*y7wDWn}H1 zx^3^0zUWsuAND6dA)tFR|J%G@EnQ8ouo_Qcwf6f>=Z=ppf3839L&&Q>&@^p~v6N!e zw;Frn6{smnuA2Q*!(KBxb_2E(Med`mM$oJsrccQ?tg;*8W~7#PW)dvz5($3SUw=c6tl~s!Bqo&`nR$RPr>?&|J zbd9Vy#U4sq))>+B_cI@QW5b_a_J+u>>_tNCVmD^;A9E4&dCyHuZC_Iw<1GWb3K8+p z&jMOH)-PY$UC14Nt}XZMeD%rDw1e}#>Z`op!*>pd(&O$GxMTfZW{miKpEN?K+e-My zjR^Ide;2w+zAr#6#wBA-Ay!5d)@m9N-Gxg~IPj1>-V6i7c4+W5Or(hkqg9nTRmQ5K zN9+h992O%xFc>*GAB|#T8Gq#tn3K7Y&1ua`W6bfpV6i`Ouf&-8WGrB`WzUI3+n1DG ze1qpjtNITfEt>4yIbMd{WrU06$J|;4ZKYhZ+@Y??M=1QCeow!?-$QN^MXiRiLJ}~m zrYVtmd|-V0KRekhEMt=pY1BjOKOh{89n~h;Z8G?fV5@?Y@Z_Y*9~}ddR2QRJCnNbr z96>?iaul|?^sU1FK`};g^b-t@W<1)WZ?sJ%1U-t}(lKb=5(?Z+dlSt@LY`h~%uOXk z0unN-+%i3}gb9*Oq>=e@a=ECox>w0`V&#clK%<8Dz-Y`y(=6rXH+IRHZh=~`bu3#b$WPM;ngeEms+zkpIOy; z!o7ybdBP)`C4(p}{eBrO7B*yjDZ|pj$FAwje&`Yfw$Su^EmNn#a}q{#iZ?U1>)N{o(L0C zh`u3c3pEPrABaJ(Vvy_lddks<;_*i!yCI#0u$Wn2smDI2DyL6tZbCC}Ke zJw#;#1}qvq+>*uRA#@)fHz`nv7IO%ddPdT8Q|K*9@Qa)Ch_#oX1T}J5^%5}mN%%et zy3aG%dCR-NNPtBqO*7DmTzW4_mX%_lLQ%q3{lCAoK^lIk-_rHw>JUHaH%uLMg((H~ zSo#zm7(8`1q~|!ilxT%+6NnBD+P}tZRk$Gb zQ|qoNu5h1W)Vzs14XeOHOxp2o5w2JkTEhc&DjTC?7uqhoZ*Q4}yMJWL?5>f7u>Ffm z{SQ`KU(!iX^L4kspQszqh-x$W*4^*y#yx{DrOt~ky3u`9w!nDRp=sym+2kH?&x&xd zQP99|;cgQ}Pc>YGA3_4U39GjeC9lbn?VF6zhca}(8>k+NjOBclm$@oE8bzaivqgy0=jnzq~WMO!Kivo#RnN+p4ey-M#4vjL;eVs^CG6 zOLgBgdTUCFu#A&Y?|(PgMcsGptn}>(r-i$_6jvo<{^ZNetEL<-mvqV=&sOFgy7KqP zsVIrC8=u@fO8Pz1rV~r}!@_RjM2mb|&e!Wf?bF;dsy~@q#jnt^=+T>5{L*UqL$gfD zWksC&*S<`A+Ofa7i5-`P=Kl3&|8yuV5ELcDHupmR0=IsLwE|(L8>a8ciE;}kP+1S| zQWN29z0ioNi9hw9Z_zUCsGOU8ouHOO+qCjHy~2UE9alJu<;P}%YV|cL)hsu$>{@Z< z7mB_Q{e;~aljtM$DcYgS9kek2aGo$jXGlvT@pvwD`2oRt<*n&udF<=09-$Kp+(CLI zK?}5!hhLBXo{M*WtC7Opb`!<4FNMg+qZZG8pq02#5Z}LypKGxu* zmy-681wpcKcTpM5ae^U=r9|6~Y*ha@_3x$6$aMm?SYOxpi}MBC^}W?9q#gxrGcZjw zU`zd8GGZngs-HdpPClkABo_Os45K)~9GC9JO#VzN&X4WPO(dZ6d9yzqvpGeAMF^Mv zwgnY=rA7g7Vy{_+z*^{adxVkRpnz)I&XCczRTZPyw= z=oL^%W$A8u#SmG7f-pk_>_m&qdnCv8& zB;KE#EN)ZM`++ksuvdUQr<5&s2e^d5O$YS`HkE*;wsugGbilVXH5+-OSs=Or5h&rQ z1K4UHAj$Yc>P+ewfeIr!j|cw0$47v=r$t`*_cItDqLbp@rj9C1DkDY=d}=KvczeVU zk@b^Vc97yDqM5*$`aL;UXhQ65uDDs2)Q7i{m8dc2qwx@HW;Nm>aWfy*AEkt0{N+5+ z`of3>_`y2B(*Pf z#7+>dAcqma{DAR*RHiVoTg0ON-$?SI;b9BHOV^+|&3{I9b?$Y@xVEq81J@8-|4>uv zD*>M4QhOzHbzA|SF>`fOb2*$o2Dq0|xRVjV$E3dYv?g&}@jc+^ZNdSj!Z5o`sqZr{T^PrQ=A_H1v7b;UOaGy2+ok4!Gmb2I3DT zyqvm0E*AGldxtotq@55^o`H!B1)?>L^ws|B5ilsO(M*bu2iFU3`*mfI8v%7Z0yObN zM5kwGNM0t$y~@i8?vtk|>no>SZT*yN=UD+xPGAZQn-3Hy7>k3|T|Kb2|2YU7p~G^g zV6+M66&ON54FyKIoRrjmB+{^l#LTYZz=q1p$zdT2l($>__W=U| zDrLRDpV?10Oid(q-!EUbLQj(Or_V5EWe?@Hm~ZQ#xpPu!N-M$rMSOPQ2d0vOrnD_b zW}1H{N%4b2p9kd1s4)>m>@fD6i+;jiEe6^-a9lz8^H{r{n~p9kJ-yk04Jff*o}NGs zcn#VjfUPfFTCAr`IACTTPedv24#HSa^S}&Eg)TfZBO@j8hEM|Ed$8k)1d0uu03f@9 zIsbf|UX`N&xwn0gxKYcxwgwk3X?z42{0T6^=iZ@Fw%VNefN%Rp}M^6{yvsDN@>ksuc_%6^|t zgc|I6fZ3c?eF@%<(osy{BM-Vk@Td}ee+RP}0%KZwI?}@e(drix5(0uU6Qx^!m#lQR zr9N1S@nU8xZLc`UX1d+6t|-qa+Kp)q#b$PCCs;smv!?FLA+sR6RxIJ_tFz8JTFE#W zI>;>J<0Qa3vlwRq4kp}AB<)~?`u_da$w{PS0E|%(@BNZ?wvj|QAeh#{qp7KZ!ys7? zgyU+M5T>bF0a2#;Y$P?&@e3FN*uyshiwOi(a4$lmrvDz3E2~bz0o^a?iJH=|GU-?Z zA7(ljuDvEv|IR7qH9NFrgw3=}LFm2>U3J1}ZinpzlDVMZ zV3^4^fPy=eMjR@N42M7lT?yuUhxvt{Kl9kHM?i1@lAJyQp@87{yVz$`M2Ltj-SE6K z31MedwYm)nXJ*=H9w`->n26MmTQ9VMpDOTil1%?~u)Yon?*!rs zs`;8aQH#y#rb>C1m$0u-1jG$Z8|QxuP2<2|fev4#q<3|8>k;oDzan*1E(_ZjP*{PN zFD@#&1!f))w7@A}?;6aFFmP~mKtuqCQ26(^7Y$%(^a0=4$OyP7a7xmC5pxM|uCF^Teh&qcr^SlZ!%QwF zSH5SnVYCxdQxvyvvl(@hfPV-OdOezUGpzn5^AFj++H@_51CB`z(?L;tt`3|(l&LE5 z1y~Lvk1FvH7X;pJ`>xd6bU5R#q{)^E<6N!Bl8d75zJYyr*W18czj^Cc9S|AM&cL?mX1jIy-#Z%p7@V$vIEJr8SDT0xzfDdT zZVK#5{0DM&V6y?XNRW$?_8rf1b#;Yk4rvw43`p1v zzQc)1j)@rua(B|}61Da9^-9Z0F4MsbAO<{w7(X#Vdhjv4!vN^$C);&9DutSBD=QAb z2Bh@GH8wT|EgPthot&JqGctT7??AkP)B+kH@UVNx%q;%2b(}?Zh|8WuA?{Xgt~Ib# zk46oF3o?|y&L@Xh3OvFsUI{&;octPA!*PfAe|I|!T@m)n73yADMG-D%6T)1e;;H^aG+mbgD@Pl047)hpb-b4 z0$!3SaHqCtQLjy-=0-4ihbtCSxWGIDEN)=Z0BPV0h?#&H^}q$=?}y?O-B+Q$sNow{ zs}n4B*b8a3%wZP=ImEkn)c_@`s*q%EadDpk6X48%UrCtqt-6g{TLpu1c(~UqWmt>MD0zq?u6;@$6nnMYA$VG43lMZnIk0eUg5h?38V&X5bff0uxHgO1KD(#~!m^36=tl`Dj*k|ILN|6S=- z;i<0Uj$g*02!`(m;Q>%bfHvd!g|e9?eLziJ9ZcU&K_d-PX~IbLcfK$Eb<$UvB*Q?{ z3RfLmN1ecH1vK_a&e^=c{s%?RRINS6mVr8#fPgD-y#BdWL`Fs;_Eqzr%M6uISb&7i zsB9vuQUmZGIO%|6*VOcMrYUk<4PSycQLT0G5s^}aU=ap-1u(3D=jGA#;RhR-_MROd zV^Z>Qb8skwBSud}5v#>-PP+adKaimrjLf=+hRX8uHzkiMp?pEd!8tlO07oLi_(vND zr{m*l5o~zmaS00{~TOcn9sWMoiB#kf6aI8cY*_ybDfX4|rYw zE-LBqGv6~^Pj1j@fF>XAKd5pXza(Xu=8b?-2WVr0X2UuC{ow5&7vW&86!P&dYPnMW zg0y0Ub`djZEp~U0_lM-cKh5)3a56neo>w@<` z+$T7)tGcYrX(=gp!EY+>8JsYlhY2_uydp*RKnqD2#1_M+^uZ9ygR%Q0{RDP44s3p?O!c|Wcw5pKK@TY+A_9c2yVPPEE8Rx6l9C-z8$6IpAR!_G+LjEi z=RT8ZB#LPhThM~WU$y4q{5%`PU)Uka>RGU00&goQu7C=S^eqBoRRFXT6Ys(62&nE! zKum?;23i7DMMYp^4m{+L1rlP<(2y;t@S&PX0`vk>5ir6~_zdSM7!W*UBBbIhHMPlt z>*%Z2-*xYnUlE?dDE@>#`DFQ-pUe=4WEj{uqxUm5d zY#eBAfKT`AN~ApAxkNBiFE2y0!Q0cb8q)IVDU#ZK%X1u2QeII3Mi)p_hqO@}ZUycV zQpyL;p3qHz5;twc9-aX3$427otQWvhwH>M?c&Q5D>mQSo;7|h-YFk@d_zQ@0###QZ zFc=5bdKM3{FA5n`O>I1eRUZ&kXJ;o9k$()^+`RyTSPec>-mM=9xy|$peoMA`a5X6U;v#hJq(=#sFMrhWktn^mkcA2=G%g)m;-UsMeQMpBml$#LaCzXxPYcv zcw&HGqNupI8_2IfeFJA4`0az;emXb((!kUaWGdytcL6y+dW3af?)wt*H5>pg-Z?sg z?NR!qW5-=2W8}&eKDxUtU#^^G=*9bFI6=J(=^Ad)Xpv5GVq%~a_A90+INp%bfC~@r z&j9`-d7#*Emn>6*ci5-aL43^S)q_*0cfd~v&Il+tVIG|~vYv!f#D=L4bbTK@Yhyq& zaJB%S1G}1-m^fRRVc-#1v)X}v8E9sLpk@U(>YmKaXxe`h+dl-bB+L@wU61`<12)*U zz&lSzCnn&H4w+?T_?a?5^GGW-htdx+dI6+3OG~K!P&}?05~Ro=hEae-2*Soh0T-lU zW}Zrc1~Ah>;zfw=Rc>dEGxZr&2$#egL=rP~DtSE}9caL7XVpiZ5y*6kA8UXr#|wmM zUS43HXJ%*nlM-{trh9qlHvgaP!u)*0fw6_e8w43{U~&e0I&KirfKh@}CfuW1nm*184{K4#%gbX?Vb(u$m}s9U5Y1Vc7+cMejvsNE zcZpwVu0y^JS(X^5mA-2dCnqV1Ob!3Rg$oP#Af%(9*j!%b0;eBf>;okRoZ;;gzn&f- z-OG@`=k+uh9$pEAp`Sl>-Q3*3#}MELvU8;U1?gP_qD6$jYn%)UUyK{A`zCm6W%xJ1 zBcck@HRKkgOAxr&f~Pedoe@B6C>5df0QVXMSj;sj%Awx)^slu_0qO28NG_mhVdvmL z1*BL|3;^bQ3KtDfVjv~IBSdy^4$=XaNHAhR`uGE40o(%LGYY1L&}suk0jU6(Q|UEB zzy>mE{lUf<*hUi)6Z>0_CR(GCIk~x|tQN|0y;-7E|F-h^RqAbz7?~_^7=e5PnGnhuFpz^R1b;$>WHsAx z{ymfi{7=B&coM=9xKRP=7v#v!E-tW}@HP|JP>`*|c0dmYj5=N@Dt@%FbyD-)>gt{l z$!bl|{i2ODl!HwM=mFvdz{t?Qp#m&hUr+HeT3?;$5!L45e+KJF;F2twssPTQNMH>? z4pfzBAi_8205M*^N}g2a`symU-T<)g1M@s^8pz9oo){oj-b8G}sUNf?<0}UOXq(rY z2V+Y1S>m#KjBH`0uz6rC09v$qxW&kNacSw3j~i5)MK zB{LAcyFieM&qE)yK;+*Fee*19{%{xb!+cj9v)$yNDCr*{FaL>BG|1jcM%bE?00H zMGfymz#lJJ^v6oIp4gEq}5}p%qXuI5$a`| zlsd6dbET9m)!_GkKWcw8@~BF9-R>ylIH;VwZ$7PJ^~`@fgkM^}gkRI}o7ie*dy1l@ z=xhTAxnx+5YeJ9szcKO$@#~(|!5##=bC3MDx)M?=iB&%8IH1LqW4Gxa4CC5EGgZ;o zn&JsrAa{`9oZ`RYg99LaJKjPTPKhKrG^-24vtFbWvkKwzlj^w;P>Z#vh_~jOuoefl zG0EnA_$xWNawYgW>fVsM3(2@^U|fukZgSd(DY9mk;ikd|KIbWWz7j*i3YMIh%`G|b z-1*hn|90v=WMjiw=#pPXm)266qDdOD{Pwy}L~V;^^l(<{(L~m$r`ks~nM2$i)Yh=3 zfd3O$m;}{jg_U7#+m*{d^p|!n;_aSd#_x@;IYSUEv%0f8YAQ?m!?IZ!-i}&~{C~FJ0)4OfiSK_Ok&B-X zYRS9r3#hD%|MP$0{%6#DQ= zw-=nF`hO~pA-%RhLiU#|4L|-)41S$@7;Qe0lAynk6(<>eo>#gAwe@@x-hADxFeOr< z1z-JDUNJf{;zJ}xoTLZm0UCjl+4sBYqQ0KoEm>`3x{Z)jVeKjAXqIOG_w85qNse-# z^4aWQHr$;4Vg*Yl)mW8o_Y;r_^=!2m+~7F3W60DlC?&&krel?zHkWK?;}Y&3#C$%$ z^xu{DhufJJWW4{?%oUZX?u}4Cz3Ozl!GbAzJEkLNEGP1O_?KLuu-@p#LrgU5G4_xD z-Ptc*br0(sLvYJ5pW{`Jq>SZ8B%UiL-Z6WhEtz+}fXMqE^?z^1J{#prFDiavnIYOB z^?lw7;h9nS^wnX8C6vHUME{%$yW~9PP-d$$VddEiRy6_A*gkRBG{%kb_Bphm>uuM6 zUoWCMK6h^v+&#jbVg7ke;JkphdM?Zq^QdQsIPAm2+wCm=uu`)KDbZJgUo<{)d5D<~ zn=={FNa`l^oE-5B$)mFVHrbECZGNZg`t#s=qt5QptqaO;XE*DU-L3wZ3A9yprBL0= zshsapm_{wR+leU~cEhM5CIBT-E^jo4kik$~FkQuTm|=&vM9z?H9c`+UEo{Wz;fX6Q zlQf#}pB9h{b{dB!mFSV+bmP>!{yf6CxcEBz{9WURBc#4BI;!WR( zCG|^{jAHKjpZoKnAH!qm(LOafRktX$fnNGUcUqRXdlv4UIi)wyaW?G93dAx;=qt!X z;iQ?fngnV@Y8Uk967m*w8Vt|HOkCWS__~w#^3M$}YW|O6@wkE8uHlr|7e1bR9K-qJ z+B8db?1Z{Qyz7eIuorPkLc`(ne65k7E5zYRt@-oW(jzq1=lC3-*g1fsle~P_fcFii zBp!(oR~)9s7nRH*dV4aEim!)}`Gvg`KJv>G^Ge0Hq>z>)E zGr{i}H`4DY9A{}Ayb<{7P54ZP(uT54VA}J%)&9?mbOoJe!=Z4q(b>aQ@QsE^D;NSx zm8h+hzE4K@y$#ez9orLqfI7usk63%)Ek5D6j(^>P<@*2sfAVXX#m?WFzsQ!)-LjQo}G?W2P{w%ADYiW5u`pv7biQ17Dqn#(XL#vo4#l=wGdns>oIPY(kt+ z{k$M-!``e+GFacpuZ1K|_n0X#8GH8P>11C_`U8&J|J(7zDtvMr!@Pge^LUe)zOVn8NFhy%bN1XNI0Y- z9#U86`3w2S?t8XMXvm(klwp^xzVS~gCS%EKLX47QktM2pDp$+gRLJA4AoJ4BW?OwJ z=Fx^=y?sM0j9V0sK$MSuL?h1kT*RYPet!Y=e|?xod1o=W+gq;bZ?xSWCQ!4IS$>=6 zDbw~~z?hXKQ+aC^nJD2kAk5pH(cXhHW${(!)Kw*X)NF8`i2oC* zwSsjKjQ~U&94xtPuJ}Nrya_W-{g|8W1!)xi244Zq>=7!DUt4O>Fzr{-|^i0{6CMP ztiAVIGsYNij7g}Rj5sP1KGL&i&rm;p5LI~g4Ep=CXV0q7Jr}v~ViG`f_2x$Ck6{NMLN^ zCf%K@%Vv8d!$fR!`*G{;K65%A32{bAqEMYevDlC%L8>s8CP5)klO`$5$Sy{cL8U(r zDNw2~{xv>!5IOGWFSl7-`8~E+ee!~ExgZXqe=D6GPlKhfNVb8|Ae^HV$*)$bVvdd)WX`Md5S`x#s8*VxjNuzaM6-CBIe%|}47DgH(mMdR8$-}5Z zy&)jR{8>BXB2cezBxqB=L6bZ#!n!@^LRl|i$sb*dUOfqSDwJt5(0err72M^Yn?3Uh zjYMMZkuNkZQL#{>!M4$##Whf&Q>EDyz|c>TqD$E0NRfiFRLdQkWePHT`w6uuM1(Bp z-w)saXl|EbMj1D+!5=Qb95iGpBwpzr#nG?iD^dFKk>Jr56HyK0@0*+Peax9{^z#(B z%RcbYbQ?U^XAY5)v+u$*?~)54`*&vL#Or}`a!h4hy7ug&@0YTfFDb+S-uEf^ zp04Y@aM6ZP+|lYYxZNY!sQ$??Jwfux|1DDU zM!5Z&t$O%6SF!;oO*c!S93?glHh6AiPHKgjy#Q8_{6p-|ctj^A*ysQ5iYt3M?j&o4 zQg{wEntq|ueX0@*c|tffw!Ua?J5vCb{;!|`qrH_*!oT65N-ZbEpu#y83iiU34JlBQ z96d&uE`_?gJ%~!G%Aa;p=D#UW9OqI&b z&?y?ScVtUt#1D8+WN-i5FVZ%0#=}7|nOYHtowW`D1m+@Ty&3ydw5NrHy?;jrVmiiq zt}Iz|z*Q+kzEt8{r#f~}k*(&PY#?r}mjAy2*SvABNCr2nU#c=Kvc`_0ysw0-yq>%T zE6k@t93+hLclm0saxR|3j>yDfNL_Oij`li382YAX@LNmJ?m-&w|}eqy{GY4FW~vTV|!=Vzemb1jo%~ zMBx(8RZmphaA8TAcvSw*Q5gMM~BiD;;=y4Lwk2~pVk(d%%pKkhE zX#eI=ITT|Cnyh8fWo}aehZKi#m)PAGGOp}iL~Q0p`StEwhwo)-;pmN97z$Fn;Rc-~ zh|IHcs9kb|LbmLmX{(c=gc2J0vDQbCCkiJ?!%EtGh5v@AE37MC;5D~G_=6!8d!=D` z_->&vNr2oA1e$)zIp(Jk_4#{UEpbFxp%3S2;WXVaU`APQzV$i^T)YeFQ!Tr&es}v- zu*ti5RFe7gfBB^t;=3A4#U>N@_H5&WGNqMTnX_i$<2UUvTMFM|1Wndg^i#6aMy^(9JQp!7JH89flI(`O4g(v*y;CiT5K!kykx+wL|rhyEI-lSvlvw@y?FOJ%T% zTV-6@TdJ{ab+bSv?PsXH<5+xwQ1SVvw11pAVyHT;Vv#ZpYK|B)Y9tv<5g8h4wwQxV z_{zjRGk54wupvtU=F|7J42B#&FKqOG^SOU;NRqC5eZ$`4C3_`aU|D4GuWzJ=0`%Qq zgiBO4GJ46W%YGR(+qfE0G26)rhqlPb7y-(ziclY<&x3Bgbt zWUe8cj+jrPXnn5m{!JzO{WRTp!m z;X7N`9eJ{;417H2|7z^%-f=8ah4oE+1*-R>xjmP1h_b+#&Kf*+J{(YglDW% zp|PC*N9M)V>UNhx$@c={A&#SgJEwh(MI2cA|FS04;3Sz4@vw&5nwX9tKZ-3%gp*{B z{k^)0R;)%dYr~I8;fm3r2#7-AE8WjzP%s)xB_+Rq6(!S&*PL?WE$5~z=WkJ$TcX(r zo#-k!B*V86J#P>$5rFqJ!<`)N8ZUChJate$(0M3=`a3lYMCP*KTUu9W0%)$UUgB6? z6Y5I7dWH>27^&AMd$?Sm_tON!UnR(Er8re%NJ-24s8uABiU!C8y0YXn;xN7{uuJKT z-^K$yJ@!FP=`pt^>EgksV+}92LjQYyy4NS} zN@A48a$lS8$)o`=%sDULpX-TI30D^(1_ij#v}62GQYAsnkX~zADB<^b3(=9AT53Ok z_jq-c(Q4o zC0c->yl2t%lgFFC46SVzi5V}notZwUP);dw{Wj7p8GpQpsT58`o^TTRM6CpOy6-L8 z1Ja;`rs_*d$xc!VK4G*)t`0>sR1s16v{SwDI~=%dp>DPk1(wQs;scFDc< zlbA@B`q;l&uk?99sa~D&FHS@!WhIe{pg7zFhkq}-M=okHhf-Zvrzlb}ois0n>#43E z3A!LgQRvkbSX|&rM_bR$Mv%ieq(Ep5D!@dCJ-BY+aqN!sS{9uuw5Wk+OguuQsY5PW za?d^yq(1wJJr%Q07fgLQfE#I%(@tA>F)`ezI4yxWI5)4<2u*ViYuxxSq!E=GY7e-_(n1m67#>*fwohUwA(-ig{F_o*9>r~;+X6Z zlyMrHQlx3}M%Z;Zl$qo1Svy@!bWswC<2+HVtlDVCkC5LHZ_SVgw{8V=n-=vln`d3l zB^En=-g=TnEbHidkaW&_H$1FNmOZG>Uums+dIz>V;SZk3H0>`QcC9)tXVKQ5evq3N zKR0uzElqn9OdcQ>K-jAyqs%YM)T(URX>SCoCw44xn5E5 z;8RpYVI8#0-7Qiq<=YRZjj;c2qO@rqH^9+s3cT#*%uE{>K7QXQS_!9Ej4fPKFa2&I zAaVkI%}sbowBQrWFNrVjVE9GR$m63;5mHj4ixDY=Nts0crJ(T6O?cwwJ>^iD@UR5(tbP$u7H~kc@eUqC{)mr~BhuJX; zZ&^1l-S^u3MUcvGtAtMo~Y zmi}B852=>-1kO5U0$wIAvIzERkO~c~JL`&)Je=uGW~{Dv8R6Dmwv5|j&!`-e(`c{^ zLwM{&7kkzoc~YWt6&%c}yAa4G(U2kzrD|r%m)rj<)2E2cpK}C52IeQ)%xmT<+yyn@ zJ(m$%p3|ZUe|;lrF6ZM4o4hoydVtv$$o(E=Ja(TmPLYm42B ze!i0 z)~8u?)t^ojB52X=wqcgG^_tG4^{02p3GR%_N2sNX?hUJVwDfmnm6uxUhfS0-?#jA2 z3^Uk2o({<&XWWOJzLpx^nKh7o{45no65l|QQI_Z?o@fK2?s@#Frl+8t_Q_U%z29W zZK>%+?PCeV@7ltXoAMAvgfl;eYJMoGZcDTHB9LQ#mA*}tD=xd2C+|i4zqDSdxX<-C73mM;zbGvgT#cit}803USLv*I$6`pvvdiUMb!$T z(}mZ4#ryv$RBf*lq?0o!44w(|8YLR#LiUw6Y`DyH)5mTBJ*ds_u9FonEyxuKL@)?E zbN7fC6AsQ87o2O?R(gVt7&&HPIS*dw&1r4T1tL4?m@PWyIf}dN*D^ikhy8~5C3AQU zTX^D^>|9JON$-2$)jpG!;LJ_p7G(~Io zr9lV#ng8~zT&uz@_0(r5FFKvQ*z?E=Y91fv7Ei5uF=6t%ScY5aWJT)z?QFguuNA6m zmzGq5rCb;da|UXc(O-?LjqP=U!c2`3ccFV)&XQuOt1I{>W_POkr?avJN$mD?wN`V2 zXFI!o)cA$JcBnWsNk+Yz-Hzt&Qq`t-xlOtOe8yTpALJ!T{cPKr#CD=&DZz+s$$jeZ zuA_0ay1iRQ0;J07nfp5TV?J^zNG59}jFPME+3Qn|%%dd?j^;=Gw#`|YGartsXRV)} zO%G)mYz#2jTFu&K-#JW#c*-5{UriLB7%4|I_ue+oxY|bvVxRuV`k5P^fg#VBBX<6*ic!mc(MopqLUJdJQfi?J_Z6z z#-e8zMjlp&C_)FGoRO;Y&2su}bi(7r2>BaQUY+&i-2WmmwIp@aoXE@$b9QQ6tHCD-7xi^_NA=(dh10}+!?W6Aqa z>YOlFW$&hq_86H?^$6Tp!ynYPo@-*_4|e+3a60^at#XL_OJ8=7%ljQKYt#1v(h3@Z z0`Uexg^UYsK4Db+=@4N3eJ7ZUfC!r`O{ zZ@Xy{kPw(7*Uf7hi;IgZDq=d;Y8_u*epYUg@Ou}q#Tk*_q*y)A?iMw@h)FiOkb_%& zeTd09e;H&KDTvxoY zDY}dUy%qc~9n(hj>gb255tfRO(#6e}qlSSJdjI~tqt&~(=`nV4qMv97EIHxjNRf>5 zPJ3HoeHy$iESInebHO#g`Ial+e&3Xv_?d#`VbUF)4d2!7Z?@LOd4ipMjU?rmKUjCX z`RUe9<*u^SV@Ac{Qk`c$wYN6A!fMCTf@eOqmnFAq=)V4y$qnTr-RtF7RnJCJNqqx3 zr#mxh);*>N2>fMK)l3+$T;Qn!1I52mWETH8G4;|Pb*WCssPRoR8;aKH^M5@Q z{J5BRqTqzbGV_sovXR^8KO;t)!YdDjIax`3E7XVuFRAM-0|Ud`;sS`CGfE^vP4|~X z)5F)Dam97%^{rd&%KHWtwK6FLEuXFUXiLpd@2pWWK2p@`5NNNCsI7LeoLI45Sb#t5 z7nsR6CqtgxulOw`A&F(UQU>MOwk5j@j!X9!UZu5 zA#EH5li|G_cGi^_#z&}IBrmO;km)a9$RM@i#$s&iTylk}c-Qf$|?ND6iq5uZ2pE%k#>RB9OldyW!I|GBPsz^j_KO zb$N@)hoBE~If_!<{Fc{C?8f7v^BP(Tt-090QA(D*GVd09WSWY*+^r=n{oPTUx!|-3 zwOnVSAZvZB7wgG4m2@5{iTp$IWcgL9;|(fHP_##vHLV#Ip1ky?dU)mSaEY?QUL<}quEx8GQZQ#l8I&)v>o2r?Y$UYcQJ;ps8MAaRWSn76{ zo4m0$$Ro5IaM0V(GB0)~{avCg35NhP9Z2!h+XQRia%fa*&TS!cT`b}D+cxp@1z8SX zV(0YG!F)NA52gD8SDz>u`X1I{5gdal7z1nwNt~;VziM*q%uZIeL zD14so!VEX!dpnSREr|7g(!53@O1*T-lx?L}ELR9kGJX4>LP{04Lj}+XujX%iYIkBk8Mu9SoB4;&QDykVn|vT1susflZGf1ilP~= znfSQ9bS&v@Ia(nsFo0cR+{?uLHtJW8b<-?Rlg|4OJ8u&r%QRKrD94WwdxKF^SI5r5 zp`xUekf6$%?6>s15Q?nZoV++>lQ7<`eZRwNIURbt=r<$s3mpOTE!qT5+~b6sQ*cB;VwcZ-j8N`^)>MbH0m)>I~sLz}Xbv>xlQxN**JTr(dD=24ldGB~RgPf<&Njws7_{lQMdR43lt_x8q8BDl%j-gECIVh9#hu#`NLNw8Y7mJ z4{u^6KqpC{ZDy$iDR$Xw#8n7{7aB% zYHGqo5i>G!G&6f|09{pOAeb#YK`lSKKw#H&ULbp$sQ7W7@ANX=WG>Lb^5yQLO)DA`TjJ2V z)~x$2vGr#6oQh6GXxD*yILyIhziyWc7gwwU~)g!|JPX{#XYhdSs- zaphk)Ol59J0b;ph;j}NK?1hdCY!M;H;g}R@>Ob-%xC<4(!av1l$^^J&PPi9rKZ}I> z^2(y4(2uA<`D0Nf^oOW7qc;tkddH1uFktz}V?NNmf+m0yM(M^9Ld%w$nVbY$E|{SD z1_N~;J*>y>-3pmPp;C@GW!%7~U8pDv3k&!N782~wh1J#7jt-%i528!Zzdw=3JX?hm z5!$1~MLX4c4UgAs&P4b1xvVCcLh)qmrb!-gg2a0wr@b*jyfimdIAR$UzmN2A7j_Ey z16M@hZ*ZOD*j1^qCf@ynem9;*AyjU-_3-cI^Au*6mq%A^ii#~HBz~A%;KMXKr6}e1 zAbQoUJz{nY_()YPt|nf7OfyZ`Zy}ieiEH5jYXQ|L<;jE6d|hm+X#j~Vd^tEIu1d^t zWmfrjB@=yzJZ$SO@L~&Pl+&4^pl1%Wz;jI4Zq`r_r>aW?xb(gx5 zi_%5M>>s=4wm*l5G?>S3uApZ>MJ`5Np66Q`FKVmW&ernS$*y}Q^-^u8(&TEuHi(ed zLZR=jVQ~4HI_}FnQTczsmLTk-nwoir*>+0V7k8d*J6UfVt>jK;2d5t? zQXo`%lu9v?vo**HYAipuH_>m3FbXHlQ>5}$inH!$+8>p;q5I$yRFA36u~XbAS1LxW zF0cHO;Px^m+?dcbb$eHQy1Kfce05DtKNL^?*gOSWquV9;B|#!jEcbb!VG&xGXb!km zp;jVCE%+V}E7liA@p+F~f&?tX=ibTP=Nq(8IEX9qD@5KMS17vG9e2n@E9-kTUrq+w zt_wj^iv-A6L)oPFSi`A~F*y(%(%3d}(QE+1h?Ide5FV zfE^ivw&><4%B{GDp89Z+Uq$QuzRcdsd{?t}&mpf6-oC~=xKOsqmkN@AGd+`LvDft& zgXYfp>6ZrGu9PIt^n!-&)}o%+5l8M-@-9s`5v8_=JwAjz!{Vcfx=T&6D|?y?2i|yc zuS0E$b5#xGBC@I{GFx`!eLm$vi&i>%x3@$Myeyi>7H#nxI~n+Y3!;9M*?@|DoTDbiJr&{gp=c;m65O z*>cHgY3`5rH$FZ-gGr2i-Q9*JCUv#7v7f~rXh;a*`O@i@V>k8oOyFQpe1`OJ#kM?! z%rNhH8i}vfJmaOVWSXN%kuSL-i?NhN&;FhTP@>6}<6>cf8p7rxiPrk187REk-u{ew z4ayx(Ue|^|$;sCZ>Z39>mLL*5JiJg0t|65VkN+Fyet92O_!`3$DLAA?T~52|=PTW4 zFl5DZr2A42$5P?SKH~Bh>V--m0{5VOG5v3uab@><5Nj+^wAbrR$ONc1dQe<_uNIht z|IqLa=QrK!t@+=2l{f8NWo2az6b)=`ZCyXPN@C`gLq24a0Zq>%472EVJ4yMpIbT-7 zf6{;L@~GOEiPykZb_qC}HS6(8>FFAt`@SOPk`(LFE7l`Q`y)zZw>Vg7)vKB>_CvcK ztZq$srGw#9R$}`s7v`K7YiX{w^rn^>XyY1E&G@MA_E1~YrFQ6$k0=SUJ|ErNMPw0xN%e&QX^T)w_-M75F7;jh|ZGU;U^PREBhr71>)4`rF9PjJZ zU=oif_PJ)I`n}&z*bg0kN#&E~LWe5kF+NqW z+1f15l5@$z*)G-@u{>jnfELZs7i9WfclY-rP;Vjyc7mkNmP6=;UwDSCiS@oC6SOrd zkpqQ6UEVwG@9#f8J_he}Nm(I!-ii8SLy#m-VHW^4P!xGa4Vp4MCv6HDJ+_1;k07GR zlLiZMo?%ioUR+(VrVK4DY42s=20iyrlE?!Xdu#0b+UNGFy?Bw~h{gh}#P z+VJl1D>f|_HL7m5TJ8uF84K22$GwdD@uA|yp)knS0Q;5xu0%gS3T8PR^cB9ysIelX zHqSXX!g*K4Ex*NE)5cKKcq^lks>4cF#_{XXTJQXXX!5%jQ+ce4Jf2-q`wmy3v&9Zy zq`Z7&3J1Ty?10N{yprsG@+s^UJqrg%x-CNoX}Wt>!^O#Z>xlK^gMez{59MUJ^I6&FT^O61HO;0wS-`@N5ZMBXnDLC09&M`&p1mX;RqQaip-3~>mroC)b# zyF{TX!UPi{^&9^>p8-Q-W8?g9-%N~*7Mq+I$;eiB$G=%wS=lwDdysz4Sy888XJ_Z; z=BA*ac>8vDsm1-~=0=KAks2$u$8K-?Ga+rLC=_wpm+iyFCJ+jNfq}!r!y+OgE3c_A zLW_!uFfcHz7aJYHfuxO%jq2)Z@O@@xhS&M<&6_udMn=lY$`=!|1{QIC-2Z? zm6&ZbiYF!BVDM+@6y`QpWJeBSJ6uHeS103ADTK`g@4QtBUROD2vvApnX;5s)6OW_F zun@z*4y9v_fd(9YGfioD;%a+GHWQtz7S?~IKXkWk?LNX>gt&6>iFlo zdrgY_=`bI+ai$b9BtMU&D?kOZqGGi(`xR#mj=*iqc=Qgw1)|xAm+?TI&&*iQz8z0$ z1pnIDY7@KaTM}JZ8KhLg$?|RU%t#|6VcC?ayNwpT#(+}HH(qadvi=e1oy#s$WrGQE@U+s90q(`Z%cbSgG6LC!NOeUR0Eg zoxNqHU$Cv8LvN+G9#U4=0!!%>k&G}So-G$XnCVBb(&SayT0CZIXKyc?$=Bdeo3K#tSXh2dPm9C70Wsg8X)P^{nl?;~i~Foc3(!M8zJ>Yu`MEiD9UYyLZ3`C@)|7#{k{{B8-o?ys)sav9Ynaxj82%r?xh+YxVr{($9_s0R~!&7#|;M z(t2+b{(=bR1dfRd#N)@0AE{(B&(F_MP*EM7odrCuj~nc_E32x&qXznZ7_z(w#>B&O zy*}1^`7$ab1c4{RYoi~XCnGaDy4{dP=lFT_fT0Kf69_vH{NH4=ob2s+9rq@{Du8(( zE;MxMGPP%dfxUhE$B78OAmnxW-5rYA7fDoASGNon9E7qN+Z>4bS<6dge#k$D+kJkb zwU>1olQ}Papzzq_?CeiD9W7;T4aKpAU!9QsS2W5P>D0zA;Cd!3of@B_j>^ipqV*57 zt)xxVesOJSdtl0DU=p~UhVwOuWm;k~CWhh+PQ;n*4Y0iqobfl)E|>} zuVpZi`kB^vw6jElysg;F=JO}Qso_C1@wKc#_0p{qm)6$S!9@Br z9>=|OZhMt-Z6Y)@ITaPLMD-LYV?)D@AXI{U5Nxie8%BeP4fXX(N=hN3IXEQgbFM25 zymGXan9DWZoA-rUL(uTvO?-|;OOXBXT697UU>Pk&HKp<@E>by zYXt>`4 z_yGl>Eg<(VI)1pjQUv!=Sis(;wJ6g5o(opb8&;xZL=6jwTB1$` zb)=fAle?w7^iSL1ib`XH!^iSDU9G3U?T^Vy=E!%t z%o{OCGfi3Hn)uSmg@x1u7T;tv^Wk>Cd^DZ=EKZi6nT<`e(s1B>cO2X$GdA|u*x2(- zTTNL_ri9~fr$5(6;=)m*O^`8Oj~;Xiz2mQW%c2}2B<421XpsA^;qeFs_BG(7+f$?j6Jc>lX>tatC&R)?BFRshPUUiM zCNQ+@azaY&xSp;b*q6NLoyMnfhZ2{nd*jSjJD6>^@tV#e7GN8hD&Uv<{Y`$4u-lms zxPF)7Q_Cl|WL@lKzF0}EKXXWfADzfB*&AVZG9hqhl4{Wyf>M|AAVArz={+~L$G5LB zsVTjSBRZ@j@*LHQdcoj9I2V7=CBr+1)s)Ag?>MVmT-h(3aB{at(s)+<8oue&NP#kk zsNF%hgfZ-~XLNc-W;d1_{om(fHtz2E(83`7tapxIl$6D!iYx^ zgVl4iu?YzaYjQr)c5tXJF5U;3vAD3Xw!S_%IJm#JcmMDJinPT_GV~B^rvm!kBUR=Ynj7pRD9!q$MQm92~+!Lw64k^Y`rZ^s?L9yj@&etgRWY z6+v+Xu%xHAT0dAcF`?w{ewUn#3zX5Lvc#L%$49SFQQ_LavVww;@Nhb6YEl8+6~frK zIG|l}b8>EPZ~Fx=MFF7!%Qu?Ao0O2i4g|J4#-9Vv8&~ArqX(8uW#YbNF^QUU0zVgL zl$6!33vw!>hmCgfUl)ez#p|M=5u>}3l;(Li?tY%!hvGDwTiiHTbw%lyD1^7ejO zSXcmY#>iM6LBNSmKrp_0o|=l!^gOIuigb3vp%KI?2$ZXqtEH;yY6n}}1|Y}5h3(C5wT2L}gGrd=c?K7V-g%e+Q7`+Hd#0|&>{ z($do091kC#hpz53!Y8oamzS4-h`c~R=pPy?DJ#3YxTyL5oy+~w(!zq)R9i(s!EUuP z5Mol$y0u8{q(a3TyZw= zcLd9@S4ErR5k3|%)go&=Y6Vn0K!+&?svKUtvZn7HL3xc6Sy3#w-EHlsYz-x%+M1mv z6Be;pPg$nff>za=o(y82-EkAY$;Q$9!jNE0UB#8N{)+uARoW>OkH(=yP|-w@6Fp5QbB#62 zqBoNlSLD^zl}>|Q4{$!dT7nwo@9)39z77%{lu|aMAMu5X-vF0mAt%=dc4?u~sY^3J zVF2HQKYtzrzVHcouY`jrMY@S|82AsApisWgpxO{6gs|^S?kc8bmJqhvg zfSwyKHM@c_-NsT#`uX_@qTnN>D-_bv(43x}R8&@~H#+R@O%?-Ss0FCS%3Ae@e1p)k z-x~T4uljA3rTl%RAF2Kms!-K^JG{X8ae=IR!E(-bW&29 z0BOPrS@HlI0f3c>KmnLtdA|!%(Dv3SN$orJD{^vk-|_JQ!>k_%${J+e#^&Z?vn%VH zH(v`15CWLH^_dY^3nuqKu_umF1(8fZ;10-RXQ%LSBq>5{R+cv~V&miEM@D1v1<<3c6Q{Pe=e}?-Cd^71g(znu{J*uK)EWP{k;{ zT;>q>HzOIaizlg-e@&@~xw=}rzSkD9$1cxp5idZ?7A^n$q2J`-q#4r4Xnr%YqkNg7 zQZ|`b7SU^x8lLf~m%-z;s&96&?&OT|&JRwzO}r*M>4h0eYr5~d8#4(8Yn|*)TPgJ? z(hgy6Os$tiI=fnsopIfbNz*kIh-?0i# z-5u0{J^5Z&r&D7-S@Nms@$sq+6iWfm+j!CtU>Vid*VAj%Hs2jK#ZgM9a@%kH`QWTc zmM8EsfilSiS3tlgG3o%KbXZbC_tRh>aPSu|UI6pT?crh?he6Zj@!nM-8JIj!P*5Nb z@@2DHbvvL42-3pCQRK=UZEbHruv5xrqBJ|rRvLkHOXG7r1w)A>;#JYs=4WDJvNdD# zBL!mJz|fEl6vLad?Q*TAOCU09YHC2zt?&M=aT!;JK#ujq)9vRz6uouxumVF zEhZ)g*-sJheq3m<2P19)?#UH+?#0AJw9f-AOTpma&`k$E8wv}vjAuTN*5Isb)7A#8T9qvu(MB& zjh*yH5D>lyZYKWc7lbyP$+{;@yX|>p!Wo3a$U{_S=er;Uj723w#YJz;jalb!gMue_ zNQE~zQE%U?dat`&jYCA*7UE1dHEZYcMmD5!D_F;8QcO0;nHG)m*L4<9|2(uAeV^h+QfVqDm7&7UqmHDfxrWO6F2<K~FT-N-k)j=`8M!;JXD?4H6#{MeE(Vm1hPZNu%!#1H6mRZL1Ns-JN z0`Wdx=>Xyr2NY@$BeDVy4j>X}RZ7%A@f=EFZ39UFloD7x7$M+p0j+m3CQc%q!Q;65 zD-TpiXGce{&*s1#20M$2g0eJr7Ug~anvSldyuAF|H!3QszNIBEP=~zl*GWurBev#hEP$f*1Z?P=Oh%*4YG(qiDzShUAMj4NxUOd^48X!A1HSq7 zV;ukOPA(8uhlkdCeUKc@SYedZn$RA7xqR?YGhN*;adB};Nvc3+gChe{Qox?6N=m}P z`)1693&IYNQ36iu^Q$ZG%ikatKdGyyR#jC+L<|EU2P7Wooc;ZMz(+y!3-OaNGBQ$8 zZJ%xq0xkqjc3hpGdz|mY$Wbd5Dt*x)Ojh||e9{-eVWab)#bjMbP4a>)lp7~ z3{IJC84Ir>WNnDaX$zOE(R7#O=4U8axvE!aq{8W`Ex3MW#ER2 z|9D-y4F{oaZf!cvRFqEiHW<6G_VSfj^3_xD6GT9vihlYKGEklXj(jj`)*qkrk^D)F zKheeSc?-&RJ_rX;8wCUeqP=km3Bk@~fv_WhG*_68<$%Bi!0O+l@B3RwM8rQgcO4|w z(_Pz>J1FlmGBQ9e(9_d{ZT^Y|TJf6O;BAy>)@rpy$xv3fcBaW;P4=g0Oik(W%?Z9zzXO`tfQPz*}G&fX)aYt)R&BdR%|6s;AIf^`$tDdhli~OeJ=EDX%gT?eod;0owxL6^c98ORk-T3t7wYM{ZOhl*-4aPspn_4RE75@vXU4Z{rw z2bY?b23c%;pF5Vx=PLY&xDn;brw!H%$ZR>e=&URqH8nLOBZ`KXc&Jnad-ALu0F8Qj zdH^f|^#kbgbh%D>SsA4O#>z5#{o?ers)~x!{!}S2UH~Pl7bNfVO0im6Iz47bJGhBXl4Bfi(F8O2q4FfZQdWS!B4yMdj zmyFhy9usKyAq^v$Dl>C-^`l~l+jqrRU@XChZBk64~DU#aU z9h@HGXqzNsHSte{Z!WIjcxX3&G0@XYM-a&DSmKUB1nl)9LnYZjXX59`$ly&;XJ8?9PUZ5b#N$8Xl&-A80YhmY-~qrQVBNzaze-L?>FMi>gLl0>-v#v+^kDvgBVY=E`GBGn=MDN+ zwN+JjzpF-pTKUr^ou8crFon|fy;!w;B!v}zBi0!>JOl)T>nH6Z0m7?bxB~abU7SlU z27thURu_=9J3Bk136b}Lv7=Bd-G(IkOxaety1<0*?CmuMaSmKJz@lV6d^o@mZFfFeDh1~2!2v9?l}}_pDW0&_e#|WdzWUF(Y9P5m(E)%kf#-rB zkq`W-)>eKVp1HohZ(qLXF2F+!4FmetCnqNUND+Vl;F%!7fSxE+YON1JX6Xhv3EKRy zu&@9#!2$!u1+@Ie+RO&m^u)vhkQd-U6)kPp;3j{aEXn_5H!|5H&QBUck(R}h{NA;- zU%yjtkz_Oo+El4=6|P>37KbB*yWU=*wq|(~nA_4BTnq?@jVBnJ;75!ysb;K}IINZP zjT^5lnC;A2ZA=+#OquP_FmZKhyEeLR?!x(xUj)fSP>!HT)=kwAzbjsJm(rYXbI^Ml z&Rab?bkuR3!gFU+ZRr`%bKNQYM~V!bC&lwpmHWbYxQLz+$8ZClj?iQ}gs zvKql~8MoR>8TwT`g1VOyZqG`slym(_Fa*)h)Xb~_7<-^~1W@5*D-FV+S^pE9qyY;L z48kuBkoWI z5dvn~+W{Sf&GI-M0OV=>*RTG>0Z{AM@Q1;Xo{@BJAc!78djNVbgVTE955>}XJWT?A zGa)e9>FFZ|H~rx1zIfeFw>>)kh<^)o(OiXrxTPgsSPwpxq0-=+{Yshy35F#9Jmz}M zLm-}1OVy146JJ@eIo}HPG)`Jt+P;f&fNS7J;C3K)Um?I?ga-V!`R6yZ`pbtU z-*%fP*tp2G8>=KHY^zKr*4S{RM?UZH(Z{85V;8;lSBP80Nra%X^CuhH-iJ=6AW3e+ z#j(;Cr_a#JoT+ftlsfD&+3ad>P8sY>8SPBf{s^qwLm5Aos;aP$OQG%Rj4<#DvapMV zcoa?UNbOITH9uYGdaX`2`%M8>^}RRm$Ck_1i{O6b4pn4gO>2*xJ_+ZwH@s|pgfuVa zQ?RQkSS`I}N=$aw5yTF$GBO_h%oYK*$wL>(BNKpqAD?IDG(b;-LdV#4ZwHDgc(JCo_Kzj_ z;|EwuU~R)7i?#t-nw_299?XU>EiWIFl$2ChxC=z9!1anhFiU~0Pl^D#gV2Xrz$y_Z z@dVN}AJ|9XSxAMP2If+HfQ^8@QkM7Q4M?GbRNea!@~y~195kk2O4c& z58tx9K(}{dTF2WHXa>;sMuCGS{QC84H#i8=*|`R+R}g5kpz8~ok?rGT2;iT!g99sL zW4P``;B3;;B0Hq00j~*Adyv9)po)V2{M3}nuhq`ZPQZRZN9FNk(RmpdH1;6QgS*I* zre5>v#d*QK+KL|B)LnfUD%xqt0x}7B!L1LM8X(BQStTH$0H*{7?hSAhK-?~W*AsDZ z;R@?1Dk=G6LILsyV(A5CPQ^JmG62pQN52P*-P+Xj%b00zZ!hp1K#2teQrC6c*Z28% z4ECMtOWDBW@c%>9Uk6mxZQtXtL5CnE0@B?e-QC@dl#+r6K|o4E3F+>V29Zud6r>wL zLO{9%NdXal^E~(ad0+mxmj@4=efFMft}*8vV=TTviLTrilrwx$@0y#11q4pvqM@YC z)wO_zw2KRe(vlVnGxP7$)Ana83h?_dIQy0=-EIx}z0cM_UtitK>dtdfs6)_dnG~&r%0W&S=dIM{SQq0Q@C;+bQ=j%*4z62yB zXpSX_=C-D$@6dampZA3nN(CSUa_d80-c^J*BdEXJDdyadu{8YRYBaa$FE2QBz&5tfF#DamukC8b-ho5#Z)dg%yTQ<@>?^ z-vu^|`u6@@qbp4PC7Qf$^dsvQScb4QIUyUfuxNm4qIi{5;hvzo z)7#L#ROnD|q9q8dx)*@s5r~M02v#mGS7+x6fC{CheIp}(j*jM9JlLWXR5dk6dV8BZ zcBUZGVNv<*FNh=5J|TRl-|`3veIFlR{`vFZWZJT|scCY08hCymdK-+`(IQus3w1t7 zJ!qE02)nE4Osr@T@rd*k9v;k;p)!5>=ux1r1L;YB7&|CvJ&9!Blw9u>m*%zA)HLO{ zE=YE)^BO8eD`y#DkrfIQi|u=5!+|8 z&F-P9Z(ga+u|8@4c|UsW{_Ak}+GaMJdbWXG`ibAn6PrTQ-%C9Top$bJw{f)@S-#}I z-#T64!8wayJt=WtjruTP_lJvnLR{!i4DZV6w;$hieY!aXcmKZqz4GV%OGbqpRZt#= z8sn)Mz3=41xT3=1sh5Ec93b)Cr6q0%f643f5$LFhz|2Tmx^rnMcm2Bh1?3}cGjpnu zzrL=Aj6B+es(S3zkECsOIZhScR@1Xi8CkRQu+pkaeRze+R-Knm&8m+2E;xTY&Z1#d zlzpIveeUn@pIyq28joL5D+Krb6aP!!B#I2=A8FT_=Zo&Eh%*?v9S?AI_ySoJhOAbu zu6QQ*f!zm_pMLSmzuEEL7ffvBOQO$Yh;x~Q( zU@SJn_c)lC(yb(S?;?`|tdSN7vskWkC~#PlwxNpzQ%Wk|-<|g?eGi~`0zQv{q2U)+ zK+aHZLLmw_KLCoA2KeQrrAI_Rp9rj0e`yvyEp+F_CD;V(A5KE&;6O;fz}^jg+&iN2EQv98Uri@ z(jm|d56*p+IBl?xyi#AEI7_1ghMDipTjziLfEjpRJXMwk^cqVGKYB#-%d(3HH;hSRr4mfM^2THoTO`{J&@E#j!D}b zd(`T>O~y7dCP|smc6IT`Af}^Hoxh2+isoeDqoMm>Ut&jbsH~f$sMoXHe`3l#6)iEwX;Y+rNV~(d^9R+4 z>UqbS56#IH=DMHi*Q}h{`6+r!BjNz7e=Cu5xBM5~C%R8-2CN!)?oIGcP;;^;mabx% z6Idq=^B?#mY)gG9eD`kmN9#RandduG(EId0AoEAEet}Q|3ky)p9OT<<3BOtBj6*92ekS6%o0^b7m>5USV~ye!YFJ?ebMQM) z*P+`4qm3!JJopqaj7AlFh;-tEUFrncMc!Y4UfTCYS4#r}5@~#>w_(n)5pZ>sLn-b9 zm-}^KpgcGC##?mgUP7x@E6=7kmImr*Ks2w?zh6Wfl~gejVF^>*$rySMeWI!=Xo>#$ z{rfxcjG%CiiP6;1h&Ez>O@1Ry4Hnv;rOw;HRtDx-4nV^GBsQS2t*@`cT89G81cuEJ zzYxWKe&VpMs;Zvs^bQQTdwPNr0(h%7aD^!lRkpAgYfS6Z@!694VJrzv9!O=vLP9{# zfVQZdf`X5a&lPOsfHa{LE~!|8E)?$-LZxT!A=7N3X5-s`PhB@P4Hg>Sy!UC&9%$Rw zTXnTqt!MeW9dTBxx;#?l=d)(GSleozIY@zLES%#Rt*UVg5*4c*mU&u>0H$>;ze*ti zrnN*)PImTFE2}XW4O!(SYl z@!Z_MktM|CZ&}y^fck0+oX*WnBQrBtFOYuL5u?DWDbPm*q$SA5cL_5HB>V#Q6L2_EprWQmd#SwG?gvFq1H=JrGJ&5(VLAU<3|NF4 z1pVMB3gJT-Lg4?E6S#ehjv`01%R#SgXn2pDd}nWul87h~s8dfLmFls^DXk)!mFS^D z!iCvBG!XFcG=Ufe^np8fkOhISuULsGWej?rrESO!!$G)Hv~+aF?8&f(&P2*$i@Cy1 z#Jg4<-9WecpUwk@%rK^FZf=I^XJT=2aeDd>AY14y03Vixon3Cs&rSX8>1`2l4Oc7c}w(x5R? zQo_u9i1Y7es}fu<>>5zJIXXF6aXxq}5XeD@4Eys|hZjLcb2PsK_*KF`R5z4~iPHV* zOV~W?TBUew#h=n+Na!par$hTAfCX`R7;Ix8G_vsX;mGBfZ$_Q4K=VXpsxCWr4z~5t zq4N5gF1t#x3DGO+>}o-qBIDT#aR>JoPwwv*1w7HN8-4G)_p0CZPLifrtl*e{$M%Ba z;$C~>!uXe~-|`)7#fUvBRy=ODKQoE$b`FE3t}9#>5gvbkP4zu^8i46Q0bn7}48Z8i z41`%Q9TRX}K=v(P-A0GmTs5#Pq1SSFbQG+w)gFpuTWpQneG0q@bLIpU@)K%L-`T0roz{)&Y6<%5a$N;3?bG+96e=U z;~2Mj@yv?Yr2rg&XVPl*1r0`Gw2T5@B@${7$r*GKcaBW?@j*GHc{%8R_bNSvgpe zP^^%pjRTyo7tsvupSn6CURt&!m1-j#c_}Hu;O9jc))Bt+e~0so&k~0o7Z(@52@O3z zJDUfk2XrT(mD=7;N%o3as6yY&jNu-x6pt3G~D9K^qQQ{&06F=)Gu0j&St7nNhKOXP; za!<29Yw%d-Q=KImxRqs>?;9`QO*9ZuYOpp@sq)x}c(~4Xu%0-4Z3AS& zY2MNXT^*2?(J)WKovBlUz8zGzz&V4tvX!kZ%Ha#xuaGT1SmBV-dfwiz1tb8O6)>q0 z>LD(~lUjzrFW~a*jON{D-ohkg9E4bhvXf5XEtF$DkfdRzwY0xqrN;`B)S% zQ8(KE?ui}}2_El~`{)}QZtU)gIe-5E1L7t~zQDa6f;pykI69V09ybF6s@yf;qCcJJ zRInApcF_aFAW%U-8NHit18W8-6o7;%cx{#75~1fM4uA;&Jfzx%k&&wE>boYQP$=a} z2j}J!1Ue4m_I0o@04y^{t1I7xfP*#ajzI7NC90+dGD4j0 zEv-^L==y>^1B~ayC}T1QLq;~>3#4zCm%bud!;iQ}TWs&Wk)nQ7Z3NK{uU!p#V1#eO zO^Q?WV{{MY09(0Ys)Sf2T*}Bq?~?w`1G@qu~|)5+YozG^0`-R*WI1l&5G=z<>e= zGUd%~et1~bPk)H0tfN56(AK_7MHK+OW7u}?laa|V^4`8346|JbLzn6I=8yxO1;{4} zP(+0(G!O{n zi3UUQ_3`6Bh))oP%|kkcweS`e+G=myZ8V(CiQQr36!D4i$DUr*Eo0t;VAU&O7zyXGr(d0qvZbK2_H+CbbCQwZmQIhtJcqp_5EbRoH(bmttTOYFK=MH)aBJl(2f2i ze%p@lyEqg$+^MH>e~G$cM-7#k8L$lOJTx8~AfN-KgWxR4ZHs22#keUQQnZ?u-6R?? zw_l)^+2eYgYDXeIu{@(UP{Cqw4s{!ou_Ikq0!M#GHG77mG4GEWw<1)VWbaew+GF9O z(#7;5zbENel@4Ds#qSdi)hMJtiK0I>;n!l* zt`p`(-C0@LzJA_8(;9ysin>(3FrK3l@*m@%|7qO(A+A^(Yf`0DrBVxjmin1#4;~6z z3E?X#Ej>LV0)l1uT3vk(eFNwyfE0%^<_!rN>erucV9x-_5GIQh4<5iqu?;VRnFlDj zfWDEGl=KQ;T3Ra=1*yP>Q6`lzVio%8@J}DT4y=`wlpuoPw?Pi(fBo+T03ukqi8uCO z|AbyGl*b1rC!x2-O4MU5V>ttd9xDQQ3ZfYP0<=VYq3nh@2R4>)v`@6BF+BkT6H_ao zwx%X%6?FFWzzA^?@Y&RqC-nP}5CPgh$mHp|*bZ5dLehU8=2@_>14f064!d3KFv;XM zKw)oi$)~DqdMrNr0EKiDk{**rrVv0=K*vDLJO%pP-?Ova>@TdVAx?=HJnyhxe{!?2 zp-UMEE%SJk9LSCzTmCBZF476Wya{>}Ju98ZiU2=nSaZkGnUy$GOkqdgI09|I5@;@Q>Wk2c>k!G~sR$*BXyLxq%wYmjjHcNg8}? z*|r8k-R!RE_g%hb52m&1KH2wa_{8T?ZG4gc@&01^6OG#b2d=6)&jST^lrG}wV*G`D z{xp^U@$1May;-cXpO*6S{cwjE)4%z5O|=OL@41wZXMVbOA5NBj;WT`|i0Pl0YN$td z?+CL#Rcm09tXZZ&|BlN8$xxY_G2L_AJs4A=n+5)Sd*@Btb=dZd&37ncdO%5O_Fj)Q zG%84l?ynrpXGIMKRfE_>Wo;rn&Nj_(OPyRftTn`W0+Z&aNvlVXxFIh>wGO+VjK~}? zs@=4|SWxGI9R~E1xE&`;pp|n6Dj|^1X^E%iul62jggxChw3NlA9Y9eU{Q6ZPq7d2- zc>tbJcreU3Q`n$PEk;3k-C1~p^?s5inl3NF1kma}aF*jb&|pVaRIO`Src3C2oJE_ z=VrFSUPLFw>TkpjMy8TRjn;cz`Dj-94&I&$3chA$Dn25$O^F=%hk7Vk97mB{*C%qH zQuTWjs@$`ll1U7S{Unck+h;JSY|y>Jq0*C<6wS{;+1ToKxp%2tG+6r5{^6bJT1Ydp~_1v7lQL-lx$a@+4LdOGS;N%6C~c;7o67L`Q!WITEC4wHyN6Sl@g$EX$# z8;s9|b~X%a)gEkx57TLjs79Q~@pBZ~HidW^%J zMl*#|yU_%RvK33N;H`!{( z?ahrwbY_gG2GmCJQFb!lIvRRk7RBUw%^G$Ew)`onE*t6p@;P+nSi-b%ZST{psO~sz zlM2^`G@U(RVL84GQqhpjN-T-R54S_SY-CFCM^Jv;Tb?wRUQF#)i4vxqPO?(*{4q76eD4q8PEQzdzW`zdzb~w^0xl5V;o*c1^w#w++Si5D+3uw>O-<9!` zMVWCbj*YH62FDc?2W&GG%3U2#%ReXz)1a@Fk~=*2O`OB_I0Lu{gBK|70k(1j^8w~? zzkf@uPp@AD01do%1}9W_Z?VHtOY4RY5$b!hio*% zj-<;c4eS3B9Nugt^%QD2zm5!x9)?g9>T%nKpYfNMX&Y2As>pS*EH=4L z<&f5Ywd;?5sq3kzzL3D};JPm7ej!xb#?yMFuy6f#2A+#b&f`wL1`Z>{2e5SoKee>Z|4OYy# z_jGZgc}}vIyY&2zp}w(=S_Fa0caIa+AVqvJ85ZhQS{Y8dM64*2jaJ_^44(AwA-9}u zPh^K(JaYV5{c-~JC4ft>+2in#T)9wq=;?4^)V*1 zg1H~#2UtQhfuH~eRO)JKQ}4~4Y;2Bx|CFsEV3=l8$ZCUC0uq78&{qcf9_YZJ6aZ0~ zQKVQOPM;QHLwbQm_of|1Zn?d@%4$*#y$M>g>zEeZ4^5JJd%jU>Ep~MK>h(#tgp+M8 zyuJrgmX!9m^b-A|uYx-5Zyx>$$sg|1wpE$Msw43|7&XV=747=LBHra4#sh`l(Tj;a z)M}Ibc)kdg!^ms~`XYL!jZwsr%7E$)**QulLzq*Z@=;?JdB>F9I9DU%zl%qQdp){? z+3GVH;(c!gtngeuXV3RN7JkUSb@b~ng_6_6FW+`$YrOJ_>Wgf)1rHI|TAK^3IZ~U* z-mS--wUxI>=Kj7Hb?Y14+DzIR)(qCzK${^scVTt2RB9FD-9H#bU)p>@%y1N^A*C z$^7?kPmK(#UWL`1Fct*8ehp`m?WZzE(xR2pos zIATWFq?4x;dpXZtpI7uL%k(btOx|f8foR6N?xb>A&_A6%~$RM-1$ck?W%vs*5Rce)pgq_4@m5tb90TZb{h2aFrtR z-MPTbSI$Es7$mP)P(-0R>}F141R(-{0>gX5l_O z$tYf>zHlSfrp1;;*&?N8e>K(KT~_YZB}$-|IJ53dZ%-t9A`8or$kn$UEgWBB18r z%4cirSvePZ#%s<7Wg}1Sxh@vhlknvz&LmS#eb;ua_A9joMDb*(=h&jjYu`q}CG>$$ z^$ndFzk)pi6k ze{6LBFweT`rR6%((f5{G4LwZdD=G3(bzDr0oaE|Cr;l)706l zi<0c#5HmINP*D!!oN@ek;nFfa{=8~mx2-+q;Bqf+WBDvFr`G0|>gH1lgG8mo0xkXW za0PxEUBX%A=Z?RwEsmQXyrqQ;M_&KBIZ0Q*W^}q%e+X`7MEvKsb?=IKVsyrJk5v2F zgg-kbroI$VB0>GbRK6qRqwl~z#SRjNEm+}BpB!I@_-_B0mv2lwBL zk=Fd$)y*K^V%ooF7Flr+?u4PTE}`<|$*Oxl>&~_@anLr!QwuMao*V1;o+P$5QP<&y)gz{@pUC6}PEpo)KEcPL0zJVc)T+!HY;ezQ2=bo8 zr4M!(;dfLlsM*)?7$%v}B!#2mW}2XJJQUy*VPQziwlp%C(3&WDpFj{w(T$oDQfTTg zxZvi$<(e&-e!(Fa@W}c>!z?G_U*{%AkF{qj{cMXJ#gQFYl)4A#tfX||j@<1bX3-fS zu5)zI4>n_tXO%xud3v+sx3+vdImhbK!zxQcG5?4oqx(D6ykFft5_`6PXOLUp8me8< zG$ffP=A&mJ?ncqp#HS64bwaIHVGH}F5>Ng0|3Zcwa!18Zs)Bk+5}CQYd724Bf^sNB zw>M@uPk3LrF`ti>w~KnPnTq|xn~Rt)8xTGFUw1V8I?k7uU7il8e-xN~vnQP8wu$!3 zSL(cyX&&8SToK2^jOVUlMKqT|kzsinu3U9s2?3!mL!Nqk5s?E5@n!tk;k!BE&K|<2 z8R8$WRFCUV@T%TNww>zse#7k)Y!E+P%(?%vR7}$7(~w?2n}=yKL5NHxaaa0=Kc>DY znauy)^;Y(O@E3j>6jI^xH{Y zkv@35GX2R@wo@A@DH0w7m?FvBPAP6Zms{!+ihHe}T~l9sn~39z#Sy=#6}#595tpSY zXTYd_?}_maeQG!(K-mA69R_kUM25+J1@#n~i#}PJS*5S>iMsK?`~H3nRkdhMC6&S6 z{Cmk$hg}FvXAW<=)Afwu$)1togC(dcQG}!%FVr z>-z?A(2-&MiY#V)NA}~6(`rb*^baj&Hr3U&5Iu$k&WLsyY|#`-H`=YeG1A2X&Alv@ zXtx5%ms-Y&^SvB#17vk}$Ioy6OzEqX!Ya7;f2;68t~r)HvnQRMBIE^Mr`46^@ z-+j%02%Fo7x>N?Mg;Uc+;ixAnp>oBq>-!B;h7I%3(5p`iYt@(d%Kz_{qW#ju4<<7p z2+=FN%f`n`e1`ajD119m&c?#g+p82F<(HnCnwTbE@KE(IqRjosY21Oow7LF1&Qt&9 zcdu1{7l!DmW30&q$1Y)Fyizh%xpS&U{&FfUK%SdP<8QPHtQ1*Eif$u*sduyDt?&)l7dS>$OQ2Y7g)`-p@;Rv?NO#Ryp_+L;wG~ zsU%%kL9r!#w4n-Rf)Lw`d{-C zuCgv*wvc*iOIN013L}ZE)Wopc7*?DPSbMHkI|5~aR6f+Zu&^5yHFU5o-;u|<%%ghS;`lxhVT`;ZWY+<#S`4r_}N@&E53r@qj~ zXXBr3erkN1D2%2bY~lTY?<1R4F|3Jt>-B%lQdco%U$ z&)mG=wKT?Y0T;d_PH0}_Am zcWg_8Mtk{L!&NwS`sER6O6&v}=eNR@iejDgL^4qL@(c)6niUuf?NF0%js zyPG55-LdYKRoZX_8xtQ^<`xBTDECsJJv!q?QA@PbOO(Cy~*-B`}h$ppJ_*Lqs(DKTgE3^q%h4W$^AM~gc3S5?B)0MBz zrVq}>)|&jymXYoCs7kqO9hGe-M7#*{%(Roq!^U%3X-nT2Gl^0ui;tXS zb@3CbjL_dQ`#7uiY1YRR{+DaCJ+IQWIBCL!D?~xAguFh;=*Nw_)>+gBtlzNer$i29 z@C(`;Or}GpSSoZjiE5TZUoOj65slyyaT__hU^`;wkq|h(I)$C~KbQts=V6_VG|nB& zP=V-jtsVLj1rFWvcVv}ThQ-$3W@VniTefVII=bw=+2H4?TTA?=5@o=-!#H>szujfB z)GCkjxZ*^#grC*L_ueJ`NMmVvM+NSMQ zkKNWR17oSw08yut6MOyZl1qV~Xbmx$oyy-3XomOc|o#m=^ zD)%<-YZU2QKe8-@xsUN=~~1Gc~WR)%U^!Gw28jAPDLB$A#GAgHf3jCfMIP1Ek%wC znQ_O-k;)EyCVwl{qSvk&qwr}7O!j#PKkDK;HV?DlaET9Q~Cbyj`-)jRyIIIIH#`u`9|1v@yv`HRra(YWosg~^_E4z2TnG=*?vl_ zq`ksPld$@u-Bpv38Zry&uai)V|c@k{e=WVlc{2Xu%X%gl^G5i2&#Bp$Yr5KlHg0kMf4p0JVo@ZCR4hc}gRNfgfU-N1by0T+`4V>#K- zkTvN8jctodvujoD%Bsu1Qm6ApPq;mL(wAnqJDAqy&PF@C--M}^f>Om^YFOgaslOf9 z+5A<`$sgL_5E>CH>ujVPMr^{*u7^)sxK}vd{;nmT!bCIlJ>mbB?rXB^+ggJ$6hC~k z<}p@t=^PViW27GD4QVe&tD{+(ekWmIkB}H&M6v78iX|5IGyQJhl>3%u`?hzTW&OW^ z@q^EoPAEM6_&AQF4r7w^K3Mi%6YANl2uie-YykDj1V0P@19QEJT0S>qWmpj z#CT-|4pRWOcUqQ*OP*vD!9IH4* zEpOocnNQNEiYpSjRSJhSE2i}08NVfgQHM`41$G@ST#X zR5GU3P`Q-Wf47wrNnh3kqB*!~HH4*jY*_4)dV75IlV@u$!3-jxktMT9#7<+cwZyWn z8UNbo47>NyKFVr=|L57pd0amIa%IaZ|8JOnZ=NPp@^1yW)YLcLkT;gOo?EB!e-Sf1 zM|B#&`AZw$>4aH$W&enkj6*-sNn~p7xdp%YHBTv7FID=r&2e*~i{Oj^5>;KfQ0Hvs ztdHNqJuVAEn{^%Em{s9X^eo-}gFc#KSD9$Zahw;L-8etTs94(k*40I$^)#B2i#_bR zI*2r}kkdE>&Ek=|)^#bf-xaYRrNWeV6b%n~sX0RHyfDdVB8d9R<_B)p(Ak>QKN_+5 z;|L@cITyT{P^V>KO4OmpOayv?k&S8inw$i0iM5T5iRauFsG!Qv$WSew_~}X(1-iS8 z0y;s#ls;SVeKZ6+Vjy^<+$#Aib=P*NTiTSQ>!Lgt(}f^hjv61h-|zzBd-oousUcGA z`N+08w!L>=(e#guZ~;3DgiKXc8%O6b>gc=s^ypp7i$7jg(wCYfT}z(1ULK|lVL8}S zMXcl63kGp1de`C9Q;iQgDpdc}aH5lRAuoL_1_KTdX*L_)I0BXUCWtR8KpO(ml~M4H zjg9?aNOOq_zF8oi0%6`OP+Eup=MRWxFrb8?J6Icl`$lBBFIicT>;d5w)b&#LYmL|?a=20k z`u;haqFk6uS{UJ9lhbw$VOuA)Q@?imz^RJT{NdrG^Xuj30a_I;3~}~Tc~6Ja)Ocju z61%zB#;yKqy_4Er$bFVC)WJjv0w*@mrE|S$}3zm9NY!OMha6VO;4nDu7(iJyP z)Rs_+q_;OT7%&s*@N#dC5I7-p%o7s&s2>JvF;{@g5i@fjF1QSRS&$|r_DrUrDLSUe z>lj$=$YVhZ2Ek5`E$`NIkzHpPEkY9(74qt* zIqo^CqY+cs^#?5Z_IBsLcm-0)ONl8K{`J#+ymdk)t4kT}&Lj%2wGY(h={;~brv5VpOge7rooLP z(-{p>F^k;KFuN}+D}yGi#fjI)Jd1y94kVnrybB?S( z-7=2w3v7RE4sfIlbX)TXQ~f+rkM+N?N)Zy996En%SSt)Zjw_YWpU;ahzlIwMZfHP1 zW+%a>3=%vyvg|N$8!&e5lg1ai{-Q8O#B&D51i<12!U|G<)zt+aB$I-ODGY=bTDRTU z6w5ioq@xEYf|1jI9fBwYn`)y?9r*>(P#KyyCFYAJ<=besysuR$ol)28;$&r3$y|SH zz$1lEV`erFOicJ>TDn!+G*6EX9Cc#a{acoS{$(g);WCG{ZcfnUQYha&dmJAid9h6F zfBE~l!u6h6sUEnh)^uY0=qkwJWN2JotTsjF=c?PoA0hAetPqosfD(TloDEV^AV(eY zs;58CxV?5mVI!dCP&OZTtwMep+pQ}Iotl9m6!_FL&VZdbSrpqXaw&DPMe@JO)85S( zdd!;!tk5MR5Zc;~y>5t><7lCedqEYU{;8OHc}&uD6Yu;%oRS{M;1Uv!K==%l9P4U1 zT5a;rUn(UnIP^ZyEq=P(N?1sSg$9}}nA}%AZ{rR?z2=j?jJc)3tTh~WSpcd=nLI7V z1np#|>&s&XUgT!5zz4^EMo;I`WG-e<7v%)!!%QlLxdgCD?;;UD2vLGm-L zTt#(6JX?xLB)KL z(?^cm>#>lj;2EWM++q)#!`;k|@eNRJb}f<%V~HtQI!33;tJxKjLCzIjae;tB5((UR z$h=_j3(8CI0bn7!JN%RS19jg$v4esp#@?itV~5PY^TzC@4B{E?&6wPvCGKJ#Bpw(X zd>a`FsrlBc8-1;es@k!l!6aZ(0q!+G)PDGo@Nq4TdJI-~o+=*0lqzP3Y_)abja0Ef zqP6K&ca39BUIBI5K3+9=H^co_kid%J~kPA0$aA ztWCv!m*M}OPAEkiSJK{YK~JDfIWh1&w!R3;i=%UR?m!d2)1+EJOD=hlVOfwywpwErAPAHk>eN(1TxbRlp!IZ=B4)X}K4|a6SHSQA-rswM; zgM)5>ElkhAVE6bjZ4A5oBW-I=TWKJ~^$!eys0ubh2$J5iIJ58fQMKZJB_S|_eGvAq z)e@$Kni#0@Zp~c1c^_Uwpal)&0Hz6D}u+C!o zPrIEx?}8u1%vj0g-WOY|$tRdcLFo}+<+LhJYl;3-7p%K2EHnznVBuJNQ=V^F`6hEy zGQwe1pQdr9f92cj%17z9u$Mh=tevJ1U^2Fb^s&(NxktpMDPLc;yHGMBtGc>ZFw6m^ zMyDBboKlF!)^EP5zMg|e2&bWNGSu)jgm4Q=tfb5Z@khKkjhbJtIv>3&DuO|DKB@`l z;Hy(Me*UD+M_QDNUkcGNm!~!#A_(42S>`?R7hb!|e5}QqglIMcpq83y1eVBceJk?A zSFhf8426cwEggSrEWO-1@F_gy845;yCMtF9pW=&GDT!`;{hmxC)cy*^Q8Az&^}n1$ z0h=4}zw;)xn6XLEtyl$y&d3C?9W*7_PH z0USj@7zt7l5SoMar@cM%s$#H8FTN@0O2jC^&4&rh8JU@x!CnDWc|aV1|AcQOB(nQ# z;o)r3%O3|*qq+1y;s!P&a61<_4`@Z-^&L@LHObN51&6oF$~8A3>*}*4pP*=Ya<~^& zHz1_YEp&sQ*Q>?p(hU8*-}gCl4Cg zxJN>wps2VA%y5ubgRmXxn+8Ix`g*W9Zv*2exb!RyP zfMT?x*Py5d#|ouK+O*z8uR+DBIKnFmy|JayF8*QYsFv$M=M377< zuxN61-JhQ~!-&HOl>r?nL3r<;6;Xp+IAfwpp&YHWIFfh=o~_$S{$BFeS)l(00Xwy^ zLf=!lVUi2T!XO0);d)wX>gDl-CP=nw8XF~nRSIqqAQL7eBQr5E>0ddBT}n`*hqMP5 z3G_NQPfv-Lrxn4$Uy!;g&`3GY)F9cNy>WD)`})Am%bHtR;6(9O%vh*B9PUZn9Y7W! z?*#Ll%}rqRNdVaaDjV2!8;nUTPrR(Ius%>f72FKy{#mRv{Jf+?OxS}*k2@$QM~NOD zNU&a4j(A9RWO80Dj&+K4>T?AiM>crjV#8 zlzG?Swg}!R3pI9;aGHX=JZk2zlPHv4c4`0oFcb)&VvL?CVB@>VnNI%U1i#T;(0hP; z7t)UcB++0<1Tr45{h^|yyaGi(Fa)ZN)F=r-P;Xrgiv#Mgd=ImBUvD7lQimZg1z5Nr zK5*BGnQa|A)d$%!VfP3=Ym3zmiPwt;w^jxQVG$9e2_PYp2A_a{gy*gipb}ZxFKj1o z+I~z?aSdADBVCs+a;%)lEEyaYhD3BpOR?QZcppuPO_{~Q28+z9fR;hn%g z;6MXR>s)Cl;Nq0r#L1Cs$_eJS+yc3nl&j&xiDrl3Iq~HuoQU(%#|MN$Bma5K&USY* zfZd;j1SKL9(gzev5VWBB1g9GislgpJHZ`?u_2huPF*6)TS&)x7L+9r$0l=$3)pXz^ zYd*UlQF%j)Ke+8ilma#$9@EP(?JZnA>)R5Lu)q;*1bGM5)Zm<#H^6Nc78RBBzfA3X zq^GYBN5I8n-wp1OWhMe~G@vi8Q8%gAt;HQl_zc62R`3mw+MvY zBG6YbrhOjX3v4>RmFa`9Hiz5lGej(SA|riM!0Ax02k6Xjppkt|djGy3 zcq%UX{mBA{G~Oty4iqGMQkQCne6=pe%~0>==m-&79va#Wrq5uA0!1}o2~e!j1Q^=hRO;2iv69zHvri^vUY4qPR>zV4a^n-m{&U6n`@k;Z)3^r2{XhLxD7&0m@=9 zr}#G{xCl7~Sw;-3wd({xeFlw;=~r;~Zv4BU75d_=5PWx#N(fLw?~Uetc|+y@9fTE{ z66fzA>X9e4z$!or%V51hs6O8u{RyUz*NfLze?S0)M=r2CUZ~2q&}-YJOi-T19db2WH2%XPyq`Q zq5@hvkSLgE;`(ONmi%Cst3DUNutp1hrO~Z^$0WgFQtK%$bG*K;E+Gkt=jGWm@ahB+ z2U41?ufJs~YNBwhb6DK7lQi4IhX>gK=f4siBLGgEff*_UsmHI`lSr=iv%>){@IeHD z?E=z^Km^2f7eLS4{{xCvU~z*nO0&-iYsLGj@1v3@`vWYPcB7)JY6-uit032 zDgk0F)6I;E!Q*U)TlLL!&|g?Em&W0z>$NaFRMsrjgQFgSzKwL901pHZ(c;^}5tE6z z!A9(0B_j329FEl5*l6@VdJNT+tE;O>Ry5XRy_of5Ahi3r#6WEqui|mb(dioAjePGQ9IU5YV04#(@M?>xBfA;$)xPuM; zcLYvf)|h5k(U|?LKxs6A;Zt7jF~p}^U+-T%t~P?l2ERGb+gnmv>iwYpLZk4!rK)NZQ)@03`(xMK$OeNRghh7b|jv&`v!j7~Mh$A62fz-3HuI~8YfQ5sDAtgIm z2{tDNAfJI+{|P?A8~MTDy68xY*kV`Yyq0 zAtojUKK3Tfox%uopFO-{cm_Cx`^*M@t9y=lGL+}8VP`U=#KYK$_MA7Y@OpbR7AO#Q z{4?PD|B48)impi=mUsPILT*ZXfcb#Ju9A_i-}VTt0yUkqK_+@ONHe;PxF!na@Jqoq zYhq6UwYNO2cEVA?&nuMoSw@65-20q~71inzzHfBZ!Im5Z=HOoqW`Noxp;KbLI?P0m zGQkeewB>o}n>UIHOi_(=VJGE7uqv-k=UhQ@g^7(_UQz2ur*5ei;KVB8MObojhjp@5rdd3k|WuM3?hcouLlLFgkC3~NMtm>_g- z2T*Y04oSAL8z|Ys7Db?vzb%FHic^lDwvWmb&cXoy2UyEs*ft7V*!_o(!51f^=B*Js zyyb9zKkU2U$<_k)x8TGEt_i-rzR(+OHW0nkhLaQ$6G5-FzOw^@)+o?bHnp~b+k~XJ zc-FvLd_BUzAh|KRq@)B4>EJBA?Cia*E$@@@T^j$xG z`~w67s|i*zEGswcSI>*p7|Y?XELBx(TwKt8eFSqGuqXw!3G8Oj;T7hHR%2Xo6M`Nr zbiknx4#k}nZyKxx==c540TJXZVD$1P6uMn%FOcR!U?l_QSm37tJM0%|0z)J|cca-J zd0e~o+y_o<0M#YHLvTO>jXsn^kS1hhZx8Z%7v@6W%9{!0Swe>s3`WlmY+z9%1^c2e zI6=9$Q2hNyY$0)Wc;`7GXw?7?r^2~T;1|}}QBKvHD^$N=A3|!b3pOs0`vJAXiL1OM z5DI_K&u6}WM;>#Ig0c*r60{(sEsoB8waP(i1s}>`+yqzl<~2-8 zLDor>azswhHDuRJkfT=v3EuN8{9`U#rte~JK1(za!uxW$$DTh1g>3ItG0O}R- zXUkoH;Q;J0F*5$wXQekZoQ5X>XFa_59D<4T%58eK0#sZ8km;{0B&DSb#-w~s;R3)O zDg)eiL2U`XZSXo1a25qkBaA!XScSM;(4m6|9GqnVUOQmFh_noXvpU{JMKwClARYZf zLP9`-$mauF0R$EljBrqkMU8DZoR0*C7EaL81(&yeO5UH(g9*pk5hy^?$ zel)t~KzRUKeW<#iIS!t19w4|!_BjGUKm{Kct{#bL0R4btoe>xh!(#-~7uoiI<@e{ZB3us-?8ydZBv`_Uxl` zbL52&=_Gk%HQ!V3F%yJSlSC%Y0I~_L`roo|ZE%Hklx z;wQr`(F8pxXwU8do`Q%2GvX}>8OSE>R~I`FO$+1WaHbiBUWH6vlh?sAfN}8E0Y~sU zC@;Yi9h|1B0HBP(|v0VRi3<7yR#bJfX{amRY735rMVfIBSE7Fmy0hI z>fo#1Vz^jBt#Fv-j3}7D9VSPs)d(pX=25-wgO6*$TF2iXIqZs1&#lyY>$$p%#cadk z8{(tXMm&HbOb}D|(#?%q?jJaxfGJOTS=lj%XC(^ua^oFlPp*EBU~%OJB0oB(78 zK>%h%0MrhSkL8{KMA}+gt9O`S{QsCb6L2i|uI-zr6d_X*lC4P+B`I@B6VfcANm5CZ zBx9yjRGJ4vDVngGXdqK_TPn>ZRHg=ssKocX+RyX6-+LU-KHg*R`@UV*e^~2WYn|&{ zeAV&(2s%e;=oVC6SzqjL-w}S#xL5A;<{>*%;oHjE5fzPPf-DWDVC^LwKZ2N6tUa45 zOb_LTQmR6@+uC_{x+|9#?b8fG7pkB_utMY`d#CX?tzRlb z8K=eL84Vb~3~d54peuI6*wpmnaX~-^tExFRI2T`rsH9X6t-v2&7w!AjSYMwz9;C-j15`!!#j7B_8)cTuMIoh zSMPe}od1u(qCusn>C%~WU6f8sLQ`-KR`)Zvb8*>`O~_}xd$(|5^2X`e|8adfwbS&i z-0kx8%l+O{MkWQNAy?JX_;e*Iok%+y7HKjEhb#s=9QkoBh68g$|A(NDhrB7hqoF_R zPjGWz|Gnrgr%Cs@WsMOWu<)P?v;0+=)_OAy>gX5W-wqW_!2j$ZP;!on)jEcEZ9 zhy0YYA&i(Jvqn!XSm8)7l zPgO=b?~>uWc13WQTDV^>c~RHu#JgsoX&>GQQ|3=5MKY$`)HAH(p5ho=``UZl*YHJY zfB(Jn&_8Ln4L=-IE}48$Jhghy-EPIV>Iy24H6E~(zC2;Wi;EBMhsNpbxxLVD1OkP( z83T%R38uWanQu~5lmp`w^PeBxJ>RC|Nnu28pD+{oy1kY9qsyoY1FOK^=tV35dtc1AGhJM~e0_f+@eqtrAOUn`ZKG<(8}bI^hUb45 zA3WRBGn5YPto)xR@dQk2alf?UFc@U|^xdwRYu2u%1KNk{OazZ6kgJ-Snok$@9>G!Z z$*(wf-1~>OZzJmu(*ikAWPdOhY62)@iC9N)r==|gSs}h!}4=2?wF}4iWB&eZ{NOoxy5hUqNSxJC9mF8+0}W8-6cLp7LQ;OR7=34bDtE& z^%<*JE&>?x=;ifmxMoCOB$F>$6gQB1|XzxZ3ArQ_7*Ck5;2SIHW0^+RpL;@*eeRiPSOLKJ}$ZAY#s zX1{EryNsp6&svE9Zz|D=2M=Dsf1>o-60IJ!I8=^&5L$vnL5!O4 zW7tJikt7iiJ_A@dc;4mnoLE6=hsflgWGjUws2dFUueJeN8%*h0vEnn9i{|-PoHjr) zAL~MZ#JRMV`-<86{chLPptjGb@muum+gCN-LD7Ek;tv33%&jpJ4}68uNr*Z3GMGfJ z`H00@U+%x~H^~rnf-ns9^{r<}ZyP5br}K6ze_Z%9d(SEra3WCvU^XY(q_x-+%A>kx zCn-uCyx&7s_6NG-UQ@Af%U7=SWL$}qa=J2-!{l}_HoW)GFQHw+pcd{wdDWEtS~Lb@ zSn%OpO~neoTI$aM)i`A*;9wj-4%?)KD2*554CD6tl0-jr=+M0?e=Z$@>zs_l4L^nH zVnpHq3xe@KlK7Q)weefkn^Bes?)*{9F{AiUTb2we6)Zg4L9(U`i9?bx=rj&Rjubfj z(YW|We-P4*V-}j*p1hl9q@TID@5YdjP97Ffgfpj41CFncjV~(xxkTLG^Liyo5fnHG z?yb5y&Lt=JJ*0iRbB^2P>Q5>ktgCuEiVQ_hWtGVWMYs|a7k1q~_NbnllCjSbMIdUs zsK=c?ZGS`Ioze|$Z})vQ%Y}5Rb-`FI>whkacga)B$N2~c94Cy%DNbqQ#*M{Agw3RA zUSH|5+PG4?SHDL$#mJwVksHX*_cY@r7^Ps=E66rM|xZ958FdUK{}SP~;H+CpJ$gUU+zT7=N*L zB4soX!L04uITMIKm<=CJCOJPk`i3AAi?8hqP6s}tKgpFpL=bu9Oa5rY(g5?^NqBYf z_GwH|P<(}!2Y_t<#f$4ej~4mF#hk&e&sV;XG~#%e4;$8VeM(919bESJB&r3K6G48K zDSOBUF2|B^3mG&FFT;1~QkQ{{0(JvaIm5pZ%12X*9KPqTpFfLk?igjMKH7TRQ=W=@ zCI9?7Q6l0hT~WlXqnE!pkJAI0PeUNAyd3?s3sAEt zYik?TGY^;}&2npYV)Q2qRM2vp4H2H=RgL9k#049%2q9CyJAB#Zf2}w0#+s zw$FT3HN!X=Mn>iVsp8qQpL4EA910>I8@?_Scy=?h(l%KTkurn0;PL?%fvvfgFv_vaXIYBrw62Mmro+!W7=9Dk*(s?jj~i7(_AeqTl{qyB^_4 zd`u5e1>h#|AII>VR9Tt()DeQlS1|Hoq~8vX-DF`tAL0J`KTo2n?Y(ukKJIR-P!Ffm;7 z*3nGuYx|3#PQ>LOV*svGTe3hac_}p zeto?kmuDh%hmIj-<)3U{mG;X@@2jin0~tY+UCT&g8r3BA~u?uvsxwGRzE=7nS)iCVo4~xoWSqk%KY*N z4@4HkAZ56ilmbye9t+Q?HHsY#B;%P=2})wX7faV!)3*y+t?`HvOx%=6hh(y@;qd^{ zLV{r<7{KQ#^ym>C-|+b}(_n)ci!gqhCYmBSAYg$F$mmB3BY+X~bllJ1L~$_8&gD+|i_E0@>^sKC?*+jCC1WXv!ed!Xi zjXZTmzUmnG2yvK9Nrlf2?Mj59>}MFETId;>GVAj`xIXMSti0xWks<(+cnJ^kmR%g0#hXH z6mmMik>R{J4SpKeny5Tml}MbUx2Q zL@TI9a^N5+?4J~U>1gBKx=)M7$GSw{Ac$!D^m0Ax$ly2lA>c{8lz?@?g@T@T$Zre3 zA!!p~qr6QKqFHPh43!%tCC2;jk=-WI1XoH|fmDd%yQk4=RfUZW@3#&uTO_vf zpjek&mR*iHb35YfuW9;NT9quS-fbt*Y@9N*U|j3K*F-DJpa1<{7`X@==ES7^f0Kvg zrQ82P*7jg9#P~f<>99HdN>kGH<4Xhl{rABs5KR7}J1T4(VbZ>1 z40C`2fy&1ZhS%LswgOr7bnnS%Mx^V%BcLw`su9%vI|%nnLqpo5daw)C8H%PIf-MB7 zGbKyoA18xdc~`C!&z^k9d=+4kn96WOnCF20HD}J9Be^RjElskEj7}@~?GR9!)B=&_ zbxBzMHJA*5(gCPb6DG*U6z_0KPaJjgeE?sedbe>SwW42JHHLS#g?6>!b)Qk?U$<_A z?_)4Hm>6H%&VzEvp2L*lq=6l>vlX41$8FPWWnVBu^bTZS8Nc2O)&^GP6N@Ayuy}~D zm|;m$PU#Q9i2sUaTBxYyQnjQUG-k}}@^Y7n6PK~uIPGR({vTQV&fjq|5=Fg}?A&qo z%dVJ<1V_0v(xLY6=m`eCULy;Oxkd5Q#wiD_-uTkNs_}*M^$iTLdIa-!)24mH`Xd*b zgLoatpDNEU-^nLdZ2$f>Al5577{xPYvv38eNbDujK$-S)0NS2pVTd4zm)q-8YY3PK zk4Vr{1|dt)kD59vp(KYWEN?}xl;m6UE*p*LK%b83a^6~&-H#*w%zS!OM2KoA{yQ`r zi_-~t518_k$O&?Ho~QVizCM}k_pl~}k(NvrjP6zq{v;C*Ifhhn_kh^cxK+?cka^C1 zLs|%C5cd$gHa4W=*$aj3=Y&(IZU1=M%>u-GMYYCHr^kb8;czaWKK zLwX1B4b|{^dOImI%Jsx%>sPG`|C-CKMzb0LaH@D4$TorX8WE9=h>S!nepg~5v^ECK z&k&ONc!*Bo0EPqnA$kuSGUUSFfB)oi;+M@9-&4oQ`Og^telQ$79i90M3}sMz*GTXL zsbiQ{jNKZ9Z3O*bVX;7Dxxmq7_wVn%`yRwZAsxm_JgKUG{t3aF2uTR7Q6^X?%(yUQ z23JJiP2g+oaO?KFDiy6SYA0p7MZ7e)YJ0St*X43BYRm`xP*)cS_5dcLLi?Rq7l_E3 zTcAS+9@zk;gQ^VVCd@6W+Q8=)a3?3Np-;KaCfj+pVFBI>m|00!IbO92l zySP*#i<*^XMO?)Fno87Ap5`FrlOZuOTZf$0*R0UrjhHl{o`n3mhI}-Xaqt>8S5T|$ z)2Gj}Wy?5f00dMpInW)<9|RU|#k4bp%)x=25WaNtfowvAAk@bw^*P^jnLWF{sw(x= zsnJUx9upK>506%RuShu+wM&*cwkTrJN``;Co0Y8b3cPgT!iK;=0e<0OcsMfT*}!(P z?t)+?KY+tMJNMFOjtulqxu|OPiYS9YyRkzV0` z(ZBEJy00KbM`fJBZsg)-oSBoJnK|lG3`*s7jg2%q%$+@(%hVir6;z2^27xGlU4bIH z;g9)&qZPJX1*%P8Cfx1QYpJh>~_w$F#-kRT)LjjFF1mM{I?QGE0ek}!8 z+>OwLV(5xc*v1^2b3j?%-_!4>rwjua3_O5;;E*4;i_sc)*82 zdq+c#-I{O|$p;=1Q;A97YhQ$GFFY?V)Xtbe2HvLAj6q-kpF`%TiTYMpKtjnVVJGK% z$`Q*SL{9rTpw!TXX$q7+h~F8{&PAh^O^%gA!zo>jfd;E>9`{5T$i|0-<4zn$C@WCO z*RO}|Oer0l&D_`?XCJ?KK~Yg-Ol)x|Y#R>KjveJ(dlN2>5G3t4d5^Mkq<0C6wh70C z|Dc~lEc`7lf+1MpH}`Sng|ZXxB~WldB~-yL;C)d?qq?8xJ|(Y4Lab_=_(F}tQ*NG{ zH{kx3@~h*Ay;6~pz@QU7)9c9GLMwvi+uHEfJAVI0r=7vIy6>&iT`|0ddV19a)kHBC zltC~-953Bv-Sh@H234=s43zJE>AlV2rZ5JVyMG5Jm;0Dr?QbTRbh1_v@;K9QHGB7_ z4j01VV7V~!L=-gfWoF9G>6u!OgtE%-dGm%24mi(L^cd`r{rNe!AFerfbcgMy z3-6`vW2Fz9G#_f~_G76|nc^Bv$`PYSzeMAd{DR;(;mk^71AT^?J?M&(3M!Ba3bySl zfQhi%J+~SJO};^o69LOB)?G+M;qj|}+3 zfR!6+4`bZ{k4!fTKk5%Wfc1z~A`$zwjL8`o!ZL!Vs$kL!(CSHAe0?%^r4aQ~^`Z-n zE7YzjvTG&pN7)DBEDt%FQaf=LDQFMyDv83E)VMhZ@Pc#QjZPNOzlQ%7QhH2L$K;Lm zDw4RB(oTvEo5!Fg(Kojf2MHC=sw!dbjgSmr#5iG#P%g(IGbw@L-xrxk^Aw%n`&tL@ z=i{wG9U${jghsF@t1*$>G}nTDxD4?4-xn`>aG^PZP+&}n$8jvd-=8nBq9BaLqMky5 zd$X+>ve{#ot9^FX@&Ny-?qN$4$Jf0nS_CNZG;6x zvd`vg8H!)?+?*OFQ|%@0lula`d0;=$eXgGbRex1|=y%#4^rhYxcSkEW&7t+DWvvQcQmy}-!f2N0;%A9v;Q zWjY4Y`V$5{g4J?!bFn9>&aq#{*&MSOxcgy!OM81eHj>9>sOoH@kC!h6&X#su@rNmo9hBY~c!#;~<4Z3;f^Iv3`)YQ5vwrY?Iq7$TwKE`r;Z1EZpE@?grPp~N%>F!VU>tO zKpx!pcG1OC7G}dMC#-@IDwNrbp^p;2E4SS}S!{sxiD z%d3joF9p_n8?!NuIXP5Cvndv(r!TU%x2H0YT!v%F5FNi^gD}`?{l{k%p@Xed2YPIle+x;aWRKmgJ@sdLxS(3+P z*RFljcQ$El;wOY6%r9OIDOGnrF0E*=&-|)pDj-K z1^=;lAI(I|@~{2;;5=5c$5`Wy12@iJ54xb0R&ud< zR_@Q)E|#Oq^HSrEn0VO?F_ySkk?^FvTvt(M{zy3^X}OpI;nH^kA}%jZiBYECTq&+8 z*SvFDOW&Ar>m|;tR=m4m@hgT&%dduP`1#E>lq_71fBdFz-)c6sdakd}2Ycy~gyUmt zQ#5)f%hHQLL4}eiZ4W_nJsZ1qP6f-5QpXMXe2vji5_{HA`>4w|;_g^CjR^0mz;g8? z*@O1pZ4O>^bx15++><9S!xp=IcJG>k`K_DdC2N1>KRHnNJk7;PN_tI!%up%fL8&b} z%nE$o78*LN5|hbF+m{}c;M{62sWK-0mUmKgxPf_aM3{1lUsdXXS049+9xN#z zwsDNzyE}26r$SEV{?&hFGGB0Mm7d4U_s&)L(aEs|3?LMm-%!);gl#L`t zUC3NHzIyhcy3U=4jK!)ZpTIVdWFbqQo-VmRzO7C z&!bItU7xgF>C!X5b%=XVf&=B1=T&)bX&e$9e;Vm(EHq&@wZDZU_1_jw=;0$}*Vr?p zV~JRfc1vQ|(4@rn@h2WJ-`cq*fi-B_t@-Kxci%@(8awJD1wtZ?{Z^0Vn)?d0@ zpyQXxbjWaPk)>XnG}>Ao`R@EGXa4%F*#^U}PI0@7^clF~GEURN;DuY!Zo{!Rt9FQV z?4P@7Vh<0S9~bIsetSxGPW?S}l*-zdd#5hRDp%{6^Ehj}YrhQb)D!l(8^>&@Hk<%x zn1Am18jEY^&nJyLnltNk$hrm*m0!p1DU~S?A9q2|C(rH1*&iL1qS9&>!qR&zQbL^?P+^q*K0?HSi=m$%OZwmy62 zc(feve7&~w{p&1`(2ON#Q_ISDVV(S_2fghT6~vwQDJ#hK6OCE;_X7sugXSb9i4CpJN%TlR7qm)VyXwZdM@^pMI_XNJnHin7f;1GZA%=#5 z9qq$9{Sr3b>o+^Hcc6=HLc^#M9}9=kfq{1*yV&_onz!$y+ewQ4Sg^f&_P{kq)OpL- z?ABj0BBX~YE>6SU1NE!0(E zNzs$gtg`o;S_h@Q8|WgIqw}k&WovEMxP4BK&+V@ms@S1{ib4969%?^xB`w}1rVf;Q zcQ0)GY}y(){D@Ea^XCIpYDpEf3YE`8=5rOK~_3?JA<~y%naQ)hr z=KbkeGKO!mGO}d)TfRt36xaOj_$@QEpOM`v!%?|OKYiBpaI8st<@2gX#7^67dWwc4 z#U~$6+G=sEv{`*Z)_})>2E&|eY%~Is49z>crOY4I`KevDCQ7YgLq+?JiulE``+HEB zdPF^Y*KKX95E6qzp7_!mT%JV!Upb7~nu7xlb(Y<)c>hxpa4)>RcN8&i+PlK^t= zVHl)PI$EquZhF@8l#i+>m-K3D=q76Im&?Y{*K+ytfl_a1R;?119+JcQi>uGs^7pLM zcvE}{Hje^*oP9*n$o}_i_KP>in&;O>KQY*nqtM?aJRsUN^E@e8KA4@IIOPNxL>CKN zg&)6*mi+Q)TRUKN``fFL3r(JLA-oKQ3lTQet6@{sFQo}(!9gL5Rg;4B>^%>UZK}^5 zDlKJcka}d;@sQ|-+wu*QO@7@;yP>S`_~`5Q=3g(0rcG^%Sb1|}%G++e93H#g(KP(F zpliLTch$8OVq7evI^f{A`(h-cvUTcb|bO zTi7hbcbIRwckfeddZt@(w_k<>e6JaNE%YRjhhL*}A7vpztE@P=b|Vdsq~rM!*I#T_ zOLtcKQa-RAjx|EBdS^kj69 z>&@YzeeXPsm>RX|w??vP@{$#|BP+rzW{1inQO(_+YY3-2cD45MBIfzm_nZg5&D@k)KVoC0o)3#m#ADQAcGa`;T6H?l}}*LPudLy`f| zbScu;t!;;Mnbqe;hqazl;_M&3dDBDg0!6K>SGE2T4U2bJBAK&r&4+6q^Rm=>#83tF zHdY5Zud(Q3bdgB!%$do0JKi4L66q5&tnQb?sEYi$u8`EqlVk^v9b4$%w#>OJS?RHE z&wm#(T4wEdNyC@D;_O*Hye!C+vOL9k3Y)};M9Pj@G84M`Q=_2-Ln(_;`eF_mN~s{VZ=FP;g0^hK>_iJf%M5(#13<$J13U4QCkKSgwW3Fle#evJ0k;vRQd+B^xUGH{j>b>t~I**e$GkK==`Sl zw4?C7VnJS8yi9d!Q0@~6A5eU|?1(R%>6 zmZB~+_<&KqpX^7SQoDM+>TTX=zb|U5_N!aO>KGt4CFYf(TA?i+9TGJ1?U!I1v&i84 z1Llp=jS|uHPrIe(5I!cfR*C$-uR7gRs^1r4vPL>6*wXstvSODc=arv?PyH+hw|@h--YDobOpPw(cJV~O#Jej+F@#uo+*5I;O=Up?)@4Pdf7K7k-QvQFTFM80=z0=(Aau!+6Ev`Pm*Ax9{rTl4 z-yM$n;&ZZk$w@XmYQAT{O;s2mghoGqRBC$Myz(MUQ&mBN&yarOL7IFq=zQEpdD`XQ zt^E`nHwV@U5Fzp}$3M!uZ_3L>eFIa(cmDe}r}=A%Kh`)ur9q?r z9L32UzPb^CxhK6GHE%2^_NiT@Xj2(JHWir}Y($`qRL-oLZez~IrREHupc%4MSmBCn z*UZhwyey}A`~Mls{^yfASLaCOc+^w`Ix63NACT@k!L<4AW+I@|(TtCDElzq|6@Gcr zpNF#!Y?TkX7CqBi`R+oKv^Y-_)@Om))?>zEM|7l5t}2)Qa};&1nn+#qIF;3DuUxQD z$TNji8o%q_&uo&0Zqq&)$#sz;eba;|)KQG?<+J-l-O^)mJHALvFwpkp!y#2(Yp2Qv zKaw~d>)D_@@Q)MRthOX&^m#s-q)?TwtiKJRyk)mQ1v#rsOx_z(=`xeg_w^os* zoejs0AAAx2J?Qh~@R*D$g(i!o9X2}hBOjQTE|^$XW_+WttFP+JEpgpD1})MZKVD~B zh|Ffu=7_r^#|92Kuumc`MiX#9IdB&7*!!;@tm*u>Syom}B?FY=%*QkZTGGcp{ZyYZ zDKRdo&bMm6Re7fN*B&d={MXDajirezG-s*YGVqsI{TQ~%(cBhpXv zv2n*BnPtyI3mt}Qe32-+TeD$CC`qZkcc%~RwaTlvE3dw|sw&@o=HsZZ)@qJ9v+jMd zF;uC(`Oz#@EOg$rzee|;WBFKFu>F>So7KZk%zkhoSGM1a0YxKYtrhKLG*&j+NsSI~ zl1q`P%nzP9A+fzbYh)}^ru})m;;Ap;WB+RJ+4R?xSZTT`jP`cRR52E#qk4-{;q9g$ z!7CKnUplYZ@8d1zm7AJ>b4&1j8)ZAOUY5E?6T%Fnf;LGVcU;cNG#R%dYhuA=9jUq1 zPltGQnh3WkELhgZscn*ty!e8Y1@faV>d3~Am|A|>kmT1so530h+Oko$42-Mt$7#QF z6AX>~)cH5A&vbT5R3D?zcA!Q^x_<55*st1L?RU-}V}A84nLpA-qWJ;;GZy*UKe4T8 zxMZ`A)ILXjnqHs<-Cp6f^15+kXp~iCG(>g7W1IC#lJa$NNakTq@0*k??kp60JD@13 z;Cs!KZ)^ZWF@_Y&Se{cs|W| z<<bZ)XyNMX)0u5MShcvH!Fe&4 ztYo`?lyWs3vJ_4aT^@j?5*J@t8L7~a9}rR1yzlGjQ)8=A^amxa#w6X7j_S@cYA@Sq$$m6y3st2p9tR;t;2gcj$jW~F}rdeM} zwq1?Hw|*=aM^5DEmxv7G!TSSWTde4`bv0leBug!%`pelVNm^=0s@(Xr=wdwG;Oh$P2d9#?q}vijMDdzwb075W(>d`r5Y_nmp@G zDWYk_pRfk(PabUVUAAie>I~P+6ffz9_AR~7?=ahGtv)tI)zYv_biHEC33tP^s6v{p zix!%U(&|yVPRi`d^>cZS1BT$M>ZXe*B2+DS3)FHaZ5_W*`sCR1vs)bXk-deQNU1w7 zZ?=x2wX1}7l5BZ}@|*>xH$7S37%co%l!H8i50T^Srdh;WrN+Tz?<1s%@2}jo8|PjUhIc4{8^- zw$&)Sktn()dZsn0qTp$Xx00?l$Wr@8#6IstQy&}o+e)UI=u>?|wTpxuERw{Y;d@`n zMimhnko5uA(;P>zK>d1$~l>ZCEugE(`i|5*y58M-VbpU)D^i148 z6Av;OFPY91Dsf2hK(ybxmuzs=QjO{5trq=u^wAZos_0go@2(Q3^XF-#VDPkCU3uE| zdQ~6GI+<03)vm5P;Vx4nCIW|~s?$%bO`RSo;#r70$ONqR_s`w*Ys6q?`9Wv5OH`LD zE5A5c#@o@fq))u=K8d`oDaUL~?Y#BErYM|wmH1I+*g$;BcePvNob+~FADOl~%u_aR z@X_VfdyQ?VG0C^*iXW6&Sa!_WkgV9DBS*AVRNhrr2S94OHl_pCG342RRjcB*ZKGRV zm*J;5Tfax>6xix0-s<#hYVLNuE;@f7a0Vs>o^@Fkn z#J$u0*&py>sEQD8e)w=PRT0kXN)CV=3EUq5C2u=kHEKj z(0nIm!y;e`T`ak5ysBy7Llxf!UD_Hv^N{?Z%*vs-b*2099{W_SPuqR%B|j^Bdqf+> zdDdslQb{oz=-$a?F`IZ>ir`+=w!N+`yrn$O!1(-s4vT0+?x|A~4OQquXOgkNq!Sv$ zhYv?&!D#5v@lq;@U5UGPt)@gxX_hWqLFxd}m@8KxtWQjTh_gUlTW^-$4(s(={C}r( zf)+=K7rjh!dJn%wr$M}CMupw_^&@XBlj)i2sMIk%(+zTfT~zWU1Ns(dY>58+B%|Im zcCn25(Lwz~)Fi|rZq_h!*?Et#{vwmvP`9C65r8Akl)L<;z)B%JrY|Cy_T@Wwe349G z<&eWBYESXDQH~t2%_*I%$>y6=RCQ*xZfRyn*iuuN+NHyX^3m1yL9Ni?- z{b=ta0acA}m!}-5=)TTbMJqvd*OjU2F4*hGSe?D9B|`E2eZU4EpNu0%-oQPglQEkH zP%_asZ`^v?{B~e2Ah9Tn%%r9`-4^ zgS#KUg&|xQGG9t$lR{)4iIF}&s3d>iLHM`T6niHiUeO5k??!gEwk)X7ea*T=byFkf z00W66&anMZQ(ur5-{DAhkDLoy5@}F2YHOLod)=E&CSQh%G!^x4&KcW>pNCd+!5TyT7-KnWRbua&NqZV?(EXKebCOHFo2g2pxrs&%oWS=m`hxb}tQn@h z_3>jjn2+#s1u0U#4+oNdIYEP?8hA-UP^P|$O(OS&>KR83#x&_Kf%19sWc7b#`(8eZ zJbH8i+<`@l$nEcS)F%^}-S(4gBg_~0#!z%{W$=VIZrJb|s&HDGSX#NEs-&FyhNF5n z4WE_uR~%=MxK`xXKx!b2FGx?1nsQ<$SL@w7VMCTJgN6Bx4Ph&@--}&1`RUUq<9XK6 zN)o&2@rJxZ>4k!tpsy)(he$~+UbLv<>C@s7F0gLkH8?qKNk~Y5Tg@@zt7FEDA=O3! ziqu?-ND%B!q!ah<-MekuWL|;4;pcZ6kBO8}aIj@$AxcMNfY}eYVdv<+J%8RZs3im5 z67;3Xle^#BmDp?Bt0dim{ae=;-69B0jh3nIsS}I2k`yb1e8!hqE`{{>unK2G_M^{c zsC%ySym{Si_HsEel|sv%$2ALMW5q4=$z{?eLGv%7s%TsYf=EKm_`rcqXtdCH*cler zQkxFWjgYD+Evl-j@=uD5R_JRakC`=hElbv^F188MjPL`9$^FaVU>&H}f4pt`sYl5c2{BQXPpPW<3&ZudF4QSd z?b|JQY;uL&+O-!B9(=j8|3qL7I&ZuR;08%>Z2Nq9+mpiVxVMS+xCR8)-sNMfX@?mPOkX*lzHmD_wh zT%31CTVfcqJXfzq!Dg{Q_gV27$|#CytQw^GfLv*`k5DmyhJti(_VbV5zpqoT_Ycn= zYOhzad50{)4kYq^){3Xx25Kj)ryG9Wyw@=DXg|9HyY11V)s0Wi2$$%}`jt411q+V4 zW)6ncyLvSh%Q+W(EBI^k2T;CUzh=$m^9!KD!xuwkPrY~Vp-8*X5d$mhYG~KkUAOPu zy5$c`3gRMcX*3TwfUjS@68fN!aOAJTplPVD7v2|XRU8Lov!;J&%Mzb)1uD}F+8T5H zy*PK=YWP%F{HtuqjbhSk3XH9B%qj*hSdc+yp4IbWXm=TYZAtLx~4w1EncCZZW)EGHN@4mV*8xMsm@z zWv6JEL0*F*FkRQs&uiIVGVE~5c#ft_?9v{InDd9M+U*Co%Ue2uGw$JmR|FcEt>d?lBWkfCrdqhVZ zjt(s#Z28U7()a8HG!Q%!S|CDK8?G3`3-!ldubh2F87iey(3rz7(it**_#>FoY$b#k z+KBL%+5P1I>7^4|F?w$PF;AkS&Xfo@Q&pW$`RC3})7yb`T^Zb13^yEJ+z35NbT{*5 zB5R~3sZlsLP%u_fRLrJjl{N)hYa}HkcuvTROe;b7>_%xRwH33GBLzia_7H_En!F&U z3xr)d?l{w&$7R00mthAhEAN7ygrGgWeVUpOZ$2X^1B>$+ZsF%o$Q)P=l+<9oV3e}B z+{Mw|VIJcQ`5V-s+M1i6vmMwb-Mnr}qkt4{;zx6)2E@wtQzT7As%m`nU3*rJgTDuL z1y&roIj)lRh3buSj1|FNq@6xJc=YIBEE}!a9@+E56A~2OsoHHH>YG8tfXzTsmW9TW zVn}E_!r&d)y&H|lR62>WvJ}b}-I|z>CNWG{OdsbJd!MR!A}6Q(<;%HKr>;Z;1t$iT z8~MkkZ{IM?`(Zy`yS6DP$ihAtc5pD_fo$-!X+jJ2o7`36mQS5uk_UbB{JHG4mLmmO zgTtF(#!12Q(bLW(A)0H& z5^f^q&;lpg#N;Q;V~*L1H&>aDk`fa!@M3Q%oPu9>y|K$SAA|!*O z-As27=bCugcE*~G8%HOXNneqDCpuo|e;`jIVwS-!4im-!v<3eZLm}fm0?9E<`Ax!= z72e)rFOzsII#(W4RJ69W)iwwE3k7Pf!?9!fm;eG{P9ThK)EluDxGHYE$^OA~+`-vJ zc830QZef$npRPKD5`*Z)<;hBJ-i!?0Wv?eICpQNf59CcD8q%rH)}TVx{ks~NiB>f8 zLkR^1!gLz=WLQ@;xft{Fpyz{x=+3P#oC|~t6?o1h&ZfXtO7d$5HBJhld=#EPLK;F* zcEkve9PiST(@)WS2Qwd^!jIubsOf?k0rwO=Lt94)AY@(wY z{oLcq@NCo4s%d={nmzuN=!EeG&sLCdnluTewT;|68fg9JB;8&JkfejVqP%=Ie;DJz zpK18?i65(=Et}xauQGogfb7|`c4+a5ouZw~nB24T*zN6#UJL(&`EEJx2a_Pz$pPcu zP>>XG(H7MC=!Brleg&%1+?%ofZ^N!#8`J(BabALE|3n5ofVC|{JFf~adFBlG8g)iu zsFO#Jo&z}1N;l#l8o_>mY(g&N;h~! z^zGpM4xvIoC$XEGN@Sr(f`6(rv@t{)pe+kHx1r&{Q#*DMgM?2GhB5x(!(syUH{yq< z#JF1F6(*1IdzM{@WFS6YxL!}63aSyvHu(5(@CUVM*t`yvdU5{uSF8~ z!N5K5RFuXIHp~%iO%zwqa2yg=Bx3p_Z0KA-9VZ;ai_xTEg6mXNT#R-3P?ii?Z51{D za(Bn7PYn&OnQlO7%o3!1Vsav`FKjVkJ-jl@)AaaY*Kjc8>JTLw%zo0P$!Wv&5w`)Q zgp}0d9yzmKJ%0S|^Jl;Y1gLqWxPVeoB+R0s=H&(S2mB8n{E@FYe~$?oZ`WHVLsLIu zpRte>%;0}0)kfJe@(Ju%fLI-WpH6W`S%h0<*z2Jh1C@qO=vkN7)DzOQwzPE8>2&Xa z*&qZZXomuqWAq7>S#XG1=)@Wh7{Htk_Kkn}Z@VjA5_OJSckhxUn?U*?`4K6sE$vE&w!!;*=o z4lrg2bmHSffM*z|SabuH9Fb3{cTby1>N#(Xly3z&80=~ew4_t^fw;U;VD{#}CeYL> zxCXRKczD1VNDQeG`fJYa-d(|hA2@i>W`dnm!Jip91g`iw`gbwBP1yq#Wm0k$VJpxN zqa%>ZQ1kXJf?KX!o}N8()_?Kvk#(Cfh@?shy}sxS1H!oLTfuEC+OvwL|LZ{rlN+oarW)*Y|;9ygl{m zSVg<1i+qmB>sDO8e3^U&vk5>h5Ygc^N<|_Z3)veFqM&8oMB6a6jf5Ui=r$19lvh-kjT)6F^ltr)w$3A{HaJIyKY$!KAPnW8 zJNPBr%gqGxphIkbm^PC3;7)G+NIKeZ^?+U;hgiq4mUZ$nR)?;1{CIS!cWRUI`4duk zlLQo|{2vrHu1C%!0~C(wCwxVF6CEIr9zF7Usp8s$+d$5_ud1q`fCl)rzP5ot3OpFN z<1Drw4J1?3^Yoy+7)pf8x~>C|VxNeQ>7=J|?D_Kzz$+X8O;U-Psjiv+Hd<HRXcePMV;8`19#6FY&2*PFCs`*am^5zr(LlxYlOyrP0eZq3u$R5x_)u{ zc0J~qEM4$eD@)5@fQQg!L<1tt3H(*TRs;kXVK~3OyG=ti02_u6{Uz}7i4D77JOWvf z2M3KKCUi6_Yvqa+N0O2x=GE!->xaK5NNYqPckbM73g`c5z#%Dy_9}4ajCt6F1xEpWr zCVvx$D2VVUX}iLaa|X2RLOoApnH_H1{j(&M?E#Xzy_Kt;}^{<9^eRN>rVwD4*HWHZ>dk zt*cwe85QFDKeF?rLU^gjC+kUWu_Nq}-VT}mcKs$#`u~#!{T5N6kdT(POL=VN*9!Lj@kVEs1={zM-{eTpS09t*}>4Ty?5DI zG4HLIzzpAzMkUs4bD1> zDdnOcl;9O&xQvYcdHs45sU)uJMBt0@X~}ylNK7QgMzM_Bo4Q@ zt!uD#*8k!{Cey5QNC2my;VoE)ckg!V@FE#A-NWObD*v|&X&}b( zVH(I$)26`QN$GkpB@CSKF^e)K#%l0j`Nh2jG_L>8ty=^T4Cgf3OWsVe#Mx(J@J-o% zs{e5)VLDPvp_e=#6IRhP@FS$0KLu{8x$eW4stI>77FoxbVXy=97DM-*tPl z-YRpM!4oq|x<47UFjB5oq|x-*Q6}TyfJujc%5qMTu^sF9_V4E(qobvSd17)ILHIc9 zjmK{-m<}}h5&Uk#Bm#+rVtICTv(-L6OkAJ!X8@PbaEH#>9=xIPAc(8@q$OYF5O)U>^%C|aNWfFk}B%t{+J%hv%r_# zbvxy;XxfX!FXb=n_=w@+-A+G7c_WyEwprRkC9?QtVXn%aNwLH1_Gt_b=N6;h`>>)y@`cKb*$mnvgl3hDFHo({ZlP?y z+o|HU_#vf_;b~9#px8w7&I+GPDpw5>PpLGRiA*%Ya!iOcd2`QRmYi*81 zPcn$SujfB{oN`Z#kxhH8)6Zx9+6$}`I&B14CvUU$P*7oihJa!&!{h(bo*J=RX}}ct zLUxL34iR3b&QnPoxI69d5#}lqaU|ADyF@!>pA46=r-S3Xyq$II-S@VGM4vfGPVFDq zJHsnUZ6a7R&molN#m=Bxk_h_kGpY7*d*CmE4)@k%^xl| zHuYT8d)1v5^EZ{wT}vTRIq;`L(WP_el%@K-vr4HJ-J&dcVdGh%VKn!{2|a%SuQ&me2` z^nNxXDq^@>tW;{hmI}pjwz5hoW-cy0`tKH-y4hMxB|)MlQ zrXAJ@&OW-Mhcq*T=${+0SEriJ!PGY*#|<2ltrhNN$crTFy|vM#c&TEr)&KvTh2%`< z$I?$6V$T(Q6^~Gg7?b!=TGC%Jxb$wB&B>x)y47ISRIxs1;uAe(bUmCeH(h(XMl`5`1WQhk(%Z1ib$7`Wei_|`2UOAp=vg$4d|q9L^7xxdU#!Qm7&slh|;57)(ytNrf`oP@GVUOZ0sL`%lD-A&c+ zUbC5gKJ$$Bn8LekhHqhA&wh+omR_W$(|#PpGMb;Hvq9(Z2BVxy4m?jj&F&Qqb>GRC zGM=U%MN46p>}RB!XmO6FskcjtMM&-a)>L-w#G`cg*iI-a8w&)KY7k01H3Ky$R((iJ*M7|Wk z(==Ji;!v*yBog12`+XtxpU#uC3U-{C-OQXl|6udwoAN%^g1vQ+{L7-h;jVd?RFL=T zM447bbtuPLNQcNx<^U(CX^ zmuIC7N~Cf#vSL@Tyz44yzn+F)r6Yo=KsVx~C1ruGaFKpRg-M0}!+XoqvvHZ>Rzku8 zGb@icPp9h$)ZB|&@}656pU9NC$l2{s@?^tIRJi5CJ#U`WxH@lbSlef|r+z3R+GlHC zv)D9mVCxNePDh&RC>I{9!c6<0oFnFqy(%K@oxsJngs)k;3$8Nz3 zTFpO0<`?LUU!Gv-VZNKNl5#<(EUU^#`Insk*45^2{C*gEXZa&ksm)BGc^=Dm~< zZ78I*eOXLrEt9;9s@GkSN5fBEjgLuvu=&NN$jN+-O_DG2pR;njvT3{dR=8~~$Ypy` z*BF8%l>9S8h4OxHIXwDt*HYl}iXO+5!C{`P%@#X^)15LJ2l|!-THZdLUNyAVemTZb zDX>o7j%=x+qsUoQcE@<6`S7W<{oVI|oHo;=d99)Ay0fs(So(?~rBqwO-G&)y&P~Ij z3cJP1IR-AQ3^n|Uvon||HldVQTOG=--NCD(PE$P@DF2AUFWNNv&4J@q-7*WCUM@>J zpCz5hdeiyl$m|ZA7s=Z=IAj+JC0W;WIZoK}hh);;DLeRK*X;$V-=c9-bq-B8*?ERJ zEvV_exwpy2|Ngm}t#K=IZ~Zv6@zO7MwlN%=wh;c6(xxKW!$)&0d4p7!wKALL{?lFq zUOwv&X42}|EAy0R3_D9_e2>oL74n}l7nkd+q1)4Rn^ud{DDJIZ?e7}KY~h2$YPZko z)b27hjAI@tQ>oE+9=YY{uGYQV=G4))(MLsY$s6rg?`$zTTzk;h;;H$(=gDU@(JQ^= z3m1plStum_J(CpA!~;Gr9hYkPd12lo&TEWMb*fM-J34xzk?Dv?)i6VckG}ng&e_w7 z7cA4ses5J~g;%}b=GaZRRP2!3UTqg*OJgCk)_Ia=RaQtYcB@qL6AKEhZ6SG@)N|HG zQ(s0F^;d8Fw6-uDql!y&PM!Ob_UPy3mumjG!u@^jIwABg4fly;^kxMw{HDFHCcp1U zt(i2d++d;g?>*#>%L}V_#G@Ffdij|)-CVeAuzEm1&aA56KB=wrQQbpVT8%3t5~;L9 zo>MBZcGKeML$70r&0fQws3xz;KcaFr9?8<7~>y94c5}jqDs^~>1Hu& zwe|WE$_$J7B4oocS*xJF4St7c&qz4fS9!e*zhg`;kX^`@79W1Qv(k;_Ej@{JZT0gU z`;H^ocrI%r2aWERyj)B{_pYVddU5o#75v&*vM|$~eTwqJ3nnAcpp&$?z~WU{ofl32 z1ZAP}@bWHg&8s}Zdzu0Vm>6lQRpnbGeGKP1Q*Rnp+-M&e8y!s+=xSB+?=cPT8JxHO zyog~47Z=@d;v(();t$ZY1^mGzH)_4dYC!(oYnJP&dgm2*G-BjA%d?LZTLtwTyrU7B z9=mUv$MiAx=c#qLn)yll=EKE38@HD)Xv(^(ZpuQN?aa6&dNW8SPi_=p^Rr37?ZV$Ub@fv9!(4B*r|q9+|FvOBu|74R{?> zVUwo4n&3Gatm8xX@FQp2t$T5{)?LdKr$&ftk%xS;b6;!;`Qp4GHFagTdFvkX>XD89 z*W@|nXsX|{1$mCi)YDBFO30S8RmCeB)7rM*J|kE?>wio_f<%(<&ClB|CEc<(-(k%A zgd=m7V?9%l7?w=3Z8_`qpaoVi)u+jR$SzjDMf$>&K$`JWb4L@YP z&6nY#uvxq1Anx*jJ#urmi!TsQUF{cLS^Ccrmf5llp|0bRF7}Tb9za~Ralkx`l0YJ!>aWq0{xCtJDE($m^Id*g>wE;E;=@#^;6K`C=;i#)wN*ygmyDUXR!x2)&hSA}zD30t6)hB+kkbG)S#vYF zqzjoc87{`IhY#uY%+smr$=%x4dy3?DXo141H9j=k%?&}h;8)zbqr;}K6ZZ!v)>YJu zK%d2n*lYK0Yqu~Is8HJlNas7?8bIrSDWz)zrr{RgPHqq+0iPciIIU6DUlvD}c?r~; zgu)jnl<+7AVxOWUS5y>9cH&_=U+$oMvH!Nbmn{#|?sdlPojV?+%h%HdWjMK6TU%eb zQux`9Ac{sOZVee(qzw4bBbunpwp7^_Aw>LQUyKYWFb9jw_?LRId zdjSe|Ug{>ARxt(>X~2DgnhOU>n^0Nw8g`%Me@mUJN1@j zA74ORQ93{>1yL{9vym|a870I*JSwcqUF!EyQaCODeNn^0tv*GZ7Y>W6Y9Z06%L8WM zGZmUAPTZ{RdriF)OQUg-H6H@>gM*1K3Mkr0euXNbN<_8eMEyjQ!i5Q@KgPqBLPCTu z^|D!+Wb(%Ve;$LUZD9NX$l>f$y|CJr9>;BX#@_nAN&Er7MPzOCR8N5^-BF@jF!c@j z0W0o8N0^|0es(cwwMdrj@10t})Qhs#A9LTMQ zB2y@Q_$Y$w=6#uV6GN!0`{l)5sqI$V_jw+T2PYBgf4~gJHh{?Ev0$(n`^w4#tV^Dc z^i^kAz`s^yRfwP$iwhq;BX-~eZML$+PbyvA$u%Ag!onp9>PV=q1R7FTV0Rqi#QP(k zh!}CxO+^;v7RjZh6>Pp&0%kF(g29_^KEWCQ3LrHV97;{o;<_i#_>wb)-|pxm3|6YV z+Q@*x=NGkom=%I!OHeSc(>{WqmjN5_+&8tB`}~OhfVR8;-~r%NO&lI)ubdVc!^psN z(WYl|&`>F9>gYGt1Hhf^bS04#J+zR^&NvK1d;}dRl7@nwehd4nwv==Sjd-hzk zvxEKA(HNTXxc)jZGc!qWJ;l2FYSoMsPRxm?WX?(q&nv$TrMcuzoP>i#N1jGjl;uH+unIA1%Vjv27He>MgHf$)2 zqZ8bJUelP^N`^eCKb?^#VyBM>DL$$l$~@~yB$ZD2WzbLKS35Cp2R!9^=uV zD9bq&!7|FL$~^XAaBiutt`1e43x%D7wlvk4I-#vW7Y`7C6Z~PtN3MoaR(!DRTaV*x zfgcXAH$TL?sc6?j`p83(AhX`-&LQq-{-|`@(sYJZfa_J`gF+j;Kad=#2RFh`-++|!3s&v zr@F47tZ8sh@2r2=wm&B~MXR>|__e0W%fif=+1Xz~X@;HbTd9Bx2R9&*0+p+b?CfNL z>KeL2-i}-C7{x_>C3AOvw_j7J4+kEPoskLMf1jL6W{IN)WYVZ3m80d0yR?o zPjf?kY}BMjY*f8U*rECI*|sq}G%=~4xP_h%mpR1jTH^EeDHc~heP_q;{11F9*d#`z z<;DYjkM$%3YAp^e=QZr7=d)WLpE>-PYt(TasVqk%IBCSAmCu>{dw?gdc=TLI1!t&q zgOvI`ek8DFILe1gZlv0ZN>aY6k>}B1q3UI!sb)ECtJfh;&uZ8B;KD+uo^iXSVd`r! zx|&Xt{Wdy0R@!Hl`6XiSH@n33-|KkAxizM9$wG{G`jA!7x+D#?;N(%Nf1ZfP9V*Ky z+%M_6DO&F0P()GKh{fV+l3=qVt@NA_!<_f?jidnzzeAc#LE1b_S%hKK(X|Y#{zx@- zP)#VgS>Mud)}x|8bgC!(vYjA{7E3_G)=z!YwBC{3I-w`OEjN<2TkUs62iobiZeF_L zVw@&qwkV?1{ZHtQ@9VUJQ*Dz33(Do4S(m(IS4H&*d;7a`OUI~V>jfb-?YOOL+pil> za|H6z_(PPH|5lBY^qjeM#=7rbf7jfHdM52-Khtc7vS8uikpKs1jjA`qWl*9o3wEy;ELCkld4or~1>pVb34~bk4it++WvDyWiOLv)qwov;Wva}1by%d~T zB&B`@gECQV8e2#aQ5_&b#t8J;1v{Ph?j5dX0GvbAF*-#mBvr$tYqnJ?MN`~Cag}US;t?s0wpHs`%(se z&4rM7_WtYXDI_8(o2!LAoBAff^0*sXZ42$bEA4X2KNwNm%*@Tz*Nu!9t=kvNxsSeY zs!`5&@bS$+=&hlc0=zn;4qRMaePH+DsBnp&mq!^3YKBWI{ya*1(#*G%d3_eE*rs>r zH65>kjaA_nFJ<%A9>L5F)N&n^$@|JGs^;!J=GZN*F!+%%?t)L{8t7>;f)!wJ<-YpQ zT@c4kLEU52YE#8mhY}DW<(@4X#=9kem>w^Vax=vIK7*t(luKr@sNG}<=xx+CSdJ=8)$!PyUe2?(720uTfTf8)TD*usk9!0(EC8n(0q)g8By^`8>y z@r+}; z!_&Dkm%hIOpcQ+-qfus#V5$XL3Kzh<6DThbko$C9Ea?VWDM_Tas{?0>afmrnj{M62KQDKsC{kqkDOq zcQ|b-fT5MmQ1iZQ3`5JH#uNKiJKlOa%4v_6)$!`B$21>U>b-AjZY}^hD~PR^$K5Ko zgCz+Nbyjq#*nCR*`t{r_XO%d3R`)|%RV4StWfc3-xDLY?sRJtpJ+$R9M_+=v8)FC> zp0j}=YholPxDq&Wg_we#tXDaCuPg`j)$L%31;sRErd9#8B9t_+l)GKpjftSm$gXNp z6NeUn&PQijwJ}pr|9uY`1i?>q{-^{3baNSMFCU7Qg*g?NKs~B!U{H#BJboKB-5Ic20`rf8Ik0A(FtGr+b~_BLu}Z4ea~LX(xwp>+x{`$a9hY{vXa~(W zK0W~$g9%E`Y^GjLZP|uISr-UOuvi0jxB^|3!foUhNg1w2{C%?dl-R{@FAf*ey^(AH zTeW9Xq5_r@Q8GUrCtbtJ`>WfW^!*K754ae@V>&1J1gJaZc>pzzK_yfU{T9H{033z# zr#GaEfPg0Gp3&-}ZNAHA^Ebk7q9p+o(~$ANzT{`2`{UV`KywY^pQB*dU$1$<6Ur?J zegK7(oBw_taAOT{wWH+>x)a#1iGsm82h}Kx1%W*XMLcVO{e%%gKLH_<1zu=u>Tq4@ zh;-qNv+g~fqwA7m3X6Co=@oT#gP%i~tBr6;p|6Ya#iGDFF2UNy@3Z`X8w|eBZdXD; zff(gN?prj?5}!wl0d8In> zFJXQh)Q~MhN3o7!UL4DYQZcp?&>nyKG<3#3Y0crwvmr>sshv7y1Ysdi3%~i1$FGVu zCdU_(Z=s|xA62;=aB_Xd`dGenc&{6o|(! z;tA0;=#5p#w&(2qhYuk}_5mGOP)WN0yb}b>I`J*@KZixPOj+K^rl-7DP0~zJ%2#I5 z%W{FjBpP>#lYoGAxt0Sy4Ri&;J&Y9%RIhAilfREte#PLR36soghZ5jNOt1cogtkI~ zfhb&)MzXhg(+u@@^511aN7dWWord~@@`3gA7G#Hdf&BA%iskv z0jyt*y;1dp*cDUt`*Fubi11!NOoZA{A$(4YkGv9VkC z3_jTyEx{)uG6L@TFMupz*P(I`^5q+VXuG<&EO>#`dX^xBh4KtH=(WK%5vv)(zzpJi}(s{IXvHP)Wof~b|dTF##rU1qh#w?6of(-Qv9Ewu( zPmtun93^HE9!$RV?+cWI{lQ5HM21EYi30kMQCk@BT^#^aDsON9Xk21A?f0F3JtVt& zrm3lnR9jHBxkC^FTGZ|s_SL1zwb-qPN554NqDNk%`L!nQKLSQa?N?)?Q=h|CB8c}P zhX(X4AO@+n!oh$O?1MZ8UYx*s&$%C!Tx4Zqt6Ul{$8qyjkx@nxIuS?^q01P~4=^S$ zI1b1J0r&)15WE#c^1ui9j6WYBsJF4b_4V{Tj&dn5A@KnHZXf}#;7+3FO7pU_>qlk^ zDvymm$jguQCMBnKaFC^s3}!i$K>6uBFl^9CBTgCM20-k9C=RSumiu{W_u|Ps1saQEpV&=4g#Rhv_RX_A;K*J z5joZp){pBKiGS?<*o`ieepyS;==IG7CX20L=>g%&4aWix0=cYu6D-`xA4{_<>27fNj) zzbAA}VQt-9U7H7&pg%|~t0jB@oZ#9aHJ6JI?ow^W^SIUSa61aa3Oop57jUklsqh|$I7Tv|Wj7bSUgC?o-TOj`4Tdd^y{>K=sK(gCoegi>gd;PI7;B-Zis@$A>C z<2NED3gk1;`Y*S!n8(l1VFoFx)w?yF&A>K!sOy~ z!8jKZBFjK66Z%T99|`Wgw}`z6Y?xTZbThgq5E8->5}=`I_+8M$dmwfUDi)96W1EM` zfHyuLet}Qw!;fbcpL4iVS_Nk8NrGBQDaSROx4Xfp>l?d##v{&t);EQIIjGy-+7*G+ z4vF#ul9KnMqR_GO0!i13inw6`wU%Tlnd~~M%7`6VU)If^G)-u1Z*D%;@(RX|I4hCD z_v*uO50BpM+tq<^UPUhV?|y^^SiI->^O-gyVzb6Nlnu$P_Q^TGc_99ccnEVz6Ibc{ z_>?6fLdt>F3s{&bd_ee<=}QMj2hiSpLMo1QZ6oSygd=-E@db=6;jeGoM@#{s8G{`Y z2~Pr`JM^qtTUqTjEU@_Y;wrMmkDx?@a)K8uzc-W#U!M;z=tqDIHB%YLl>iHk1$V;b zA-dmWBh^$Qo?!_>R%iA3Ks-7q#YEnR^9vPkBm{wTeP*&?xH0CS^*$NFUsv#lZs^Tv zn?l3lqd{dWg$$1te6p6A<*&6WSyR=JrDF%DbJNr3bJrHdq0H z5Mc+R-sfwpONd>Dz^Gjb!PjRi{N7!c4xKYHg3@&xEYb`icm|>J_wQ{T9S3|R<03}~ z3fd`NQKKG?Tuv)Zwf#PbtbfJ^;M`~N4yzG;#WrIhskZ(+?iD5Qt2>PChwNVmA_3nNifD?kOC5M;#tBcsns>=jvj3**26zP{KjW zJaBv{zM#dTg&6mI2*RQtpoP^|Ly$@CQ!sA6j z*V^@n`1UgY4aAOjNwr8?8Wwlj1KUiwo*q=?M=pIQ2^a^S&H|Dd?c$ZgnOTq_Jag`x znxQN14rDD+OhWeq!Zi(}gK!^S{{A2Wi#dkvVY}C`Y0Hm z0(@0q`tMmTKuIGOu|Ev=VTgMHXj!mS2nx*m_wO4#)hp?GDoB^|Px}1!^1%)Fs>46n z1V-D9bY9mf%@qu8y}s95Ks9M)z`_vlP4|H~H^^>i1ZZW?@CtOJ76<8+%IW4)=p2rN zXOEK~Fl7JN2pv#;LS_iPb#}XLrZ%;$A(&q^TK8%JX=P0N{UOD#O-*@NA~0I35LHT( z>d!vCEi_1{ug+sDk*+9#j4Pt|m%vP-_IK&fGLG2FMmVqNB_Nbbh`9URSwq9a5LX%| z(%eJVx;nsqO%l>eTnJxa=@@rNE2*}R%%G%q8S@R#11T%6u(Zs~;SjNx82j?RJ4X;v zxgZ%<-mSrx&aaA9Xn;ro8I+c$Ca{=!jP+DEa+@EgyHU!Sf4Y_H^}t-0wx|$;EY@dCXt1O1@RL4s?d!CeqIetmM?#*CYEt)rxMqH3anSc%pvaU$T^7C zB^=OKhf<<)2>)j>&A04F;C7_O7V#;_3odk8C+q-r8S;UI>4h7CE&)gMX^`{t5}3YhNd^YoF=L}CS^ zGzn3Aj1WI6>E1#r1ROcbmCJRNm_^WaJXCMv2z0{K0WS`>ZxneZ9Ap=A%7!x)aJX&T zho;K7i`{BZQftVDl|CyQ#a{e!T$^RN&sV>MaxxKqLu~FVEGvuxJ1WgMT0D``SQ*x@ zT&xlEacYoiU+zCx`MelD<=08%>k5s>|C5ZAqCjB`v@vL3Ay_>M3k$LBJ7pTuZ<#4; z+U!EuI)+mT2?KY?#-i_-?=DSE8==R9rHE|D_%ld%LZ!zObC0OXr!s-t2}Nh(Z4f0{ zSX%BuYdDrU+BXSB8%!h0e)E@q$n$_n0s9;dbrB98_>2{kZ?_}su>k2J^qCRDlI1y) z?J0AK8Dc*D>>=(vHTiqDEXUt*jydBe)}?yKx}*y+Fp5gC_wJb&oi+U7h?ExGc&PdO z#<}s-u&^Jlm?7d2l)5V5bK-nNcLveG1i#^3eLb2E#^3~^)om~!y?;Z{#=k4WPoC4W zFXCz5UCW2u92thpDW{b+UzmtV(WiFhN>;}&J=)UH*StT&m?OY(@l(FyKGWI6nV^c! zlX7=|m0Zsc-*io`e8Do+OU6mZ*s&)+lG;Xk%afB49UF(#tgS^>syhy_kuI(Kn+T?+ zkYLcrXKdydiM6xL8evg3qoy5QsMu>0!Z8NC`~@YCI}@R~r19;sD=EB>bQ#SDse@#+ zI}X45$l`H>vDEufoo3zdkNQ1q6{Jh!|H+Iu27cfdq$(5`z=_`x~({G+kA z;}WOtEHKoAx;H*^PX(wh4{?6p{K!N@E=I#uN1b$z|3A|s^?Pzlmc7c8tGyjYkCr*b z$CQ*CAIF?uT(znF4d%{i`jeZJi#B7V>4?<|Tu%}uXr{<I)JmnXCmS<9k$+Cc`K8pBchbisU%aQ`wPeFlJ1V4I!)8&`yX6KeF>|xCRmJE@3 z1tRBP6+@<=C88$&r_M;C>RlypK7Y!LB)`(N|7({x@t~W$qr$TUu#q%npXQzkHoVW? zTj}}V?24c%Ql6A_?C;y~1e2jfy%tE+;wdmr_*gyD9QR*r*;Zu~cV!dAm}pcYlzg+F zJ_XbuJtJdsY30YI=y>~>UAu0ffVx-i4}@g#DCZ`GVmMJy4MOJQym-1`Fu$sw{HuYf zPuzwFu7v<}NTt?7kEYV|O=GSbDAp-!S{R~64!N34^jPHNfLO&DV4dCD17Ck+#gmlU zN2l7dulMGnp@N@J|lSJC=)RSuZZ%dvgWi$g`}cr z-DPohdq>Ayw8ElJfhK0SN&KqqE(c`P+V2LM-SAYRw#<}I%56?2z##k)wlR|OQG1X$Go2kfjuV0@(!$g&F zvug}^iQ=bjbje^Ta~u`mBp*VZ4+N)r4shFB1E{J>Oz{R03CYDxtrLE(1=x8*tY z@xs>x^dTYIeFH_0TXjF}Abc@lR@ezM=()9gy4AD#fmR+)Zb9He+ zLA4Q{A5uZ1uAcV8p=Fz|jGI#9(N7IfytQeO9CP)A_ob=|4R+g$7gLtr!mjoDB?;ay zd@@d7RYPDsD-@5 z0sP5)!=T9qCuL30=K*_!kKzJt?Rx-#^fLpwaaPkd<~V`L%K^%Uv{IOwVQO~}fOYUB z5jE>ugh&`5{>be@H~=(ka91-kH7(~gQ`kh!3KM~lAl<4Cd!r-CX*B%m!Mm)?;Y)|` zF?<*eiMSBZHo@SSR9b&@5rc}we2>o^`l@h#$a*|0DLE)5rK_)xpa!5JG~e8;LK!$S zQ|HtWkTO?jgCUnZ`MsAg7iH4PM#8NQ{xO;JD?WNhxarq}V|;jI1hqW4<_L|D;Kd<~ zCS)pw#1_6`&*R3Afh3aOIU~c0HB561H6(B}pC@+`_u(vr3SUJQ;c?+_G1d&bSU@_zW&1H zBA1WtFHg?bj9&jU{ca5ROIw3nY&092ysokP;GW*Be7CJLBuTJtpGes&d;J&q0tWcD z@;h1RhRV3;0+ckTLBLmO%0#uOMKshB;RMQF*mH<%fLB3f2F?n?_iqRxze5#Cs;@7Q9fUx0g2!uGmk{Mu3TKRGIlmJhF`mPHK9HJ+SM=h z3*gK#KG*EB+xQyt5D$Q=Lzit-ly-m*wgTy#hh%?&CS)igxDz|WFBYA}HMnxjwY=_U z?LczzVneClS2%uHR<%if896I}6=Y~INHuGhaRs;uis%-?n=9$!~8`7*7 zV&0y8`iZQoz;u)=tYrw6?ODrBd=V*%EA%dakM9s*rU>Kb_@7Jg9u-bYsH3?ncDkMd@@)8=ifKylM&jxB z%5Yo($imM+^M1NSOxs4~(0-6UTU2EvX7ihXn$aaHSu@^7?N6H z&?PxlzCQKlknMD0lAz=hPEW>d0b8O-ICRe&iPRntN*4QMFX8J+O?@8ML~VOXAJIUU zuxEQBqZ6^f{a&tFPCbm)-Ju*OS3y3VC}e?8sU)8lcOSnl)!iPNd3TVHo#!uDXuf={ zz;IV89i6Uj%9KJ0aX+5B2DkbSYw1SX@h_@Wp&4O4h0{Lj-YZu(#qN=Hlg#~NPn51y z4BWZ=>v{buIq=XoVg_6UMv*~joobkJ8t?f7Vf@(~+CG5ypHLtWNu+D{1LcWpNkTAX zQhA;t_-8o#ip+e~b9g6u-U%85o*MD`325wo9dApK+5QOKibW9$v$E*?6fQnL!uZQBp@zG0r7cHxAZuFO5o^q1d z&3^JVe#bmY-Z#1Ml4Z12oFpIa||hY1IP?N_7pwvWg0>A|Q; z4n;3wNB?nxuGKM9Og2(c0D4R!B}@K+Qjt{tV#rA0&3`>0o)lgt97QDglZyZ2r3thZ zNsHtEzZ(Ee&3AWv1K-NZTjCW+%&b9tfm{;Kg#&zK4r8m+yZYm|NUY7mP+~B-cMdFV zz6GZyI(74qMt+6Yd+|3i+>2WSQ#oQdHf5L@?+^VI<`?Z9ZM^wO9le{c61^JNpAqYw zNp7B67H=5OyTD#%8_3tKFzaX;|EnS2CJ=6<@77E~<@d5|1BdvSB|1(tMwLR#>(yZjd0AO?tuE>; z*JUf)`<$*;?5*ta4q*9pYMt+^zFFxb6%N*~CO+#tx8}aXt>3Q6vFWDs-|aQOjhbxS zF1Te)Qk8Sap(yo(Pi6a;>l9+y71;*R0ccwH>rtsA|-OX6* zIYF81Oe0I9JK_e|pl7(g*8P+QvDvMq>Eadz&1r zD>DfbVgL1B>x_1dh~#1Ri0hdw;nb#06SE$V9HOc^ZQWeI$c$_Fx*03WYYQ0b^QC^< zFQX=RO<=rozji3&e|=>9&o3t=G~h>0&aW`TXLDik#{yMK2Of5ZDXAH^>#9fcOEh&m zc66(5ZXdhsF7xqP4%4t7>zI{%av*<1KRhkak799OJ{$1t>uOah_EC&74 z@q8fMhh1Ify}RQC_&>gzdCykI_ICJa$#GMg^4bdTZbsx8MMSvV-QJiAtLAvBnc_ixoSQ zsT5D1(GSSmH5|jz%&)td{}cDGav6u4g@xUC_(7X7=Vva`U(RWGihtMLs;X_dNMn1_ z?a-#1YIe4MRxIiLum9Vk9}J#I6615-)gdX_(sVnIqb)Lgmu;pBcjitiO0K9DjmgNQ tY}~ugm1@~Rbvi4UX&5|p!n&JR8I#Y}7YyE>B%&3Ps$#m)I>~Pj)`Q2;^uJmthMXBjG>5H6{@?QeT zL;HRih!}SJ=aOgQH5F2meu9Fd}Jk5rwbg;N36mkSHNcAU*e0^=Ju z86I5Sw%enbreb5;k6U;5Su+Vph`*F1iZmz`ON?j|rHbNc5*329Xp+N??PIkVR0i^q zf~1NPUgKj2ljDB+e4EWx&})a)FYn*60w?|~>KWm4E+|`=6@(6S-`CH?eXl8MN9d?Nf~$<0TW3QYGH17GdS3E0ik?Bp}UN%7w0eef9sliR=6D z^rvm%Qibmcx6(NYG*}9YWE&Wb!nsOO{Ay(?7U-zK7R*ZFxf+Bbc7)IbLMyfb;MxD5 z!3f^_YkX*;j>`FxXMr9mR;EytAdxRz6hphg(&()?U@Q@&R4FJcwY>3JreO28>Zrw`B4ok; ze)#@-ONR_I%7jHN{zxI_kP%A}@k-AajzJY)snYk41dn!@h-w&r-`s-lYr$-5kgvd9 z{(+CC$MCrUbEuS@LpP>Hw_GUMzcZ^K?g*pW3KM7T$(z`9%na^D3Myxkl9u4B=wvEI z6Zv-mbf$Pt%63N?U6q114ZOD5Q#Hy&(bzwcV=Cj)b>tjZ>4v`GviHBO)iD4V73NwOIJSzIuZQy+#Nqv#bJ-jhPK zA!G7JsV_<&CTZ~e3w5mi-?4r|YyTB?;YGEQRbe38ju3h8!Vsl-y*ea zL^!P3X+*4Zr5JM3^sp4kQDW0zgXc!&rd66d2w(-vKg9h=Ky+q;eg5yRxUpy8PO(-h zMdVVW85Akqrzx?JCq__X8;It0Fa=^6{0ts6-dpJ+{2LCc)N(=$DxBkCU@y$rkb<Y0`k6!*sPSo_hQY>%UOsT>g zouV;kN488x{DAjF_V&O1B5fyUJRA~}sS|PBS?d%)U@lhH|K*T|_Oy_=_wUF+Ovn1n zm8WP8x+#Uqmq~o>(!dTbw$r+k4Z^L{4){0VS~l(#$>3%U%2Z}V*4R;$_myy!*HgA& zh51y7gN0H4E?;eU&x-8rN?^HPk0sB`J~o&FGTT5>9VKEoX)3+{JIlB;#eELNao$Q9 zJKYI4rp5p!_dS(GWJCSpRQuw_E-{_m~mXgFq4WmRYH!1T9)Q(P?uT zQMlBr4Q)tHI08fXK^9NU?7uZ_@xOl+lv0YOc!rVJPkdp3Dl~ABu8{p5SMtMWci6s< zC$JoR@}afVIn%14z0}P9806G{H@kw4u?S6(rH89nmJCgRqNgJaJyR%Jf^C3kKd)bp zpyWmLt53{?ih3GkQDGM{5iw)j#T~fiz4G)?W_H;AZ`lixI%|xAU9A){U(IX=8*`C$ zAs`k+OUcP%h*ADcJ#-xfGVi6E7`b~c; z?cW@#fMU!km4}u7Q6dQ#+B2Dh|Sz2zut4}_^n(m0=;PqLqUo+!mx`3 zk$F}QwOfu*$d3IJZA}W4P+}85*7_LoWYH99cxk(z@ZS)1gLT6Ty5?4hcrc=3uQG~= z*ewz!36$G`K+{jV#Qrd*K7X&LEsh8)^x-@`f~E%s%qaWK*FGnKi+92Os^u3p?{2>c zHv6=UNiu)>FTWH+{Z`|s*kpp�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

    t@VK7J4qDrI*Rjpmf!z!~F{a5592KDLT; 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 literal 0 HcmV?d00001 diff --git a/docs/static/img/usage/divider.png b/docs/static/img/usage/divider.png index 2db3c307a96bc2c2e80078e354fcfdf2cd00f522..ddd1f5b329c4e2b4baeb691792a963139c0d376b 100644 GIT binary patch literal 32546 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�e7biJbPv1o6_`P~nJWRQx{D!(G@Z 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

    _kpa1exsWN+jdqvw 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 z zTQ<=fE-HM+I}EZ*3e0;!-w2c9)wcnq27-p2G&MCh(e`KHrs`Hy*HC_>a#B1tfyv$? z+%|o8Xnv5aXf(xs&uc{F(9O5#=~wmscDmJ{8G@MHeGd%n$F^*eo_C2X_&K}&y&TmX zyYik}yO_(|E}sL+!cW8pLsGo7ns=0J2}0C>Rm^=Xnanb#Z(Af^w;2 z0@V8jtzTkJT5fXRX- zB2*tcVRkp#s88k+9O0jEsGq580c`7a_xeU#vM4cfwLw5klzV<*<6&zf&Uwn@<*Knx zRM7Kod}uSk-N~UKVqmw|dV+@*+p|{isbj_21h zp`oDtPMV1fqB-7-M9h&$?{DNj(8~ps^~9jiI&z!@bBQ3xS+viZG-E{~#9d|udw{mT z0@rq2rCyWRQ1P>T-kNq>x;z(KA`E$J!MZALDU!5lm8 zn=lc1n7(*8VZx_N+t|U+Si^Uk3Pt>Q^mJIbJJ&T+Q_5(uH_Zv?UQ?=Z4g&j75ZM=6 z>;-m)CR$NqM06kVG+?zWtEvJ6Z3YF5d!$uTn$;(*c1`uQ4b33r$Y#vB5i}6Z8AMof>OJ%GE_OXM@5vrS~bKoKHgKPd4PQSn!&IQ{& zW%%#K;tn6umsv{(WcKI=@JjEhu6`cR&W?Wnu5O^#Frlw$-ngKt6ZrVZkZ^o{bKj&K zhZ&3E^|e{l(cj~~?~KKBiG8EpZToKTnx8$;^KC9cl}ylO+Srm~ym{}8Wpav*ho~yL zW=~tOVMH?}Rl3aYi)SUF+r^LCyL$vkQ1|O!Ps)wP$%nz|gj1&Bk*W1`*i6Eo&i{Vp ztOW?d`#erd7gCH*O^orGy^HV~CStB+qq@7hZN3%{BnE9)b1=w8m{W=IPM^H5_Q!~j zMZ)Lp>wYhE1rO?hLEh+*@ZbZ+XlX9qXlg9nD3Et76;|H-1C%VCFguQGc6pOIzhq+jLu?bsM)!>@ueD2HA!n7Fja;INd@_Gdp$F5BcVPY4 zdc%)Z3!_#BzY}Xj3f4Fgqs%XW8aIc`mz(Fs!wVOwAFzoBvd{@?H*oB)MOYeh6*Yo` zfmD=EFO*jPQOCMt>EJmh29_8d(~q=RNL={TnEdib?4$NjKsC^Ya@}85*t^c3Kvni< zg%H*|^MRz6AYyP3t_0XwHr@6)X>(h$N$ns{=}Erl-#9ng?Mnxq0)sq($PC0T#n9pn z-owxQ5lGL&krdPQgMF5ex<>A*5N@nVDBgL1j>HIQGNRpz^ECoRR_YR>KT+%P=@ra; zF`AIio4LGC-Pt1}28R!V3e1XNG$V;NrHjqk`)f7=y`=zW%7|MqoLr!Ocz|R0M<{{;k~OxSh6=w(`3)c32pv z0d_Y2A+4-a^o@J?IxbWAr^5`6V^;x!K>~&+9c$Sx`$n^bb?>MD*8(KKqPJIg2lp5E zUX7WeAeyfO1(GBP1)9VU5JBy?;Igx+VUxunE-vEJmqm2S`Wi4q_@y1tcae-;CPqX? z7)M3VaTj~Ee^E5ZRsB**{!?7Bpf&TmmA=*=%kP^CEC8Qj=SdJ**ah$W{tHn4U;T&e zQ-~{>F^2zx;gZvWYaJ|clp)buO9^WlW(Y?^4}Fn|^XMzOR57J8tRGwSEwnC6|JrLL z0&GvkwvboCG?^>@!~I9(CuDYf_V>=NEP8&fJG{Rz!hbQB_mRtg(@?p;_yfz$i3Oc8$3CI8?(?K9sq}uRkfyi}^3yAOeH2 z=$O$M$GyAnD1P!XuCA5M!`6J66M&^aZADAVQ=_WNdbek7U8iH9wZFM#LF4V8xrndl zn;mZVPol`hx3_m-!?;L8?V)F!OC#YcG(Wf<+R!1sRpIaYR*yr>!FTg7GA3wbWBzN z{w*rB`C*X2v6prKN+1U){RG0G9uYL#@Bf#f#Y~i8UkJt=!$z-2S6~hQ%B5&kULTk@R1ld-NeVaxJq;@o+atQ zgy^@X!;n33G(4#v4y*BD^RA6|8yva)S_g=M2-59xEL9x zum4x#644!C6v8RZK9T6Xe9$83_$gsdQd)`?`yvv@&_?+4Diz`&W-mL9t_7`L(mNQAReQ1WcX-3@_U`!F48F?V929Rbv82 z4#n|FTI(3G6?UN11QS)=)mY4VwnuhSFd4F7mshuZx080=D*7sUHT&UD%0NVNx81(t zKnX8F?i{M9b>6}QbolA4R=5*CF>m5A=ntqjX`AWlF zgG?g59N+qOVc6hhGiexhVHh_~Q+?9IZNL2|Hc)^brRbL`*ejPVU8S>s)^}g~PCU8N zw}T0z^$<&Q`(I}*(h?NI4b2!3*`2#JBTfFE(ShEPgCBz4uNlP0KaB({MH!`qZl}!3 z*JHXW^;4SWobey{W(#Ve4Jx=?;tq`s%Z6afXITz28Wt)JSzO4*8`#31>uFpnaZ5;F zPTa=z1U)WXOxG)|tgOr~{@I{&hQF$BYFA#FXNKl>(J*lLQ}r{^F~F=wZ*AsH8|$a8 zztLW$6kx7+UKckMB}H_1hl$)qI+n?iWW`q)ptdU}jFqFsLXy5cz4etZZtJYxja!-u z@VVU0jKa#*FVr>2B5e=4-%qtq7wx>-E7$31^FAA!Vh_3-k#+9z`PJH~OlvFf%6y*M zbD^61!l(sjR5>X>ia7(ECOu?6Zs52~;5aQJ%nAdI+I!B#HMe z%pDn0tISuJ$oI&I40v;6WzPU*&xJ}I?*%;P95Ermr|EOA-V<6wb(EV$3RtdWmCy2E zxoPhl_#Mk{3gw3$(JJ&67L*ufww%%7!?pt8@Eu)7DQY1PUJ9vMY0eOz%0!yec|i~R zmAH}HcA>_EU*tUjt~-+hnTRH=@kaXj?JdnNip~DAoxZBAUM7uhI?Wyi?GJHomn0LT zMz2q>yZbcB=8y`)8RuAAZ3^b}f9bFddLkAx<5^lfgJ*W#=GYw(=mr|3=$*>dE{1~( z-1isqlr1OPHOE%z&^JzS4l4vmkPFLUNDm4mC*hkrUj8rx0Oyf{(mPp~Pf=NpJxxWI zkSW3OX7eYe6e8b@;=zKH>>A&od8N$37$}EXjELrtlW6Z8>ES6;Eb6}zYMs-AP_LMv z$T711DR}dE+rn}fbN2aAcQkm_&}p<>ybCy_X(q4K+BMO>8BWBZ3zm>N_yJ2dhCD|4 zIaYK647c#t(@A4`69s6;Hh&ak7kaoI$()ga3SEJ)wp{7n^j^>~1Q|{KlSCX6#2myM z0!|D@MD{I`qZ|P}D&^466igkt>UXiT$ViKuZEQ?#8*fK2_-%^)87n8G-Ez&i&1OMO z7kw{jEpC?A<-odlS~1upCMP}pa&GJ7U)ytV5<}t4KCzo5&Xp}}Dnp7LGp-!h{rL2U zFSA5#IQau|=iWro6SMIG%Xt@96X*4?leP?uSF3XMrZHFbl96@urWu-_gINOG-xlz? z*ZeLuj3^%-ZB~q$5L$QtwBC0)nHe;!b?9zpaVmCt3qj(knHgamHrifM@oBTqbrVkP zvCbT-nF}Y-N9I}ayL|;?1*`h{ zS%JJfzBXQ`{|0AyIYC0PSUotXAr1npe}`!L1c<`L$9+2D*^jN0#rPKXa0bl3ICJ>9 zB#JG=LVvz+V`p^)b4(-BZLuLhlZ6{rCa#Xy$YTc~LpW~kup{4j#g$|lJaR^C#1$=* z&Z1d=f(+qQe$vA2dNbyOO-cPHrD^lZ7eb+k6N*v)v}#U#F@IQu%8{C9iD$V zNs?bFG1qIXD3wQA>t_X|B|T^mD|RG-DangQUbG49DOmGuEYMO6{B7KCFg;a|9-}RO z6cm1pj52jn*e2!QrR&m(i2#xHekq#`zvqe0)*sF_tPVA-ld5qdZSK2Q=>&i$!K>=q z)1B;j*JEoddzXkX@7nqTo8y=5CB-lH#MM>6ut?D{vzc;S!5xqk1*69H%v7k}bPVX< z@WlOh0*&Z8BkncW9uLs)fIs>0FHWnXA7yt5FkGfUicpqvR0dMS7Z%lAvcvBC3G~)= zn0NGkJoURx!PJ8IV1eus4YZ_^OWHUFLeoq++6v2WF!U(k0!Fk17@rLI9ZG2Jl~>-K zDRnunkOR9gPXz(BgqcbcojPTQ@lAug4#De-*}v;k2jqdx+&-Qbcl&ocj(f9Y3s*on zK^FX55h{FP?5l_UeOxw8+L`OvU7H?P*`{}iUO<6yK!sjFi5|&}L+mlG#ZxVE{~c|U z{2?Dh6UlDYEmwEZ8gJJQFDu0+G^4{3+p6an#w$vb(n|&CWE9UF3IYlO_O33HqDh;` zb(4bJAD&r3?moDntin-)Nk|U4Keg2k#BL}ATkKE6?%hQ&#csJcS_BWY7%F5BHg)Sj zpJ_Oe;98KziDdt)6ei%V1Jo1Tq>-{%+@!rP)G`dVgvz#ebwa#_ryzoq8;C0|zfwl=v6+HDiGzx&YVl^>CE&Z`rBj|`VmqgZBwWAPA36Q`-K35yCYX(!FDN}}Wx#uk?XHpE5B zxZBZ7?5fd%kbM&q`BN$LPYHhc{e1T5c_>NQoG70|BSL>ZqhB9=xk;@P6%w0Y+MrH~ zezfUW*$i;>uGiR@S$i1ibY@eDZyyH>M3LdTZ<3#q<6djx>KWv{-xS|>e6;-bbZqS^ z)!L;;T~S*X*j!h=H%kz-YM2`ZcPd)mSE1i{ge%%9ddMBIrrp#3x8<-)+hWflH>FP^Sgmle(JW>z4L?$SS&mHu#@S3>~7-0K5h7WHq8*TtRx;pr=b;%K9#ad&qQ z5(u!kg+TD&!GlY12`ugs7Pk=GLvVNZMS{B%++7w3`ptXmySHj;wx(A8J!jA9?$ZtJ z_*WxJd2Mb9^Ik;UG3D8c$b*N2BK;`*Mdz34(2uz34SK808|v!a74P$T_;jBTo#DXa zfG-0xN&|O);QXEPhtCci%gX72E0HK`Q`KA)I2#FcLEj08jLzgO^pQ7Uy49LGL(Dy~ zz$&ulr}OiDIy~@;EE@Ei$uLyi*bx8b9ABD9ruT#I>*+{AE2*mwIy69lPK5;?qwX>? zRP$GSH0h5^7iN^GQQ-^oKg2}NjT?mgZY-KJZFE=cuVv2DWUz)@ap#&! zRCd3|Vr2Hm#Cu)M#Dla1N%%(hbKqS|0~zQOc01QhPY=xSU3#9s37h08^r5}X?xNKd zT}@S8Mf)cbucSHtd@lzt)2laEt2YPFE5-qrhjQngu-lfps+_|Q>+7PcGw)}YKy*&W zHVKVDA3;;KIa^Zt`tQ7O;751?(Ls{YjU1@EI`e{b zaPN+ULXetlbhOm}4Sr_!+{i+K+d7)5x^W+_GJ2S{obEej;^qjwMwY|{$tUJsBE_(f zGmx_oosFdS0w^7V@TLw{0bA-F|Fcb98Mny{p9FNw&><;x}2%Tb7ej zo8#NxHejqhY&&gQ3V}gb#`f}9%@t56Z038c1qXm0f&`X1Q+)!eYKdldU;Aa)bTG*! zd;=Hiu>2;&{ZFO-p0wEkz5CI^$+A|Q4ZHQi3keAocG$r=d#a%5iLp0E?#8fNC~6_++kg-lk$O-#Z>u5a*JR4 zpB#a?Bd9HPJ>;P~44tZgL2^;Wpi>z2&58@lB{(RRFfafutj~#q5|_(Es^ujuZizjK@XyGDrHMFffh&mL_VNX;@7c zl=JX%_=2l?hkJ+7Z_gt`_=ikoJAA=Zy_{3L9elkNcAh0Vvogm_eRl4D-uo}_ELObb zWIUi{LutXecbzY z@|!ORoQX1RhkPXnD&~`4Z$*_j>*fn}T9sPk`())l+6R0RQynZ;<34eXmkdaTf{7CH z!>J)}nax8j>{(Ry$i*n7z*iMsZ5=OSSNn0R(5UOeWnj zLBbFenMRqoPct_vA`Qkv)MtA+L>g>wcRUX2Bm0w*QNJ9_pMg?^cG1qD*z zW4OZQP4e^z6j3<{5%EZrA=K)KBUhrF|5gljE&2I(ZS3Uq>)j_gb>WKws<+zQG#EJd zhB~8&bOSXh5>FqUxPtB{%+pL#j_B}0?qUz2I2kCoL7sw$tLEQsujxX}oKTrmBq&hU z&dPlVH1%j$NRwmrPvDWj@K=K?o@(aeTb8$pzjYzuo2<$N32L4(p)-Rn{Ki{k+y^CYv1NHFDKh$Tt5KGdYGvZ19!YkH9ZUvNZ!#iz|@MSo@I-8<6p ztd5(0E5^ICaaEP*wJz}KG^w%gO;4Cp7wqicwG$Q&&YkPs$nM%_8z1w0B|7WU?Mqdi z*{9vPR*fVoylc}K-XR`Ddb?dqbostl5I(W1Zh#tkynGKPfS}LSbgF+229B z<4K~$RkcanR$V3Ir^drO0aFKatkFI7A&S+45KD9btgzGbAlI>9mdS9R%0n&X)&!2J z=uH{tw)60Jy-fi}A=t5a6wl5i^64uZ9VCIMi!^-Gdlj8dJfUKsg;_`&!t%6uvx!V@ ztNwvoUd$txG#IQQVE{P`cX>o=GDpoL$8A=xLVOEl2^4~S&sB;-^}A&4g}+pPb3aiv z{~i;ncC*VtI4Nb&>4{1%sJzKXQ3%9!M0N)@Ua4Uo)Na60w1#=`{`tt0ZEofTS&Cr! zRB~g)41g6$pVK}vB;{`lQv|!%awQ^{xs_OmkN;-lk=bBFP~Do6CdyCXR-zscnUE?# z1EP~Ys!$%e&B&wuj9@wtipZlk?moWpp(Z0x;9}y`q(`&1*E9y|?JT(akd$WZS5kL5+ zZ&1R(GOhSEOJcO<9B`hb632uBvj@KMTLK`Kqy!DFrd(l~*&$g_ut7l4;%a{UY&<)e zxg?eA;73!3-zIFt*k9P??kvQ~ajp63&d%7+`QMh6@yls`++Y9wn4Ua;ueNseY0dRX zU453y5@PMS3wFDEt%j#`5%`sZ0ln`nLz^x|(uP`Y$}#{!Jr@8_Si&58T652wbd_RS zm%{;1yEi2o+}|p$T>DFOjQn6+RhpS1*l$d6f`xnTJrJC+kLmpzj%LfIWv7hSTdNy7 z5sZa}aQzq{yhO>lmztU1&o-HWfX2k%)94J6<{*aXe1Ew75=G3zx2wsaLJ8 ze`)Rz2b((_Jq+An@AgtZFEiGet+u|m(N;QGkZoX(n^nZsRHSoTEKaSq+v7MQ@4Nl2 z0xw1o9}=@N!@L`<$8V=T(W8rw236^c)T*kt(sAzRv}m`D^!?h4N zIBX3sTv9E4FxK;Ax0gGtcXtV&+dW1y#F<00(?rLyH86*p0j)heRCM17wEsirJO2`-<|KXs%$Kj(|Yfn5A368g+W6|7hJw!?z!tAoN%*$rx`gWEg~USW=8NDs_E0(ng{`sI>l)Zj zF_9#z*XDCiE_#{c$gj29!z7hNW)nekBf*m;6%*DFX`rGUT{DB~$%=qB1RBp5v`20x zI7YSe<8jFoq+rR)bmU?GPIwc8?9l~1*>s^ zg|odM{d_XA1~}WvmSBId&8G$dtIt)UV-#H@1Xs(zIs!)|6RQ|uTu>2}C?!1}?PCNy z_BnA~Tc{F!&Zy;~MWj5_g#j}T=gMBsSAEBK*}RHWb6_G5mnFWS5beAaVJO$xe=rA; z#1kTMe=+L-{3ZGb64F+P@9iIzGhm%h5L2G?W-%y=3oh&0-ibvF;kPkKiliARY9!u+ z_mV8vG&!|}M+`4PezQ8AM@80j*Dp9W6tM@@;~eIG_f2ATVP<`ScX9z-*yT~(0pwCc&+e^m4dOW zWJ@m}eGd;SCp&PNG~HQzLpG(@b&u$|FYK_t>civHF_-x3-qmiHV3(Kc_3c{OLf6y9 zwqO{f?Kh9}yEtR@v8rN{xeF$-&f>~!V~xQoWC^UaW&`?{S9ZJ)8FH7H7$B4N(zneY zbu_fFiOt6O3~+h^vIthJnwRCoW+piXCk0BDQ+lAy4DhPQ)wn3@F zBSACH1dms=B_u_UL?Y3b{jHlEU1X}7QqB*=Kov*NhNAETC>nYAEHvCL(Z{88moVWC z%52IG5mA?~UPl=KO`;!l*FB=T_X34zWHzW%PrE@NEAtJPd7-1wX(t4^yvdQIi6lhOe_anaZXh4+ ziGnT|d`T1!F+D?S3i7b0Q`y;eO)hjNxa?3$F8Iq)FWbG_vaQ^0?#{6jDv_x?iL8APx+hEK zjVNtK5`GuC^!(YeDiwG~e(TbcFU8b^kJ6W<9zVo4Vy)K*o~f4lEJcV8rJsr`-=(2nU7{@3zMWp9!oRY}g&ntt+f)MC9ua0WYvzSh*szjgL6q zhi&?o1;m=_JQXH;Yg?jWXs|ZDG4oCn8uDjtrewv8W&Hwb>Z|Ot@y^)!@y5M*N3TH> z?-2dm42fCG%1VUBs>)7JPsn^cY2`j6vxm9J!SJF0?9tEIXu7Tzt_V``6yQ7x+MqaagJep_W0 z@KWw_hg`;@{I3>Zbp_}Y`0-QlIY)a~&CsBdZLuR+_sDdRCk%Lz6FvzL8O`QrX29YJ zJ>m`t51bBqieLF9ia&Nc!!N4shQjYQ0l#%M8}32}2?qTP%M%zy{v^HHc(qUC6YCcb z$rA(oKzZ0>AiSVoKP@Riv1zGwpl^?0wd2q}85~|+q;y&pCTyvJT}=y|@VrmhYZQ|q zJqqLBnoZ2_Vc!m&`ZcfUQa%jr3e!RQ(phU!^=|Vx)WYld;I@1-ISUennFmbJ^yRj; zrMJx9W_PQPo(J`SUHLwmn(`fBdS=2`u~S{C6D5x@-`!!Zi@(1=yMS}g{it}H*ulWG z{cJ|V?I;F8@xygoKS>_3AW#o0*W*m8Z{mZw*LMi;UHl89jb7~pmIqI2^e5wUB>F&9 z{k`y6pFkk**Ub)nMqI}U6*0gHF~`&Oad{!9Q($#%dG%s>>5NiGT%&ySo*Jb|uVUS3 z%Aq24HiM>&1|}Mj3z))$xR;IOg2`|E%R;eGYKhXK5^SjQ`y_kMV?v)5#D3%lIWtUb zD2RRcb`YpAbF*|k8E*)!d0dW>iIV|iLE$N|C227)TC2IzFEDI_naHSAKX<#Q(y23? zxa(_{i;1<=2$d`u)E_n(kW?&~UbS&Z#$h8k^T>9yH^ql+^58D~(!zoEXK8W{{+_nr zQP`=Ipx<-FGfoh)kKCGg>(gZ)%=F+v%THdk&3 zRBjNZVy4w|r`&?s75TU-R(bb{s9Sf#38iyvM39pZV!c&twkaxZOg<4wgp4WU8)R0o z9EE96T%Xrn#tNd}bH%%gtNGj8##mrn=*$iZ>dgCl7BqfK(^e911Hh1gz;d#oz;7>n8&LOay4h$DZ7gshH^-y%A;XW&Qw~bPoQi+<&+{9NAhrJik|{zfkF& zbt~jnuOdgNizUY@hL9$NAH{4V)*q+55pOby!J#u>|imx@=~f`i+*RgPfEPd#+ZCE&VjxoQYU_ zg1O?qpSH@BS^oW%&C6!Bx#*_&m9PEJ1H*irjc3TQ!>wN9d*;v;G@gYGcM2wxI0f=* zn*c^Uu*?`<2_q+?X7DCHXIL{;xNuY71pH+L(0p3OfR%qD*93`J6Z{l-wTL?VE;cG0 zlB1j$2ms%lRPK6=j{3rQb=!;|U#z<^iOo_u;1&32WNP`m+IvX2P|b##4Z2WJo7HF_ zK;xDg^=12WSj)bPL}vFC8G%_f+6}qXTpHtvOOvw~^Q8)cFR1NscKZnj$&5^_Jp)CH zT0&s_D{kx)f!s?ZpUeqUYKOfDZ4o`5xg;$O&ZIh1pIWGcM>_ugJl zA-GiHC@4A4Ncx*>vA@r^hdoVUsH!-hdS?WeUC8^@Nclp%5t|dMXwuQQi?bW8g zy!xWG^t+f|_Y#ZZqT`vn*N2Pocm2z?GqxC>nc^vibsaU_ zqBS+GCbMi=Bq4p}hG{v?z&_>*>G+LDQ~N*f*EvO6Ck|B)M-8F7B?(Ij zZFaodkP59TEmG`OR;V1kKL)y50^P~k_#~4-DdGyh^v_r`X9CqJ>0s$U;e&Q_*2I`A zWxT@;!uhsi=5r_pmIo=_AG3A&u-p$96R@3eS_U)FhqctCXEg@l3_kG}8tZ|x|!Ai0$R-!UkWorUJ85BNqs*dA= zZxnJiRH2)j|1_y?WJs@_BkR*fo1Feqi14yHB{luo8I&Y^M)Z?f%kp!mjh(j?Mlx%u zmwKCABe6P!P;(DB>Rd~ne5tFJd~0nDFR?nwu_YLV{7%`drM#uCp`fgz!6(=1pdk;l z?|J{B4F$MRS|@Jm?_3+)vJcM!fPbX8^~a0jiC2GE*+@!P^UYFNPN&c2Y2F#Hi!*yy zu+F7ZmFCN1nH#ZIaI1HO8k57%dinHpX){wl#H!Z9!e2iUzrX74E$85ctKwa7&CS+G za1`$gMnb3e_U1|S6zl5MnH)FfXrJfG#SH$AUCPxmFACB$B;{7&v@&--ocvNKdNYX@ zP0L(^77@z!Ujb3c`$Lu-ZHkUjaLG+`8S3YrGjiZY@#Lt%WYULEN(`Hl=2k&DEFL^p zJ8UdWDr1c7e=M6>2b3;TBVh9sK@vwPWt|T3Utf^`?C|xzsp~23 z_53E_DdYQus7K-X@`7;%=lJ2=ie-mv(dXjEc>{Msa%{jYDDJ*-VZX|_6Zl5w?ffy~ zd6%f~?m2DcyIAB*?=C4TK~{V3(7xiE%OW(U2svw}z<-%WQATYw?L6-r`Gjjlcso19tUf#5+e54;m1TV`pmN`P zGTyu;KzbKajz~s5yzG|C@?>?D|lVJM#TrvJ)u+#ab-$ z7dq=l;%06Q_og5_90UQgRGyx*xunQLGmsWX5YTK8EdF9gHPc;gHy#C|Hvu))h$BFW zsKP-%_};yvz>sC!B$6VnJsd2^VmT2w+cu+l2}U$MnN-a*>3)2X=17Fo0h@eAvI>Gr z#SBVaa|u*IALr;v;9UW7cU3pbW zMM-hFh+FG}s|)~rA`ZPpVcvcXrrILKgi>Mj37eAcd5dJ57n=k%cP67g5iqFN{Z?Rb zB)UR&<8PScfhXR25TPOEyOaaY$tPdps@B%6BtW?}m-BRrICe`yfx&FXB()_((5tRi z1D~2IK}HY}5;5r+F5#OH*tgHqYEO}(ybV5Ngl9+EB0IA}`w$_-(OM8%LRn{?LOM{z zscdAN*3uy6XYTa?u|3UG;ICMtS~F;GYx!nnw|REE^?rBS?|FcX`(tt8*op>o|8HmW z-fHnmW6GI|*aK}jH@p0Y22kH}v#H;7GstE!b+$_NV1B@L@Y2?Dj^k(8h_&Z(HNV4Z zHhFpDJ&JTu*lh}Rp#AaD!yENt=EVk@U%>SxM zAtqQ(C`7vD1JH?#@XiXEgF-wH!ZQftM#9)D*+XnL5+sH-H*+!o=7h9o;0;L%Wq3;n zeiJsXw+$ba)W>gCIPUy?*u2f^O*x9^Up2V3gGa=-bCdhDRRB-UQU{G zX-3q+Z&sXyjMjWgGQn!RkbidE%fX6GfdHDEu{=?TTf6kEWJwAwgQxpDu}8D-L9>62 z`cH{1Yjp5XDf)YxYZ_TgqDf#hLEM|bQFJU9BnsxKZwNaCpOFZz+D>$ba&o_QJAfD@ z6HBD+n|{8&w6UxQ-0d80zHEm~_xQvAxCCBbj5Y)PLPb{DY0gqQKZtqO>R@>q5;Ec% z(bDW_WtEnR%`w@>D@gN1gzNZGOmkNq@pTn`W+wW96f=k;Its{KGM(j>FnSiD9OGg9uJKFgUu z;4uA|Tq`{ZBeCo+DX8aPWomU}c$$ieF%V z1^~}}LaEwugM_j^;R(rZEPi3bIopKws#Sb;yIzKYtpE;IlpYUgN!GGD{N7vbRAdp<)GMqqB-S_ZH+A9B`6s)+ zlHt`c5?oL$E%KMda}lCjn8BNvNxl!y#>4y~Aq`TUUYfsK-pKHyMjZP^Qcb-$y|lDE zH#fhwHb1kr%;;pBf>H1TCE~Z_G_%dI%`y1_71;sR!4Efu&}qmKc_)4TL&78p!QAGOLXMYwC<; z*}+7@_BC=a)RNf+h?P(_LIYz%uZ$a7Ae2v9_&G%f_@(y8y$ryZ3_ea2Kc9?Xus4X6 zKn%f5>?0vQ1ddP1Oq_2A%X5@7W5DsR`xh;vB2I#8g5r$GhvMRt-qrB+Vgp(q*T=0s zC-F4z`#GL!g;foXwH1T*GL2|`zPck=!rYR+U0oB=wMQfAd5I29dQ*|XgG`ZsPhmE) zdw2tA?1~XKEd|`4ms5d8MPq!qai1enukYcvJ$=D7qtga?RT5j5J= zZn*iqx%Svf{fE}DwL-Td)44*!#^U7BVVNk~Kb3}GdEfk$Y!flj_{XuL@(eL-JF6>x zxyHCuM_2~oZTnL`#bc_m-=Rt|bACYhAiUbK9Z2?t%b$SNx!p#GlQQ2(d+8l7c8X%J zfi04bhFqxM;EKx!ZO_c1{J_|q>JbXp)O>i{?>a+JO(rzb!&<&HrfOd?cdA1;O;g7@ zY;7Bfr(J|MLOLKMgL}Mv`n@M8_YAgWhvZHui`0d(hER$S{C5SO^ti$16Vp^j_|T)z zA~isXvYPQZ1l+5%%>4S=4o4+9UoDC*gmTtL3O(RV5h+v%rubw6H8Jp5dn^_KTe45# zUquP9d6ANHzX3V9BIUZ1sFfnM&}3zntCrc##E#eNt^mLguG7!ExvNWO@!c*h?ax5x zt;3#~zUQL2JDfX3)!WEPC4-^DQSY%B_7n)Jw+yVoEve|Jj9nVmpxldMGz+b$~RavrJNb?9-hIOS9RrA#Fc(3rkmI1%|eWLoesNQlBTUVavpqhGQO*?9@A zOEebgn$PIdlnp`5gCR|wN|ml*I#pV;hn<(LW>brqw&QaBihmnEX7fcnDy~;G+{I5h zM57s)NNpZCF`;bf^8LS*_%@o3UG<}e8_0><)JeZlyaWC$_$T7!nMxy7c+l72@J^&HQt$uxS_Hb6 z7k$9zjo?qgk2eD5WM7zZFg6Gl9hs5qm@)o%imU9W>VmT1)S>_E*)rb#CTu~<$}3?C zWnmMO!6#22W=YM`Y)@4onU44kTul}^L6p<5=q;~KZkZzMuEP61N z(V#fO+eGvC#r5XQ>Uz7IInOBI_Y%PQewbz(faw#KHppc}c{Gunm!!}F(-b!4HpyK2Vs~=NoS|LeGU@#h71{loKFTVEf`BkE(pbH~>9ppPmpZl~YF{o!WM z=JqqoV_V$ar^kZc&6l$?m2pd+)lTQr)s4V-9esVT*1W<`YC7zd`~0(-bK04uRh2|n zw#Q}cM{iXXkg%WEsA)T2$Jd-HIk}W5-99z-5nU`-S5soPomkERBB6s2O2JCshfCC| zuGjIU8q|eV5-q45MoUoQV&VGq+vG-VOV`M+MUpX|R9F0 zH%yZz5b0VFhcbi3kog>Ia*^!5>^YZmY_T@!>6avpDrfR~_%?D_%TRdEz()|$Z;frq zYIky}K4*gOT>T2s^np$BbAE?H_z|8J?ubJMD@Iw`m1AlAl>TAx*g^_?-FOK|7uK8c zza_6Iq@1bUs?p0*73)OZU75*8inc=yTv$?uc2f|7Zd)Dp57lT;b5A!8Wqfq1 zD7h)5Sb(Hc)Cjfk6-?Z6iP~&+W|p#SD@o%ja{Skg79WRRjD5#)=c zWWsLPYPF@$VMz%8@^viBMNieouF7D3=IyDY&5^Cmk-g1PAmi6p`xMyC5UTg`W7}?r zp+iSj?O%5r9lOMK1y$3h1Pei@U^z6c%pZ|fq zRYs;U5F8QlmSoCvjvs+$vDJ>d1zXn0*uZy!QUN za-8pb|JSIcnyQ6;r;>S^gQfwjmFW?P-F`X##L}_nWN-nSNH%YqWw}b5y1j zWO1`I=fM6jT?t1aP_CLPXjQHcZanomp6B>R>;%YC27@fi)9XqD$?R9NIs3Mdb;b92 zDtm+@spcye`Pki0OEtRA1bUUw@z^)(Sf91sCM&UpT?dt^-p1L8?o3M3ggSr?U?{7J zAtE&kOxRY^Jn98w>+IaGKE8V}j58wQ7uyxAn|^C!Ta z^keiNYM5~6Pf2m?{%9%R8a}83X~&}Y-77vWizRr37x#XrK2RGcClTwB9$OBPE+9s> z&juq5VrV_L%YiWg*j~trjI#qf3&K|1N-=>^-awz#K_2f-uT;cFB@PYZfjX;{L3jk7 zmOmXL%~tdT8}b+_K^6Z%jYJx96lg7YAJc9e-|CqJgjvBwC0;Cu8VrpOm~-nAUXe?g zFi{Nj!ZQ&`NJ%2dko_29CM@th`{Q`HGKi|0LnY?b{(7J0b+xk*PknLF^S9^a?8V5& zsp>)p;A4%eb8HPwX;AcvBXQE4UGp!~cPA`E&jbsLqs6)49 zQ6|K%TC1*D`SQ7P%)X*pqTJ|i38p(Kv%QHF%FKFSZvBH{8Vi{ts)bK8)O19aK4X~a zz%_H2$-Ljdw(BQ5$>$}GtZ}t8C3}{X#Wi@6)BNN;UlcPwj&G2`oa*%_G8yUKp7Tzh zhiRV6;Qz3oiB0-}Ui$QI509%h(UyF?EhPdA6swsxjg^GVRg%1*Xp@zZ-`%0rWNA#l z(5Vy&)LGHH32(vV7Y50BJx&VAkj;iV!o;{4IZ863gkKlBMCjhDZ~NzWyNr)c&upCR z&JTgtlSBLSV2Rbg^KYC^e~yT(q^|&5FUgzgJ#cQ_G7lYS z4-#-)8xWWwhvZLRBn`j5uPO~PX1Cu_{6g{7rKDYI{x5S9AfZF`_BN&!Uszc}en+^A zPl#aDQ5?i&yAkydVF;SZ7FJv1kL@vcrmh+vmAuydy*^BYn$B`!yLQb8t z5Xxst7UcLS^BI2)8u0_s#lkVfTCnNf1twZ&t`lAOGE47IT%cOezY-&t}+0WoFKOH_u18Zw0YAjwy2E=0Jt$3e%lAJku z;X$Mg+Bi@Hd2Ui9_#iTz{e0FtJn$9>sho@;n8fse9@2Xe5oU5vq4PL;IF?4%;|BgY zjSi#$0@|y>A9&$CaHul1Lq`-|7qA(FezwsAu`fyHyrF1J-$N0*wTaNx)j1Rf-FXf> zva&)xAASqCyD*{se7-%1I)MN<*qg-KczQTB)wk)3i7l?Pp9obX`>d~0h=U6|3tJ0+ z1sm&(R8{OQ%%a)aAvZL*5fdi`{8Jn|)Cp~;NRysjVe9(le*nl~*Pr*6uX=w6 zXBke&+nxGu&CY5S+zoY8#-1e&)8d3~KiTXFgR6qi%sq_Ab8s2N;GgKSzKlT{;+ zBYvYqkV)P5tlRLFo;i=YbKBU_ch1@bSemiMp;W=(t!Jv zJ?EE(44`qrY&Dz0>!YYALx83h+F;Dj_P{kzorI5tV2B6=#Ee^QwTY&Mtohc&4_la} zVI_@Chl;UY1#V#O?f`o=DY1&8RCr-hLFb+CeF5(J;J?0wij7c+z*HUq&RHB&XI&x! zg|eY>q!3>U?eD}_lPx5UhA>c~0>dzR-v!@>*f{mBTCbe2_8t#=E_}#}w2B7Oy(W>0 zDSp^eJvZ;;5=+jl`<<(Yd(I*4$?@TT>e+Y?x1l!C6`xiS?>0aVzwEu7E*W&~EJ?kR zX@L3M`2pU{odT($osk)3XI9PlIR_cAvqO^W101t|J$%Wlh6i-BEdbxtr15usPJD6= zw79~*x_-TE@*29?BRG-ccigbqWK8M*xSA#i@t(lF%@mz^FE;7c*aa?bdREf0Gu8*o z)fLNVa#dFCEojZx=^Cu7^`)ROIgC|QjJ>NEn|?XVzLv6jZ1ee&Q6RCpJBJAfT72P0 zSs*j4cmfenv(7+X6|oF0tU9*bQ(!g~6788tdn0u5PLTeIS*8&SNNPm5)k*}Jtp+Q{qK%9)+ZzQu?CkzkT5i*8hU+EVvkL3B z2^X$s2D)O_EJAxZi2`B&wJUY{uE!dM*zrPu7Ot`S!2WM~qy2<#QXR=$c^dWNV2@=b zyjLn^<*%hY{oSJjlXeOvY6ymNcVQ6UNfW}z_mNz*WmN8mm>EFE2uJ!g9!t3Vp#VI#ZrT3 zl7uNyd^v9{yZhU&klW07I#X1hEk47Ao1)<8z#8b=a)}t&_NAO-1B6NxI1^urD(mXHs{?d6Jst+ zXwk7GWogf>j@IQ{_T#s2b+@IJ8FLmG@L}$M*8R6vW6F%*jj0~YQsR_xZZtrA zwTrYWRx>GE0(OBVf1{^^v9c8LWrJ+#=lSr36K=;e{$ts>bmgwyhQp7X5`B_kOAgbu zd#Hv(Hi)lnjQ-49<_zK@Ctva4pz2+H=JVy_(eK;6zIu7jR%*0He@T%ft=9)tQJU8k zJG&>uQeFtK$)5b)E-)zlsrZ!;L?QPJKVZ_F*G51vrEs2ffOsUa6eb+vGH0XNTOfjP zsi7O+Z$<>c3t4a`vGU+i;51{%LC~`oO_K)YEVEm}WXQVmh!fIz*EG$y6SP&Xuj_gFLbM9I3+#VTu^A*derrs2;&ZBW{x2vS zm|*KVs6(=lCvcDUjTHWjmV_xPGF^oYu|*$NuaVr&))k z+zD{=Ytmh2wIPTw{p4KNT%)&&7IZJI4Z_OZu+7OkO`Ry)N4qCYo){+999Tv@y|H|zh@gZj3=aAMblc#At!MxF=` z6cd(6G>m6T0Amm@Td%|vay5;k-{P;$$8F^o51TgqvTj74M%}^l!Qaj8w$SV_*7mg1 z{Td$?3OPl8CdpJ_4BW6m%%Ct`MFRGAHBJJ5q6E z@Xt0h$dBioc0IuMM=%pbV34`rw?Z-gO@C~(?2;4-83nllU`=+$0emj6rS3jJy+-8h zkZE%KT$Rp$>=?zo)$mI^o_q^*JX)$88A z2gyi|AftJ=SKDuZGR?h`_LBeB;3XqADkE@<^S5cN2fc)ppbWyGHQx`WU&74VDs!P0 zRN})XXs$FxYzXCM+?pJb#Z5$lRYs4;E9Y1^nO@IN$LAf7FQE&6$qqyTU$m7a9NWL% zZK#0Z%6~d{3jLA#O&2k^Gk&`>#Z(w+9fr?Ng-3| zX@G_Cq(Jvbgnf^bUwiiFq`E_|%kch$KEB98pLUP-NV#9l=qiyhTn%>*OJ}OIXXh@y z`%WEd5LdnICV{1-67v~JLI4%dXZ7zAACU-{rX;XtYanLDIcRP8Rc{U^!wgXXB&-bv zAGU11R8Og0{_rNz+o%Sh_fC$cXJKRgE5ma>=`pAx{X-yZL^=U`Rf@)ERu~ds=r(wYoPhRO0dG~K9_0u-brg5p+r~MPMr%5K6NeA zr_yP$)TpsEg}N261<*aLD+UIJ!TMAFkjD?mTMkXm?A9Ny@Lu8RAhn#R&{fIsx{D23 zxGh3~2p0-YR5Ot+OFUfSJ&|P9WJfV}T&cgiN9mh>JUhE@&n^Np^y@-6El@C}PDwC= zxaWfOfBTSxx8UG7V#i*KNdQ}P+~tdb?9LZ@lS%Lz9CYkCy44{|M!UF4P5wVclk)1) zLSSpITh5$dxLRg7?35puYno62Mh7RvN8GV2nt|{f9rI={#S$(&>%Qc^D<$8pj=)Yn* z*Lo^ar1f>Od|Y|0&2Kv@;ZaAMRIUON6F#w1QxbjjHQ#orbmd~nt$01w)4@Mus&H+d zU0Zo2L#2b{QV8&KA;<2=|3H0P?NqZWJ-ORp-9Q-?MTlEO`*(_68@9xJY-EY&2S~Qn%w%l#Y#55rVI{&7zT{)Akj~{-mRFnFamwfE*nD(FypL zlmTZUK^oZ~6EtMaNW4dFG7i(7R9*2u+)RxPows)rU7pu4Oergrb?@zpxR={YQKt@3 z*FAeDj}P36)e@^SQw#LRKO%vAqoogdDo@7}qo@Nj>*}*lK>nP%?&>7#rXo`?Gsu`> zM-duq8BvTpU9CCIZ0Gpeb<$x4Hn>YWebgI=EfS#Tf^mjoGSl8f*2*>xnvdyH=;1_0 z)47aifyagSGZ7I=S~Tv;Rv*q$7wvXyMpf#EGtBO!|WIaN!F#JVgJGrmKL7vx}BEh2rik?(Xgs zZ*jMU0>$063oHwzSSh;2-3t^b#jUs(cbDQW<$eEqdCAR&kj;jWZ|9yfGiMGHqM-Ba zu_eNJi`zU%g7#gEOQwQz8jeS;Cc{sZ-p=06A(|8` z{z5aqaoB<}}3H<>q1g?rQ(67dZ33w_~i#CM1@>$v&yQ;!C;z4!vuXePSnh z=?Umbi%1_{N5s3FUkP?~6T$Ux=LxH=F`ZZw5S$m`mlWlb=9iH2uyLgbi1E-Td*>g# zy|_Pdd!%@Q{aoq%7Kx0dI4wo!mDGYl*20}(r14f0>ykekKt z$1)51qwqBjY8 z`2q2^+6=}zarl@Okq+*lKU7tvxM@OfIK(G2wHj_rKnApuvsB#skz{zoe>5&c5cyoG zg@?2&BeikpoOnz!s}30|OkN>tUj4H{gK=*0IuK(b3^ulX zLD3TD;Tv-#UQgzrcH3-+BNt(oPW}kQb0>+6rKJOIV>Xa8*$IXi7vA^XCUOSXFUE*L zKB9PA2(bfLfGf~n!u%1F`df)_S#rUO6c#^kI=z*we1H9Fc=Y+Y^#tVH2qU|St~_5V z7<;5QKA5Cl!xk~d+I<*Ba&RxDPEU~N^+UI`U+0!0bAB#QO3c^G1?8gUUR(2Eyu}|B zECYK--m*Q-?>A>#P!^LBKPPj?3dMQz)CR~ba8yzLJY3}1 zt52cboAb-3I|YkYRTe_(%2OB4<0_fd8@G3THiBDKHo^Ky;j4_KgJTbH=g|huR}BA zE-9f&_Ng9WlLWy-ET@9x(tiuBw;Hh z?BVbY?Q+&P;8LXwJN*L(*wwYrkW*m!tw=G8eUh*wKZdO2j0pd{z{~*UzTK@Sd9b7t zlFjBN75G;=L{%9L%$(5;(k5fAS*JzX?4XqY^vHyVEpQ*qoHKs7>lOGjAVlivpT$2} z%Ui3k(+R7!vx(06{fU|F`NoAZ(>eRKR_Qorf_hyQ%6@c)EvJGWfsb9V_HX#oe&Icb zb`#Blm~ryTPSbk)aOGlcRjX_z19b2k`@L2}5a^>k$k)7OD1QI=kmZDXePMeKU945=)OIMbz_1@dZyX~>U&%t(Rq<4Gj zDaBzT?Gwr~cTlGbZlJSV6Vtlj!?8)4@rT*i_#xy1PfMP)BwFs%nl;O;7w~ykN!Ht! z;D&R!?PH$zZIb^UVlkc!LVyv6`5!ey!Q}U;4ypkSrIIE(7->TJ`fvwx7Lz&5Iq!U* zHZp9a&4Ty2*3Pn&784kx*ZE8ZwtbAILW6S_uY1X`3&O1nzyqc8Eh-esc+Lhi>8a=> z#1p(o;JCxz`SK#p6iEs!_pP#@2CB`Gz@2M`QvYQfyEBI_$~5cw4JrhS`P^-W9wUkT z(Ax_rDXBy_`TmC!Y?#GLT>@NdNgtZDC9Wwo@RlO*OrDO5Avz(+asA{3FF zph%!-^`xPZCd<*d(uUjMeWJ6)#)Ws@{ym!!mKUU zAl#5esqB&VV_aA7qX+UJj4QIKo49+|nPXw4`bXC$1=?=B_%BLztCbVFSHvd zM(x^WD@7<8JzK~y9}Eq@u7;iZhPmO!%hUV%;z>x9GSWljqeFd|Q@ic!9T?>YBwjqP z;g%C@=5uz+FHiR@logkrgYC*}dK@^ju_39>hI9*GVZ!h8HH*BL3JJwHG3&Jozq$@b z9VJ7E?|Fj2iIbb_Wpks!&5S*Qbuti1m;8tm+x^^1>vU$2o zmJJ`OzvDy@%4uvMU2&_l>j zdgM(2w1GU(vopoT;lpUeiRdpCGaOIl`k%2tVqYmmLH;# zud5=+p3$GnKQBlE{cJ=6YNn1kuvNoN6PcLi*gt}j6Ju$9{v3~ujeCuYb#>J}MD4tY zNUPw59wm!1m=U8-^@8yFo4`3P;`!Pn?8PtQj)0_tBl&VA9idQjFaj`w9eH-}~4#p5s ze+8b^nK%*bWKD=Ia=4LK^Hr?yuUt|tie7c)!SC8X!C$KOnOJ`sv528>#@)o5r+AX; zM)`TDl2!H?TqhX^yh6e9!iX_PBgZmgUhYo|C)=D|w3&0a;bUzU#cL|jSnnHaPW+T} zKaS)PG^7~x>YRzcUx)eKgyP7fj>Jj@wa?#8zIi%O05+~Mq#S4eKm}E*#Q{Wk6ETvF z8TcLl%X>7lI1vv7ye3lXby=)E*&u<{(Mi{vzPa`F&_rmLK33st7zte(b#lT+0SFD^ z{0a9Y&B3tXye9A4c!S!#9bH^S_o(DYoAoXBi{ZZ47+1v1JOqE}L*H`xe-kw0Nz*ck z-y7HJ2n)SAKHe^zmA`OpG^m(8ybi2ikd&5|RvH*|irVl6xmq9j#Vc1CRBT@w*9u+jIPp1M`;`%{!-hQmmMk8=~M<@fLlIw-sjq|W8Z&|RDJzSCwo5+HNB>?RG`Tu8Irh=PPxX5TCc~n_kV%@Q!!g7fzCt zR079Me<5G&U(`VS^`Q%2@(VXkk!|I#UwU!{Dn;4l{onUx(C#ZxS7%>rkmaltdX3THVKxh>G5zSfC0DF7{7{X7fsrCu6 zZg6q2KjFOYABZkt9_W+}4)Q&`8QFHRrJ(tiMbQxua&t23bn9yVa<+RNG*{CmBNgK1 z?Coo1RhcEzY3(PlZ$=TXS;SjLgqA9AKSAa!p6rhpgJCF~g_@ER1g4T->ct zaVPZA>>p55QlJU&Rjys1w+00SXMbwZAjuk&&2u(FL&Z?nd8G3V)@K1+3t@>cOZ48F zQG!qbk|tz6UXLKP^S2niw)}za{B=j!Fqk=j8EV!HgoBZvwMgRs9k7H=uAS75Da)cI+|)tFyL?O)4(cYlt|0Tj*~Xit&bJe^l8ea!22~i__~W;x#zO{IpDfWG8wA$I`I6X z+;@jBoaBt^Xb0adkm{U{$ne|{32n46Y*QRWR66OYzf#jRlq(63wgfe=2yIN{34$l0 zHx&H21ju5#cqZHRp!GZmP7~EVr@e7vt604+&c_rq@>mOwf4yJ{h%p|j&D2p#4D&#d zg4l{-nb*@QNf2t-D*vf1jtFd}xy*xz-w~cyg9@%CYBGg-2$7<_BYR_dW`n>AaTDEd zkYnMc5sx^%iLk=LTA|U8AYGKZqd@Rr$U$9m7l8gEw8|;9pMKBiqU^*_FL=sPh*DE<)UIMyTsc&&XW{?700S7lR5k%UnpZdP zfyc@f-0favP-ZY(q(hgY8n8UJQxt`J(k>zjB%~+9=EoUR6$?{TiR4K)4vE>5Itz7T zs0~-2(_WOCA1Y{QE^j-Y@m`xP&6O)E!)HoUCmg1eza;0lvp zP2wGGPj^-!asfaUGMF7$H4cvb30LjlIrc`tgPNa|E>T`SB+JonY^pl%&CfU@V#DPwz}ShgFt(tmM!6= z27RVxzbvKn2fcBV>%g)^^}cDC3Ntwy=~PuP?VPsZjp`Aw z`-x}(SV-EkgO?VU8eIHEDa{0PpPu?cWgDEN!;WZ77%zX)tS8Dw3{)1<6so9C9yKh) zXL|)nn9)D*2E0@yqbctl7%6dzAQ9fYiP%tC`RJ(vPx{Z&M3`t)Kd$>wNBH@~g!uzq zP9EA?X;<3=?Cl(V13i5m!M@J6o(}E}9d9NED9H{f5kV&#SLeo3l6HPsDo+sE5zr*? z-2JtE^1GZ{Tsm+EDQk=zo^0IQTwf`yG+0@Yjcd_Re#<6A$``r9byPRGWUzmataGo~LOQEy&8%yUYobQMj{3$mxEDaCSr z75TLKvGO$ym;#1{K_Ezwp=mFRNg1!WTQ?7B3rUoSDBzXu?3E;;R3cT-AK-v>``4p= zPH2W~0!_x+XmKtm>%xg$IFtw!9ca%EyU<1Ai<(zr_D)tsVb4$jSVf5%0st-8GyeEA zrpSXr@BTfSI#n>knPa-=mgN#gt#zCVAKyr*AH}UnK0Hj8nkS?|JjGPc!IKM0xg2#*t=Aw^3&Usb@*)84+Fn|Yxor6ECtM;ThW-m!( z%MnD+SigcJfY22CrF!o$%5q7O!HU_Uc!u>V7O3xlByFHRc_Q$iq4>sm&b}!Bg_5QV z4FOx0%5y=Rj`vSj1bUPCgYF%4F(tvny=G5fl>Vzmjut&=%o2ewu={Q5L?h7Yd~D&F zkS8&Dcz;HSy`-*_o<1y-aUK&$bMAMxvEHOHyh^DIxg-sa5Rgk{HF0l-nr zsbHDF7C=p8#3YcBLP95^N6f(=+8mw>dL$4QKaI2vk6N?di0g}(6aJi`SaOaKe`b2)&&km;a_Vh3s(hbux#LsiLB`uV2Pu}GoB zgWMZGje#0VafQ2PVS9jRvv!!!BPidZ!GY#B07y5L+*gl$J}_dXejW9T6};)-7V>_h z^|=Za9=ujaV$uL^l{?|DpnJc0isaE|ChGF%8@0&cj=V6rdcS;`f9aRELQYBu;O)%L za57>qJxe5TX;~{ko&mk%|L!_LlYNqTd8WFySAK`%(U{I-mwc}$nG;Kz=z$%;Xmx#rvr$`F8!^ke58Ngbn6cGsb1<@ZT!($`e#Pz4>SF%B(=! zp3YUAFE<5YZNdTqV$vSZi}ARt9e$S&RfFecu)4Cr^Nh(2jIK@f#Em`)-)+=qbCQaG-MQ1G~^W2)HKwTJl~;GrMVNnbA_q32&}`v!=O4#n#ov zXM;!56E#Yh-+xHZO^pZs3 zm|_RXap`f7TW+x_lpKR@7#O6iKo5#apHMnDly%3F)i~bIrlEaVA`MH9`wW(Az$UzwFej-p@C7ZK zuNpn3AOQ7!7;O8OD`aN`CK&nv$17`1kk+GD6t+a7IM*lJYA-EH&P0^rc3yQ8{EpsMP>$@D2IAhzd*< zgZPC95%4RyyxCKieOfH~`SKV1*%#Dah`rTEW#r3=w0X0N{Yn#=0uAKq_inu;0*%UJ z>0J={pFJ!MD(`gd{m5B7PZI(}T%2AjP;?h{k0?``&MUt2cC2NdNs9`^Ojij!h~y^- zKcl+r7=`oXhU=Cus9$O4rbtRMzS(=@NH#@tmVYpidzRDI1hu#KH&2oliFPv{(x!%J zA}q>lkPL--X1Fg!`MF_1^h0j0;Fs5vvg$rYxxIr63k#Qf)dhF|0QIKpNN`6;&zQl=br7Bw&{wCyHd&0a`B3~Yr4fr25!L7}9Eif$PJnOp8t;vuE(=Tl%nL0(yc5cwcBtwaduY%Dob*4B~0$VKywJkI*Xhb_r zj%Q`fBCw(U$*8%pl9(0=yEQ%#VKaSTtH}h}z_jz^mDq}Pn#8ek>n{E)#(o3*+W4R0 z;~yp~3WH2JhTnFqteH#<-Fzx%s8_ZX`3;Q0j#uNhjMjwilcA5OewCSQHE(hdF{rfl2AyMXFk{nO3S=nHmOsp)$8f9082?$vV+8 zUt8+KpEZD`M)|K~FlOx?mzQ>vBx2w5D&llp9AVC9?c)Vn8-heWEXv+ljh|mtNw?}W zSkp1@bP>Y<27-m~+IjcajC3kzzfE|z728`?FMk%)}{%PPP<6!ZXm#FiC^hJxzv7Vep`lvH+m=s(c$?0Ncc<>eoS z1Gc}gdL7C>M{>=!A@v$@@@1+62`g>QDo@4181A_BKU){1klQ{^Zq%Jmp2OB zPAd$7Wp|P8uHRJe&dD=!6K^e^IgJkRgr|R6zlMh2VfRth#Ai9AK|MhK2I-mc@KRps zB|-;T4|1Ycigi@<Vw^d4~dSLfqYC)=o0>tv<9q&Fv{X5<~}6Hrx6^BXJ;Gk^!N&(XrZ0t4B|b zytLTKKs{dVTpy$ii3(EemTMY52gn^4pUVXA|JchY=-teoXLRstuz0FwzwRVnx!l|S za?(++cRX{f+qtd<;lH}i!JL_Kkx4$HBo&3pM(?$YGqn)6kXRu+^gw%o^bcq+;v&^y z{zCANLajRV-!M=Cl6JxsTkKf7sUn7HjLOxGF3R86)y{Eu_c{w;CnO}KSjfmI2tMVi zeXcvGOH!44QQ>LoNRXHqr#;@e*^+(oyr4h=lVp5;Ukyy6CGx@L?4Dv||9ciaaGRQ% zT5CF*!fM0tLKYxBA0zO))__gfqB3Lb;=3Lq>VM z`BUZcHWUV^iP9_5<#X2+m=gz4_)`^&tQF{Ve!K7CPVmOX?xNzQSn;Ml%ZPWFQa{Gt=c1xu0}yZ4>F+6Bnnc#|E3h+FdgF#>K9K{%-Z`iyy2(sik zdT!Hsm^(SKh$0@a_zMV|`%CB4XN$FMga8K38CIl5`0*feyXLDzJ@Ms8YwO>zaRFCpqk+BA^nRpect?n=ZTA6)!ZHC6YVzSz0| zUA2$B#T$8=A*b^PGmx0;7S;ke#HJm)bHv@00N3||nIC0{}Yy`;l2%;ubnedGS zF`;rt8?`8HD|5vIFBkW;QIDo}ZBu`Fo2k)Sm0W~>W0};c^3+khw`(&h5!X}oD|~a5 z|6J4qFOfKkiEc7DIjxjhHV`!IrMoW zRjoLY7K^rN?Ka_5pE1L}khgF3Y-O(+TwDD0_>dTCS2h3M038o|DTU5Y{7`-1>A(m? z{n~DG!thNpss-%XC?6<0^*JUPq%p%w=jy9DW9DP`3}f7>@_Q9ZR@uOxT& z^>M2>KmQX&A^6Z627p4bs`uAG>zF0DY<5Z~;#ypK-iHJUq)h7)PS5SRF1K6*u;Lwd z8V=ALdN%!$p(J_ zCtB9%=9%b|tA!hG2Q2~1Ll6|@xxhvtMR&_9m(a$8@N{%^IU}Q8NGQN2*x6NucNPGx zovS=0arQXn_k8846WaNSA4@FUQ+)W)nH;@5+`k7!_&xFI0aSX)4-cwu?b{bIt~cE2+O2` z8X+qUuV=9^r>YKIoP1*fd7>3%DV>c@cw*;r6H9Fge&VSyKk?#C?|W;^{*z(b?Uc=w zXEqNeFO2J2m3j$OQE5Mf>jhdLfKdG7b9(w9Ibu4=NP+>4sGIXyemiD_y z9u_09&)34mo@TtkKj+=}MqA#5cvCi?O&hs=6{1S0^7NLBl!V}_{%#%gr zq}*4$K^2n(ov&PMbiDby$WR$~LKVYRj$9Bt2U_Cez;&-VV*=fz6G_Jnxk-)ddL6#^ zt?ISW`4JSe#CNO1hmLS0gWCHyWUN^d>z=ro1}mqHI>wSX+A{u|12Wi@h^fZ7o4dCQ zq1QT1>@eaA<^_s&7OGJ?t*6K>BIj|$X|0s5=(70}0L0_;d}1NDXZQ!E&rX2sKQe<{ z4P)d6`hrBxx^c{U+r9`Px)CDsa89AZf0WKe?O`jhQd)qaK}qMOLciu1$j{!(M<5L? zX#DwJ<|u9)^M*gkijCUoEB~lxv9`wC>kpE=Cz5rd@$@){Mav#lPsh#YYxV^1hr+zYPs@3H&&2=bq8vij$(mFs)+FNznrBq1xa5jPc+$qVezF7Oo*Fjq#OQ z&h)ky`HC-mv{2ANk)p5NBE)tI25_C$NXwnp^(p{+%h^kyTA!Z(eXoOo1z?J)Muw~^23b4X<-zrTMxxSEy!5x!HCdYJ(h zPF3&oI`F5DrF;EK6er*UoiGCx@m z-CK;r-QG(73i1oKb@sQibqwC!Z8V+U68QKpFE1i#GVdHX_+9f>r|)n}fVej7%k-xo zRNyi71H2d*xsk%aeQw2}Ed??*FCRoJe;O}#vJ{1VIhO%?dLG2uALUcxy$=9+O0i=1!G(o!BSj!%od z^T+eQNA}NVYOTPvZk0_zG2;g|0{0qdP}M!&12bmGu&q0pw?lb>?qIrUlcrY@m{E;E zcb|y8uD)Vxg`RA5d21i~}QmF0>iGp^xK~wj^)w@ZKlOF)Szkd>swtzUE%#$uL*XfJPL7&rMk5b?2FR+_M%Zpw} zbFP$pKu_RgvR3me!OHm{&{`|cQb&zwa4w0|pJ5WsSbYdppTWNE5!!vRYKx2ZsfkdK z@ZWaxActuh6Crex>vpBa1TZX>HEy(6%JYy(tF1RrqGlsJQmFZFed$Nv$U@fwB+ozL z-siuq9m*lO7_2!xTk}r_*tTyPcxDj`qv2@&BR8DF%P_=U%wT<-lYy+g@RALhU)}|P zrbQ`kam0?(s)6s_Lv?Lb;5uVYdT9ivF&(jq`{`m`!W1dItr6PVgrHqz)wX)!X?5#BMR>p->}Ur)0}oCr94If(5A5gim-(;-6B1%svr+hm()$Dt==2wAvTVONMA$fJ$MU~@0gLa7T z)YHG?yM+%&$IU*NN%#X*TU!Q4%?r+O+*k(J2&d***&FL^tty6RG68Z1kZVI`V_=&O zH|fQ_20L+rvVvU4z>%luU%Mu-zFt;J?JJAc=dP9_Kk!^E8TY89UKj6{6R0SAr?74csy5H@Pks|b%feard7+u zHUD4rH!FWG<~T0H%!BXtuA^#h{?KChkrbj=eDCqO--y;}uEIY(cn`HpozF82eyGwsm2Wb}!{= z7c8?E##K}7#An<;<>{j%G11od?OW7P#0*Jmg7}oCg`>}2>d?j&XuN& z__fcB4nOLmuz8KpbK%)nedb8x4G>m)(UUiG3$|$JxZQa4gQ77E*KR{Ey$j#RWya4m3&~thLQbS_Er~w60o$(|WP$)tneUFBZRtzmK*%U zSVfBq9A{jcf*E`XdRu6UOVpas_$E$#BVQ{<2io}NxA>>YGlg911w{5X-MBrU?@SP| zK8q=$-*>roYXg_1h9KXScJn5;>2}tNR(Ik8G>H+6$o<2R>7bztl*OqZCg`*Qt-y>LFWHQ~Va;_-8yO>tkm~ zPqQXcI^{bubSM8#Ln#6)is&xG^TkV6UiCVz124vqo5*pBTcZLa4C4vAS0Ef=6sqXl z9x~6&MV5VDw7>fWp{KBdHTRIy_OZ#s2N5hTB|43yW3LV|_kGLhX$V&t$K zToxj=2Md~M^nj*a>X6y=S*tDB zG9^&;>^;+MaHzUN?0^|8@UvJaVd6ip>)lM(|o$-5plYGOUOg zYz|#6Z_1oiZZl)syKK>8Cy!S~LhM-DY7pa8j+3*QVXI=UTF6~pFuLEIe(O4_d3|m~ zC7z+ca%nsxO;eDdPP;8&uZ%9;9(1|X5$s#rQfc@KSXn$!?vY6Z*v{me%ZS`Q?6fkE zCMmH@aolcq>rb9cKVL($)Gezd?>7&g$9FrPop;VHeGS?P|8lZMQL;~dy>QSCt)*L9 zdl%;m5QhVmQ88`J;|CKQ+vrD2!?$xJ?FO+;PdJc)^7=y}U&x{j9~#`3^9@o|CDT(^ zqzsX7059lK9b>L=ZCmQdAfnApl3ShHfjerMY!FWnZ1(jdSi7hDf)c{fu0eb7iO z=fmvKI*se>P|2uCfez=M_7#drNh`u;U==}Jbcn_6(%~-c>3^V_Kn2bjCdarNzBj8% zhwe2RG5j292zt5kLFt{dcYFKRjFL8khK7prn38;- z`eX<93?K3KLaa?vizi{F$L7}EI2b2x0PLROjRPNYLYO3bpcv zgrh3rS(fKM(t()G{?c2};nfhhGuvsW?`df4WdoVAeR+I%D7ptml)^u%UMYp|qfNoc z0XL-z7!QU;pQNS85s^Nm)|}2wflt|xu3Si;blrXW+Jq}Zt$*8%KSP#r4$WTPOu;Kl!h*p-O{7XKH&b%nG zngHX}7k{;F@mw9V>geWij`S^6TTujbsvuzU#< zK~=-}Wa740e0-c!Ww^8zIJ6a!3A39l6oa~gQ>azW+8m}+Du7bQ1otKeW{4IVKit+X zK#}a@0!b+qR}Dtn6?nYK8G#08g9+rj&uCH4@9^dZjkO3Fg!c0pJ%X&)N>UnWExzXx zCTHI7cd^cw_piX54)DD}mfWBEY*^18c>)hO0jXOH%|PqUs%tFsY;irZbePDOLIFqN zclDc@ponfcD1H~8upGK?PciQNb!aQ!x*!9EuW65k>CCAHiuqt73;xv;9^O`kkJZg{ ztL*ZLFDtW6Vr?{4sl{y+FVzrue09M=lo|)T$%nKVxt4Vmq#NoczCRufxpxpH#AFQl z7CD!CCMH1lR+@r!pa<}oak$7Xa~7KHnAPi)lGOJ()8~BN(U}Ab8*|xZ&2Fk9dz^i! z_x(6};PHG_=;8Ts1h-i;9|oQ^G5XDmm3Yo~p=yQ6H!W8k16g9|NQu400f33G6xYwW?#^7(!%$dCEWL(u#Tjj-lK4>|2|2E_p_ z^*Z+LcRS@r>Cn>$NXNf4cPFKv9drw(smIkZzF%()XkEBgWEMlqN!*MZ< z_y|S^2f4e%73SdT;qGRW(`(C$-X);-u@{-gQfrml5~fUq^zFd{+O!iyPF^!VZNw~5 z)=K1CxQP>~MRoFQ#QOiWPGH*S7uWP`^EC8r4sMnTYq-?&Z75Emo%c~oSioyAE^wV| zK}T-;ecsO}ie_pfOfl9^zhJ~jjPV1RuY8%^7Esm;K7pg-7KjXLLU4NLNfhrZ_0d7m zWLp6Ds7v#IgJCbvPsS5Rs><}Ejyr`GQp(bK7amp1oTQE|8qzdMg_QDhce&rIGY17P zq5_32wTisz9N3A%IlRw^u=4tLya{Roxf#b=(_#mW=-028xDcV(EL~i@f z`!j^77i*C8z$UF)rwb(oPM021@(ZiE9{a}ASlob|EY??;tM6%x@(3eDiQ+760~m}3ESoZn1C1oS}`+yr%TDvWrR zRQu}DU7rR7d08y|11$C25;0IP^WxML^+rJqxX5wx?{yC((JG*$fA`MOTU&wi81Tzg zI7PFBmsOFXEKd0_KLrB|GfA`L>P!rR91_yDBFPN~v!n144({(DCn?kMmBzrt^w>$; zig*uxugevth?hqCu|@g~MsnD0>Jywh8qP@=N`&5zrCQ>#QO~(*tpSr$lldHmulHn^ zEB^rebXzQ+N0CK^V0o%?kr_{_W0bsD7Dpj}i!D820weuD_s)aM^lab81<)iruHF=N zk-sj}>bp3RhGcBGw*rs3h{_+VO?`-eAE#*(yYT3DA&5T)Iyn9eX7HrPVk*e`HGYV= z4Q$L|si#i*WwXR_FyG*3ep(gzHYM}USK~&YPq#AqyORUmd-TisB>cat2F9{02U=g2TSHOOHm-zY;>-4{)PMcFQA{$MGrs)A_5WJyL>;% zyrOCUqt)}5c`I@}6LX$Vpibzdas80rUwBM=={;uah&Aa2Ir=eLjnYx0Lx=%zmnyMx(Q#?Y?!ZqA`c{;0* z34ZQ#J9+tg`x;kz$>?dRYZrO)MEBrd?6H-;M?-b$NrpZc@T^U6m?<~Ts_}oAnxJt|Ixjp3P%^R(dc1Wn<$mypC zXJFE@oRm$`3A&Wv_veJxStjZAT)Z0HR|_!aq6a$)jluYvKlP#|2zyuacT$on}Q>X7TctP z%iOrQ*YO&kMn*K(zGbyb0WMX$i{0ays+I!@qnX9O3uTlkHubVSE6btW0IICllkKUU zRd~tuh~nkM^^y_h;G!}S=8P+)Qv9q;z$jHDBiQ)$zUo;u!7URT)F@TV*(4M~=XOGQK7TgI6 zCAt_W?0G4%+t!80Q@ldyAIp|h*83;gxG<2hossirS}r?C1EKPY=a1e5h^jw`2;$_y zy1zLIV5*FstTV1?^*O`DXZJ|bVTl8O-wQN*^T)|sCAS(8AwiWl`PihW9%OO-9CH0~ zYg(b>8{acHft$a8uT*e5qqu$^OE_y#ZjC`4H{?wzFfck+s7t0tpBm{*K%~QxDxa&Z zsyH?KdCb!M;EpNdkC2qazce11ISTz*yZgIJZKp3z@oH7tWpk5)hqHEVi{*w1N3&aw z*UdVvU)8SV^D@T`-ere!!e8|>oFuLtdK|hiM`?3RvEK?!Q8)UlGc3-;id-dQ7kKwD zE(s0`b6sfG2lud=&%(Y6zIlDvQ<7N_P~~93VmvdPh8;^>;Hl4I`R6xD>SjR88O-E+ zZdwibHb7cNYezWu+Rc8}ueYD0p7(*`JSQoH+0IeZ$<$HY!{{=|=;yNo6+5{hSU<%O zVnRq#hd~2@$B8Ge(bjx%|1;BG%(y$d_`PX>Rw6E1$Xf?%=f}p_a<_5aEIn8pOd5=Ht+ds&L5OK*#!H>+|=hggkAFd z+41z(BD7(My|qaO@-3(5VN@}EekdlNASf8~kqQw6(r?9yI$4OXY}Bb=ebnAU78b=W zf&6QpqxKL3(-=;LZBS|{4hUJ>E;rcGZ8327ASZI&KwKssb$vPbIob+ zKWNzVmEY~Zt*zUCSI~s^$4!~tj{D%}gSn|^;`)c*@4tx06EynU`0f0gDv*)-w=44> zDy}_WuhE2E(heuQG}J%DyYJQcyUBfT;#{%RrmCVOf@(nse1x)qjS`FRXA~2ix(|3+ z3(=i|juLK#X^w~<<whoB<^ zx;F9U(lZWRI|Q_7I&b{w>UE#h^OuEv@T)#Y-$fM{9rS-_`pTfV8m3v?Ws%?xAq01K zCpaOvy9E!yCD>vCf(LgC?iOShcemi~?sm`f-FmCGD0T~eQS_Of?&%iUbnO*(G}*+z zwI^|BYNm&&`k@hTLQfIIFl$DyJ66cl!i@!;FhMrja1~8Z?9JV1(Heqh*b+Bj*)@W3 zA&1{Ysa5iQdp`a;1pWWs8|7m?ZlaQ;$k9)w>a5&Dq23>jnQ~?}e90D{CGIM$rW*{3 zevc-8J}{$6i|U)Aw!oMDCDoM@5rP&$Bs-F3$BT*P!b|e=L0F;~b1LA6O8U4JR?D$V z=LZVsVCP?GK3lNXQ2X)sJ&V%YCO)Kr&9U=h^hBLJ-=B7mD_REaVW4=B1jx&Pa*!_l z81?-J#7#wF{8URg)im)_Qv(WF|A^Pgw1}f7r++}g%j&58cc+mK?BFT7A}3{lBa>#4 z9FrbwU^=I+D3PS7m~xdID}ti2Gl%lj0SiNdti%#~%#R*|bBQ)fokO?+j&`r}eI((o zpamHkcianVk9e^2u1pyG1bb=l0xQwy)&Wm+q&N;owy+J37Ge67@y%~_4~OTC2X=LrbT^(B%|^NX(sTgu|76<`cmVb;P9pN8y6Bv5Ae z?r`!C2rHXXQCUr>U5efI{E(!cJkX>kc>Fhc<0v=ZrYUIaV0JGi_7beYRFyrWlGRjp zqtRegHme96f~d1KRj)DaKf307YgJ{^Vwcr=?K&YyPTnDI!D|7aw1Q(}phEk4rMf&lw)Y2r5%2W04+INNb2$#;`xZ9;WwG z9^@9v1;IZH*5(|Uk!bo~Mq!}qDd)@AIiRK^Xewj@L7ePL=(DL4F98D`q*s%UP|7jf zm#jA}NEqYDy;?H7xU7R1Of3g@$V>Hwg;;tL0S9|YWh^Xs(U~0&tswZdU@iUJYtx8N zG$JL4|Ih=;AsIXj>%XZ1S7?`~0R0r9^D&~}h;eTA-+(nqr~^D#ZZcIVOac*U(q`RO z-OFmZg!CJ~U8IY>ogT6I!*jP^@4Ll?zh|I! zK@HUT_>a9jgrcs`3Fv_pY*N_bE`jGYU$AVndp{N20AWd#Gu5OF{kI#pyxBn9u9ZJ- z)#v|CP>NN1;2_ew9W{XJPy#St3D(@3B0pjw{VS~&+HLasN>br_XL5A0d&!qRyav7{ zxE}H=Rwu4bpWqby#u2HHav%ofSsIXfC_AB|QUZEC?+#1|PtnYuWLs*cQn9v3PF?DuR z;;`1`q6Y7mK7W(42PKx2Aj8&683nob35@i(i}Kv$XvIHrH9>~a@Mf&^TjC?<#p0wt zpE?#ALEbchDV+=0?SyIDG_Mu|c-YN(qH+UYQTazfIiAgRSIgL9Swz40w{C#b$JNvp zFTcmWk$Ywx`o3`bu*Wc;7QbpB-v$0chWQko%5nU6vra|ui6AQ$GzWBdg^bt%sY?Jz z_RHjo(3|((ZuoyN`0WLrYOCcyAMoqsOC_WPrYdY1a4N3rM8k3Pmc>k{Jq5*4oe>W212#0_> zQh49`gpC7Q=ud8QnlyR-JFPer>3SJC>KYq-*32PmwKl-JfmD$$agzJ_F|A&LK&s0M zjX&Cy)h%S0WRo4iVF@N-O76q$6pBcFB?U=txXQjM$U7D4kM(6@6yKc-`C&wY!YweW zC>wIPRqL~OOhFJep5s=^O%Ne@M58WPU4WH1phN|lP@#;ME|^lor3jk28JqpS+VO}L zA-Rut{rbq)NiZ04v$b?^g{MT#I!g)zEwmzU`K5B0H0{0f$4In1Y0R#7+HRvjgTHc{ zw9uh2m2qdQ#epsptuKF74Jgt$0E#reFulAj`ivJfPJOe#E6(^fci4zIBw!t3@hj%U z1M4KiO=$VV!NDAZ9yv%FB$<-|L|*+^>6oi@`*b*-!qqO!Rgm^jkoHo~zgSG>l~3j+B6e$K+OEy>pv7~e#WUN+ zKP$v{qbG2IHnMGxn5sQgIv;iU-A+afVbih~#$aZeHF^%dMji8Np58Qwt6s@wum3QJ z2uXQCYmZE@tF*)tZt6ou6$>6nHFuc^j>FDDoa;RmLVmi3e&9l`{-3o3DXF(G_;2I^s!nrKihKpyQ-T#7h z>e*Ac?}*4@L(F6E2_?$e@a0UF3naQ%lPF6~HgtgL!z{d-%eWw<;-%9?^U z`w12GOSu-~tScf;B%hOI4(>eTY{RE-6$Yj6hLa>~5{LH^2Jt0(f=s&hu3E`G%8iOM zvp-{C`ujfackj3r2kaj>5}+@-qY=kan>22bHpRPO3KLW)(;qs1g6-ion@SKcBpW%CanhhGsJ1f+)r<|e!2Fr=8&xKU7LSzrSS@kS^lIgyEn^R4kQ9W zIWP|HDgeC#;#stCntKw0YXG^?`iw!KM6RjAZ#4UYjZ`m1cn8_f|pO47GHRM{<}8`GXIG6>Wu8R&bHh4z@CFS z877e!V%T}eOPaHS*+>aX4Lw6^sh}udb)3+tSJcWB+=uMsG5D|ctmhT$MS0~ zYfPj~$XigqZM}ZbV@Q1Ww{w*6vlu+Ib8G!E5fvYtYYB%`i7JpIP-SmDJ}=&GJ>PAZ z`6RgH(ZJiFD8nL|l{k!ByDyBC1Ti~rc7VlY>fWoqpHPi{d=DZiN|3mLIDI;w*JDG2 z-Y{TX!?l1xpFX%*y$Bc?$9Jw;;6zmi_JTJq0y)u@2poWHu;OW5 z=Xk6jpLPGDz!w4B|4aoXaP-R1yeM6Fjs#XSwO))*OewSPH@~B`2tADOvUVgX+grt3 zD&<8>#7&}V2pUQDN0bo3wgf5u8>4r`n_$=ARp_H0=HI5rYKV|ZaIwMVRfZOz+2B)z zLg_ct_?a=Mv{F_eUDR6Z#`_JZV6DqXM zl6=Ra+?k&3%O!NHA$n;bdg*I*Txhm=^L(v8>#&B)t@yl~0&`jI=)wddO)0`C`xuPY zZf@}V#}Ahd%buLyyrtI1OI|6k_yf77cA$VG88c4=#%2)Mlmd~tyqwK$6%KmS%65q4 zargyfca+vFY6i#iY@s0jsUc^J~UFCO-H`XLLFM|}EiE2yB?muZwwqKn49giGH zzR@LG@=e{q& zXXp;tXGNit4~w-qcz`O0pGLP)HwV)xhkamMa*A%~L8&59zY709(E2m`ccv^SFyEjo zDRR~oQ1&Zk8MEi@?d=;5cQNB5VF{!Pn{~<(hq^?f@82_qnhB&ZLCpbO`g+1kgmppk zLw1($^3&s7%uzoUxr3AKCZ{bv9Kl*MdE1tc0fZNg0#Xz&BdirAJ+Vr6YM1Q6qbQV4 zN6zWera8m7$%CrHDOw&eZcE_WrU$i-eL26%WO}Kh`03{>AoA>CbuEHRcHv@my<+oL zw_4mpu_F5YZMQVMNmVMe`E7J%FqiOhl8-Cj>D`u}TLR@?F%rQ}Hun%m$0tWaL-9t& z6c#4Nlb+~LqGcIG8RTc#z$^RJLPyK-!e7%dLTaLdeTFeYkOXqLfv|l&NOEIEL+lQv<>YFFyElt~lp@ z?1Q+8OqXfYqX_AJ8!FUUV-lofDiy?^tknUJAZTNcdj4CfdAb5>@cc`tws(Wk&!C zbV3{>9jMWLJ%e$1kwAeCEd2`*M4@zI=Sb<^<3JRaW^uGX1hR2JA?qS-Shwz!f&QCg znN$XO4W)+kj_=TahX{YnrroU#5vFTO?Z?T}i9Uof0GD0(_`dO#XcLLDG=Wnl+fo+p z>o}fpX7w=HQ4o+b5gdgg-MYL!l0RA+O0B;wK2j!Hs~8L(ZM$MId#WZuLZ2BdCXsZq zOPcUCOZuQCM+>uHI;<%Ayf zNoKD}jjjP!`uG-_moRlUGEIh;b2G5~fttD4b`^*hf3~4AOqI?{kY`4VkfOaJ*2IZo zHJvVGZcS7GqKq_Qd(#NpKz zcu!9F_MP>W(s%RDcZwI*t1a#yL!Lwj45O9M&Y?Jf*nmD-r(P8y}wd~LwOX{{5E_7%~ zEe%xoawSewxq~}v(4HJK%UNT`t2NjcnWn=_u3Vg7>Q0yRlP+OHS{Q`xBPkj_ZtMD6 zn`KF+!`s8s-&L2R>{ozB^sO@X-!$UGOv*F;jOU!>0E1t56&;qtx0(N=c$ju@Wt@er%ekHbVRZL7GKKec#nhe^aj@^3^DdgDuzsb)_dnf(Ljb zvzk4__5+IA=CS(KK+j-sPdZ{&SztJxg#i_9PM*$IU z_j@0FC5w1QiIeaug4qD{Mm(B;2g0R3jGzfTS!n{HPC?{CO|+Y};hBv&E4bBZ5*`TP zSawA5^Xm88)nRcotvT?`k$&=QB4pfzd2hr@Ug; z&VJUe!k`jAO8z~0ttoPKvnESYS+7Qe8pHd9QZ*`~>!%lr*ii=~JsqOsv(CF|)&5vA zTYI}r_I+sw+DcQQzb?o)%kr{4b~e(&QJ*$BN_`2G2lAp8FmS>@?y^f{2*r%hY@|w) z0cN|&K^B^^wEQO{;bxBO(}NkcGvIaKRUVH$j^s_*5#X{nyLA*BAQ*7=2%zD(aDeB* zY(n{&(La*cb7|2>SzoRN5q;l~ zz_}7|f7=I(@zO9i-o%j23M%sB5XFzLT26R}Q=BL^#ZGQ9!Ec|EBP_UoMaqcZ2yFfy z_+Zv+Asl;8xgMoL#6sr0Af=+cu=BH7goE<_Mln1%O&-N@vO9{0-5YL^f<0_SrCI2Q z9d$Y`n0C8SP`O-o^oN9qwVv+vlCngsxk9P$!}dekmUZh=Yui$*DVB?z;@-SChW_Sj zcwqD2-&h1ov*Sgs&*>@{NG@sv(iP-iMGQ}Tgub61{A(%BuPE;L#)m678H#}2GzhK0 zHRT$iKwO6raRaZO^_}w21Z4EhmsC4l!;2b4NVUKE)8{MWA-=Z+Od!rW7w^Du}1&p9kqef3KBn?+8 zPxbEdJsbs$7H@)Facv2H+(#wgyzTw^06#NoIQ0gJ!h$SKQGB2+l?f@hS@zu0q+9G_ zL00&(BaVTNF=ohOLV%e*c68Hi0ghE}U@I~X_HNwtBGny0U6_L&3$%fFDx5_NniNUg z2?iRZFFggH(lm*K8O_xSxbwgZ3|;qtRX%khOV(!Jpqz@9Hib=(CXU6s^tD+?f+1 zi|{t2xk0Gj&yMNCWlj6Z*LJ-_&xzh1?*6W79FGzLbDiu0)%-j;zbSMwPK{F!)6+eR ziQrErB5UTa5;_>YvSkHw42h-~kToy=zK4Ozn_nSe#vTy%e?uqDH_l*ZRZdIUAsCJR zhM34jnqozT00BqLwz#B9J^N5)tuog?nNwB9X0fx5inkDclXEy&4+LQF)_BGMc3j%_ z2HOoh8HN>W>!mn#o{ZASvO*Tudvr2z<61i$=-a)trUda=!A01tFn=WhlV1cf9l{^7 z{V4_7@mR#8UqeIoatwz+9+Q!n&6>y}&~vHk1cB|^P{X=}$QDq{;r2auurAQma)lD-KIuvQ?5;)-bf>eRB1C5?XV*_Cy$M4pJvAy(L7tLYh_kBp5 z6mlPeMGzQ+#2p;yOi4a^Vj#v+Z;=f0pNqx>7H-uf_K}C2tl=~Us5<_W_+SDhTZ({h z%UbOaTzIlDJHJ`zPl4}OD0yymVs?7Fp2MeRzY^Od+O5rXNnpoPX#%;40b>gA2^sbqbY6`w@KUTnRuU$&jkj-}Ur zxenx{HIfpNuip@zgCK%B@(`1Zt~T%z*i=k>=12wMCD2deutf|9D<^q?&MYmk0A0om zpo&5F0jN;_?0(ZG|A+S5ucfD|t$y&Eol2iGhpk5GHXrbHiieB43TuQn0|uxlHl@3e zzZsu1?OoBqcUw@Uo+JN)g&EqfqV!cDabKE5ZObfG%YnJQf;;ET?l%ijhZ?2hJd7H1 z*bzkkMvU?p++z=KS9!U-EdCpGlu~(ivf9*^j~oJ`o!iJ%KC#&)i5(2Tf3p4vy^%AC zF!cL&ML;53E~qw)ko_JZ*z-d{Px4$5D^c6r+`pBjnOT}6hhKri-x&~`2%N!Q4sqfJ zPRS*AAg3XSrt}N20)U%v4+u7aBMWiA(7{a=+(!K1K!MBSp1eFds9M6?#WC6rwPQBT5wL5>f91w6+1e)VH8_;B__Mw0D#6e^$T7Qq95fbulqY1SpAZ7h+RcUoj zrT=(0&L1?1#Z#wJk3Qz1ICdjHewJkTZ{FS3c)F1C_t;rdmd)O2idsON+MS~9Q{lCr z*^;AZX>h20F0VYw8oEosp7|Rq)b9iJX`F@&Cz3*s8H#{|X!5AM_n+Ap#=R zbmjKZ5fZD(Bby$B?u6ON+p|eNOhSfXHtZa7-Xu=b(|rk_;cL_s%wfaP(d9oV8a)> zzMw?iMm$1~8J>|G2>CI=4zrmv{nKKumDcF{z!n-mxl!Bf*Cx-*pKMR;7P^NXU zrim;63;;M1O3z%PGkvX}l_RlLBeCV%Qs|$vuNhnV|DX!Qz_yv{asY#5??OM{)pRyD zI-YDyPmy-Z2vc=juRQ>A9a>lPpyeJQD%P=_NyA099V>gqWRkTkX=@@%Sme>sNVK|) zgs)e*9aZFa5#a&{Kpjzt2Ro17R)fW-)ggauJ4 zQo{SG3lw){;K|5p)vaOJb><@IVEp$_0Q{!d!GA*^9H925V3aelrt_qHN_Hcrb7Mi( zpx>mjG|SJ#x{wjS9hL5(3g;&n51}ok(#a}U^b1eQmDk1kHIs~n=vpH$N)hq2LJ>7t zHcOQ9<*^Vk*n84Z=VA#1E5ENqm%V~{>3Z0|`2De)E+*2$!pzI^9rmfn%ydg}u^YBh zvQ2z_z&FzP6&yJ|2~5a~CwEPUHC`>)9! z^#g(%+=@a4dAvBCY2)$Ex{_F*VZt#lF+2fPR{=gAVsp84_WfXA4HY0THg78+?*QcP z0rB@lk=^?_zt|(hLlN4Eclr<*Fbb9iA0hKEg@BY_f#=(?cXa9N*VUP$rXsoKm*Q5ity9MW`QsY+d+Vg3YT zHMhdvVsj$4wxZIh?FB(JYGSyR;K`?f->R;`G%$e2UZbMo27@up%z{G}sAwJSsRPy| z)+Qmnl*tpSXWPcd@kU|`9(SI1Tc3RbMDHMVQOHJyqW^qu_S@3?eVi!#d_Bfvq$=jI z8>yW1tDYx(9aHY5N$&zv8>52P6qYBI9xEfxv57Z?P)*ZA{w<8;o+W~p3Z|?gH0f~^ zp^`N^Fy_%|7$i}Hpa=vYoTSy`WoqVHhktW??{lwYtL8{zWST37;m0E0qPVi{gdN}Z zjMy(%fnoL!77cNXw2oT_)S08joGo;5k<%O#PALeg>gh_+nx3ikTA54jwI(_mHhaa% z)^dc!NJ-|D`1xn=^3Qhro(PIX^9(5t7h#jy16&>RvycgvUm zxKaSH-pLUi?mFivtg@a7HURVVGfC&!RK60pF;HUysTEK;O*&vC+bAN}vq!GLDM`zv z0OwAie=&-ZZ4ug@S0}too)yHmroPPEaNMWO6Y?y!$0ZJ@|A=g4sigd6gT4oB?Q$k)GiA1s+PUVQ{s6z$6C2Snfx>3G$i^Rw>Rf z2~JgVynH#e9sW(15W~5g6|!m)cr7X55M?ojx=rA?I&d+^)NR5PYXMf4cH@HJK3wqd zE~K5cb9kd+S;Ql~-}J7{Fg{R>ILdN5&5YG}jPR2{ToGom218{M(~&bZRt-#55|go= z{oBQG)!SL;>(<-De8BTnit&6Ik50cjV`6#XlHNBzzY{JrXcu$PgmXiyR)v41mZ|6pjyS>BqDXf(L?xf29MD&|+F=#TzOZRM`q{@!me#Kl12w$!V zj_h}{;l>H4-E{WEKnj+oGbJ5Jl_eqQr@?t}F9Y|+IqPV!w&`}A*d}BNHy@qOPCNPk zU3t2`y+YPLHF&w`iSvk_~py4lVhW3tA2_Py)rT7F7^u;JqYtH85u+77&6Hfm7$ zJ6aGp1r(|Scw?1^VcRIafIlGl5N=C>h1*T|m=`hanq>5mp;ShrmfV8ZNZGS!|2~47 zCamEXz0|9?HXD5Y28!oz%?NPgY_4lHUB?-c&=Kv+DXMWBqkZszP!GjOp5V{e7-cW4P z{3@V0_vwVa$o75$bPS;7>`b7C^rGa=-7^_S$vLG9wA{h_zNOQJPeEuF?)9$Wte8R^P7Ps6kGszfGq3 z4Ukm32=W#oqnmRC3d?=+%la0X70QOrzYEE6O_{Q3ci2OzhLeYaq>8I;EeMhje$1*# z$|yse)r=7kHb(<>=NULxm&2Y&gy`CcQCCpz{#PzdCer;81`KGvdmJ_|^m>gNfBc1vG&W zeycbzHv_6uNe@37mSUeNV5Ek^3?ty+yEvc;ItNw|D?+zGBz^H4`Zo4`Tk`zOlD9GZ z2DHiGZuM#eGy=J96NXe-yDcoeEf3i(53Ma;EDs^**+b%}DJ2-hDm> zeu@;ipb4Ar&As5JnD%QER>SJTny+Q-wQtk8lF*q2(~&g#l_%GcJl>Nt`kCkVqtX{2 z6>>r6%k$g>x$X=>|NEH>$cI?+$BX@LJUQ%4fp5>Nnd!msXBghfjPE{f|7uZU&W<5; zjW83{9r>Ubil6FRma0hLc3~!}#Rwe=^?aXQhCjWdQKU0QBSVp<#F{xsH+_JRp~RU5 zr$h!u>Y%P-TK}P-?;UR1o2NU$GBC@Pe}xx3RO7$15dJV2t9VHb#OCFb8EIjZS|ROz zc*5U01HLA2!w*NQGPyyP9@JMhiOA^mznZ(F<308&BwO)wF}-i&HMfZ&feOi;dnJwrhr9h%#Rb%A}F%>H@@!?fu!RT9lh zmZY(p0{v{B8W~C8dQ7XsGEX$LVl^|GzHK%wmoPKTGS+L>ezG;1gxemF1w{b4;|&B> z7r7UMH*=q6J@&})W;aj<>|C(O&Z0AeeK25n-h}Z#cly`V<)RLJVdT3pK~|{!PU6w{ z>ADaK>ya}VH2+MaV#txRXC`ZBKOPnW?xYQU(%2rFd=goz#$O%Q#IjJ=3Qb)m?fKz` z2G_402KrSqqT2KRrGBq_k8E#`&qrcnZBC7h&dPtj%;O};RA~O8 z`uc6w&ay(wuu5xgxYtfpTj>MWq#E?d{eYV(A>VvF``P#6xP{XDwqD-Smp5D{pQ|KC zn|#ocPU9Q_jY9Rqued%+#sno((4agYC`g4SP?QQcG^{^?BSw=fS%D@}XT&4ICP4e> z03y=Fn&}A)ioxmDPKJUW7u$am!Ua_+4uyRj?i$>}DgFshKV9!mJoVGQh{fKDWfJ`- zu2|Xa-^@(d??91fMpHo^dvIT?gOqDq#VnKYwdKj##FJDu{ttI z{L51h=b58_YgsET=}wpR6zRJX2O7iCDN=Ehc?j|j9UlH;V*vH@+5V^Ur^$!F#|QG^ zp7(HXI&dOo;+6OUz3F|b+dBXL7H zFhQm(;ZF@3a3=o@-J%w=k(9IHKm1197_Rd%iJ=g;cRNftS{lda$Ubf&Xw;)r4Thc= z@EG_MfqK!jWfC#3LvoSW7lr+9Q_@4BTr@%CoBO0<^6T`0rPf(YS)0Q7p zogegXLf+P)fR|T|l+-3hh$v=xG4-p#F)yrtTk67ubax{MN~XgUE30i)pl@E1pI6hq zUF`Xg1-6w*Smu+-+>ze&zr0M)jdC_tlLh%+*Fbp67HI~;zU(^w+kiCMCH({ zG#gRU@x5P&biNgFsyl9jzO3=%{a2x$xp52x8shS-mWn%MwfTvoyPQC(Zi2#BCBZa> zAH%=TBdy62`8@*X;~`Bs|%IZrgNdPfI(%CrJT2@OLix(-2EXNmAL4=6tk*M@~l=}T}B?gVT5 zJMhYF-1KG>Ne6xA+Mi_vGrWumB((H6*za)Z*$|2kIi|70NA8}yHVcGUVYoG(yqO=j z(Yv|s58gk*DXrZr;HGAh1%uT8X1)*m*xD< z*C|c5cOL3R^R}pH{i*4td9^6XnT7T!t{ zLU0sUzIQ{9sX^mma?adVW8gQz)c&&?qIlugFHMUm*?gwUy!Y9N54cvvUcJ?S4C1g= zF*_4t|7NFPSC-K;3x?_zvsW-4dpGo3EXXG>B!@;+{yxX}phrT~NU`=&-GiwOmR=Z8WySTXrd8sS{J&O8MCAAs3#>Hiet--pkR z+N?<<^jqtp`D=L2LU1OE@CE@9-YaSHC8^OV(}QN5SuwJ>uP{?X8(0F}?fl8@(pEYVTMphi{FVyq`IAVvLlKHSVA&Skae~@Zdpr3xuq!KZ9kkC~c zY__sQZ+~WUaOiMyY8R|9*tVqKs!j#;gNuNsKRO^K1%K*w2X-JyKtoKULQG@Vy;UW{r(Z~Wg{3)|P_(Q_EC9Z#h<^&xcFJHv( zUcfntLKJF35Ima0aUfq!@@I&anwU@;E>xUqt6G{lEbuGToKzwiadVN%xT~z7Lq&=w`JMr@`JK8W^RDD9=^Khv=Gh100 z{aY9Nc3!=G5Rsf>y=0ty;^|g-b<;8iyvcrDxI71Mcbi@WLpH<1-($xPP*B=GJV-BJ zC6KeJe(w~lJGx0*sTw==cWK;vSQHr_d#PrZuKS-C;QYELzF1qOqxIXt3S>E$jpApA z4=bgo5Z_WKGv(x%YMHg%mrM0@|BpECR(Y#RBPq%VwSy+Cn1Mt%5uXbsTXp0K(GG-5 z4q<+77*MCN6-5>*m1Zy{*CMLjU@T=_rSEt=81QC~@75j|{FiK57x7;*lN_YfnSmm3 zxl*f1*J-*8({AVRxn5QvS6zjfsW0W-*5Tr$%)`X$oO|VC>ERV zb{OE=y72yFBCDYzUsn3N*vSYq(oyPVk?UrXHre1iZsA_br>0md9}-6)RsI`P592N6 zvw3INbc2d}BmM`V(+21j==+SMLqIbDd1AP_82oRZAjbi}mCYI%qE*-NlHoiGsCt11 zaq?jYp1%7I<_U4B<85ky_DVY<*spOdkbk=|OeCj?Sc?xbLk^%N9h}jECgGhA6-X+c zpZK~E5>zse=)-4n$c~X&f^5bP?4unobuo+*#;oTMkAPoiMpD1 z+yx^fKLF+f#`I6t@wV`q#dt{5%>@BqbNv|3Huj@l?dt#Wkq9mtJEpIn3 zP2-N(fBm?5uDu;EAydc2p$D)#(r?c*fp%5{C0Q;(^XkKMv!SyO3g@`)-Zr`%MZbxI zfTx!&vtE)`A$vthM$wlPAlb@>8YF}vI9%3e$=RjHRQ1jwI~ZG6!l!(?-b^peSR+u_ zyca5$WCpEfZXzZ86XsRtF=jgvs3(#B?nV*t-E_|W5HA1mP5}jaKFD`^*Y|9c140(p zB}a+E9OgN?Z9D;Tf(VFC=OXBbaHRG^eg;8{k9hV=J;#2c3Cb&t*1 zm(_aVY`E}OsSe$-+fxQ_)97)76F(&oUe8Mc*r)+1nlOqE?lo@uU3Ks|Pv>Zu$4sFl zY^q!k(qHkN1#5V(G?n}@%c*b!j~Rg!vwn>w_ctnLNHL$C5*Eyo@AatZw?38-jTAi3C5O++(HcCZM@jXh zNJxi$=#uTIDkAnLsJ6L+k`WNPvd;ulBjkUf>cotfq)`XUU-Tzi#RX`?)vEi2)0$MH z+~CR+>40AJjkyq2b2cxyg@69+pK>7*B!KjoHhV?~g5P~U=Vbhwq_S@k?{QHg1}2vK zy;v+5Lg;OweaG|WUUD+p`;z}%6$@a)kM2+TQk%;n$D}LQq$~ApPyDJs!N!?(Uf=)b zpP6Z|^;Ul06Y?HE_4TQIIcd4&vtBaFa`5+;yuD7nKHylKHdh{3t#21zynS?+J4-uV zt!rD&SiX6DK26!X6Bg@yTkNH+s>*(KemmTcYOABnD(!!aj#R%Z;W7m$hs3eM+{8Be4&5JV*H7h+2o1|Q<!nilJJg~b6$(ET zfjtxtKn&L^5>fWgb}aemn+py!EHpS}KYGg9s0-_t0#S7#$k-yqdw zVyI4YEMz~)0GMek%<99;(LoR!us0QN$uDbYtH>)=^q@~Pirt2vd|C+oF{M}D^6B@D1`#}pNoJ%n`%-V5?&Zu zWCSy5QY`Nk(Uj?(YJp>|6v)PvXMVgqeZt4&A#mIG3XM`&dZcov2EDH@SC4GQa{(Xs zh6m+)&MtK^liwxD3RDmszFqG=9DTT>6l;B|zUxgdom8kBOGN39TBNbrgHbXFU2^6y zX55YhW*+-&`y}9Y3xq1OqSEB}MM#kQ`TVp47#shsEWY1GPt_y|@5aAEWYN&o|6HfZ zu*s>*O_LVVEphwa)HwtR4|nqXC8Vd__>;;mw>WE~^n zLC4zqWQbMMT{*9(#iNo>@rbdJCvab)dscH8U$*Df;A+5e;o@kgRzb#PXGKn*v{F)g zK)6yg8#sz933(6lTCnB-cFkp~K@x#PbLa(mxxS1>BXm(|7DylMej@qV1aYAd$!Z<_ zMKS{q>j&}UpEqZA`hNz$)i3i=y`sZhuw~C1@|KV9D9O@B$TN@t4Sy<~!xTt_H@t#} zz%8-EKlxBN^{Nm1&Pe1cbY7UxbA^(xN^}S(Jq#d7l*Bn9g%={mr=&b1ZC;YdCt=Za zfx~Y_Jw~x#s`NGNc6Z97>a;rgzH$k$5RCqKyy)l$ywIQm`*+o$%#7*%+lu!Z9I7-X z=($!H0z|HM9hwH%P-A522{1R5Ug9t<$MP z@^K=He&J@O@~>NZg*K)3&&)O(ZUqL(C_5(L9widOR0al8efOI|?9R24U@wRTTH2># zPMsXspZ&R4rmq}iHX$IF_tm1UGE;N(_G^nXHFc%=%5zwQ&0kvUfX|p6zv4E`Ojj$R z*yu3Y{5rQZ%L+mM5w{4Yz_|Q&ped+9teguPw17j!!jXfaVJ)$x4XVWuj`Km)5vB<4 zH+4oJ3&OAy?Rq%p$5Exjkw;+0TAlzqb%9`!%~4~BEUM`+vVPD`p>#bX^X{GVTXR;CV>;0MRHeUA@D$Bem+a%6MrGl4ASG{0mlIv;X=|^#S&hhg0?01eNxNV5O))$G zcpkUL4;x!MB4^{@|BBAu9;Y4;;!Gw$e(d$XcT#EkE4H>8P+Iqrr?uXds&S7_ z!TGDpXYBFulK}r$le31cU~E>#CkkCFQP~(b#O&O4E~}L=$u5nbf?TkQ|I9~1$O<(} zGGdZpK*690GwLre?ddGZuDz~*)jn>2dQhTH9|0=er5odd2y+z+kBcHRSS_YQ9jweb z41RoT=Jiu00%D7b^t!kXP2P>t>e7#=+UoeJL4(X9g2PRW_zKF04t@$zc()Y?ikG zw|Mih_ol{vLL{1A#lZ&hUo68Nt*O3$cxhGyt&x!PqhlYcR2>2txL2Kx!J{(V(54dX z-7N#tETc{N7pVj9+_!Tj8m6Y(dg@6@uTy5PX&+t-exat0lrICfO9TT0y8fC8)GnTW zTN1%)>pwX6TFEs5@xSLx(Lo6;D{YTwe)f8qA3y4}_(hyD+rlpNb^uu) z=sJg<--oaM&88G?`F68gSVzc~AsVpryz|s_cGKb2S!Sfrn=q?k+0m-?@keHhS*6;? z5QS8M_vtW#pG}o{JFgBVN#K8}@Al~)M#gil+nmZjz=24fr z*74cZ#_8xFzl}Bfb>s5DFGb~~&HJ?LgsGomP2leEqCq>hs>9QLXNNYhmvT**=;_|~ za=QFrW3^?_e|7{I8M|8sW6`IBhlkYD9lM6fIV2gXpK9?uq4Gl^> z*sL9UzWwmEv2?-JbWKfepPLO_0dtqZd?9jXUm6W!uFV(3$H0b7Muk#gVM3{t-^GUm z6C>I~u3Ye6PkxvnB1Y(<1@k*}$dDjlvBFz)E#)U8YD*rsl*|nrKYHC03wYS2eob&( z3%qBGmojJ|y7s91hZ6{+%F5lI+G4?^Rq7fgdQQ z-`-NM-y_}y<#S`afguAUspFXu2!2|15*_=E`#^flz}Ig?+JKRJdMIzD`LHqVA8)!! z$K(C#R%PQU@8a0l94m)vPeC=n$iYmzbqH!jp@a6$RaltD%WzPJnOFb7Z>c|!3!%;f z{J0io@(_Gs;BT1Vf{#nkZW))R7A_mSn&XwP+=yofi3?t~IEmwb|HBGan|_-Qo|&LQ zA*6yvl)q-L0#6=`18gXz$7`d66xF|h?nTNo zNmD63fFt!8!NQDM4%l%Crf;}6dVD|o*HPY4?6Y_JGr5vi*C(L_(bRZ`52IRVBmr%K zh86JGD-dF!MZgJe$Xk$ve#%!XwLnXfF2YsNq=}HE!e!Sv{)uEj8x{xwu7||`y*G1d z4g&;4as&*5EQLNi6e8xoI8uFhK>IpQRIkHY7$7Q!(7neYC5?ws$3P6v$3aoTjhCTe zN8u;Il9I}!vq>e#IL3kvoq!f7lps)>hDS#(4$>T3mOi`0IwzPno!y}Dhx z_)zS9N@3U1pnbibv)vn8aW?kt+W7F*(@XoU@boV_`Pul{vvZC4`lq|~+0*WFL--US zQ6oFb_Nj{lJGr;sxx2mJqJ}4_?RDR8H>i8_Y4OBPNSpsn`jj2?a=4t8CdU%C$yJ__ zwzUMDU!FEuFZqmnbOt1LZ@yYS z{(#XE*h2K}i$=E{y~d#IaElHH;rJfzq5-G&0RE>3vj)wQFRn=%WpPmjxZR%InX2;u z3Dv7H7$UeVHQcD2pFZo@uk)@HA_@}T79FX%7B$)a} z&^@XolW+wR+_x5}Oj>RGGWTWwkGNv`Bwph^>npnxk=^XRRE|QQTAs%~LHB$Mce(Z` z$?T_Lv;kwOQCv0B+vRImAl#Pkkr$bh17Wj-u$mdVh*=KV%^5Sf=c}U#01WB-VzMbG zImsA!p?Jd#c|yYC;aVhXG?-_Hb{al;`BmH&>Q&18z^U-Q*=ltSs`0;$x}%4LVyq~h?6E)EWjnsq6H%C&3mZm)4PzRKJ`(w@L7mfoD|&9YM^PbzK3Ricg)1Q_A)}c13ZlN0!i} z--g9_!xi$Wk=Vs?ckik-pOHw*5JYIhE*S2$ti7vh6z1;+3S5YWo{6CtmF}SbBYc^@@#z|w_YHZs!8{4*%rcqD2mzGd(6}c~Elqv&d5oGH0=}mAqEN0&=F) z%+=FO-$+aEVRyVra!rfE4ncE!q8D z;@6^L7eqvTB*Zjon-jmvgoShq+ZzfS+TqNwEH@6^%U3_Z$#8!P@Z$f0b&b-x&5Tu* zxCq&nf+z>LRz8?L__VK4y(l-HXe^4+KkKBhzGrNz%P*mBk=QmiVJl4ea2cG?Tw&V= zZcl86+WLPo@Mh`9pU=eqiCN5-RdF}Ub=k~Yk8#KL88cTO6rWFpz_d5OOLU_I$D1y1Tw7{0mj*_t(Tyn$$x@2)kJJ6a=EO4j!Upr-NXR&9 zr|g$*jo!l%(KqwDTrrS6=FOicJnDEvuj4HnFylEEFqJ?p1P0WgCZ+iv;{bUsr0CH@ zI8pFAQL5FyoB@fjfosuE0cLXfm`6JSU%~L%T?KLNF#kzG%2COR$kZi}9yEm5;KDQ% z1l5E{lO$XL+NT21w+K@bOBo8ZD>A&en7$-O47Bk&?Ye zu!xAJbYbG%Dh`^$CSToNInJ6chcywBM2%5k(dojPO?doP9|7BL5^mEhtR_b&hy)EA z$TEm-CBP!^hD9w;kQhR!=7$I+GEQ_g-(^d-UOpBi zDBZi-Yd?>Vv%?2h2=Q&-pFK`1X3u@GS_SmZaXMPu_YOAltlOX&+#kNao#SHfs&Tws1ynLG=AACZ7AxxDz^F@1k6eA+fEM>x@l zsCP`z)#83q@@~TUfS`YJ);0BfVKX=>QRx2QV1Ms$agGI`viHq)dNT4O-pxOuc?Vsd zERIPmUD}+2CjWi#oY_w0F+KSw+H?nYtcpFMHBoLfg+Qso+jN(@1nN|lWG5(>WejIQ zYHec{wyAG>n{V(FF+eFg~5>mN=AOptj zJieLxxV;zejnb*vvGkO~u|J+vsGk;sXJT)#`ri|xl!)Rydcg5&X^9{JRaL1U3%^-A z+|7Az(OI;EA&njEE7cd2RUs_=nGqu-!PgM2L*`Rn%#KN8i1TqbB80x{A2#~o^OtU6 zZ-AL2Q=S~|8E*(e+ztpv7C7Z;Qlks4inp|#_(b#ma@AhL6S)kLC4M;m`{b*`sYHXzfSZ{H%*lqbpzFz(D zJW9knuuE&p*UN19$*xEiWbHQ8S~zXO43U+RJ6fqhTP(pJgZv zluEn@@xH1^@Q@Z`SI}d@9FF&p_UJBn_D{!zUx5NO3bNe~$V54cf89`JgBbb8`FKE# zLP;V-1%=f>y|fX7>4x4=CQYnEe=tSB)9jrpLpfU}%CvR+$_sGb$+rJ_)S1J_O=FXwy8P&cInm1&s!p-LMSpcw<>}OaCEJbL)$xWU& zcH@KH^;15<&Wl|O;5x1o`Eo)Y>{`7E=9ra^t!gjGmo~aJj~qWN0lrAaV#In!EQlNS z8&*`kIH3>ydI=Rw0}A?DCgO)|cMl##*9Ie4J%yx>6_8`>3){oX);{CreSNseYkr==2E6 zojNW&sOUb!NUj88*X>H4c%HJxJ>~T%`PxBh>yFI1 z`Gcs#UGU}3OR2Lh{-EkwW%cUtz4Ll~8lNc3aT~sT7`l9regA8H=5;u=|FBJqZ?f1{Vt1L| z@*4a$(K)QcN2<~GI(hEns(WK8aCkv*u+Dcz84j|aa6!;r6?op7d#kWs>5(8X^B*XD zvlx5$RLlPyd66Nurambz4z_MN(k50KA!j+(B*BR!@2x}EJWxoEYH8HoPX$!Qci;n; zJgG;uH%A5%{#cS4erKsXRJJOu3d6b4xKo=>Rif)vHP-ivO04yofZ+CVzm z09=56fK??9lV;i;xIe z?jaa1!AbD^N9{tjK5KQj&76a-fPC;up2n(cZa2<OHOE9HZVTq(o8^F-tt&7i}u70k2KI4y*VU6w;@Ot0TUHQ6gP4#S5b>?>U@pF z=+OlR=?oKpb<<`4Yy*gR3jm?U{axDl%ghe%chD}6#U^hD|J(NP*%A-HQ=cU-=cY1- z73_<{H)#fh>~BZjnuX{&Yp85mJx9x(fZXHX&;G4dN|DPPngIbzEJ{}yr>dXg{|cGt zCNnhDINs|4_Qq++iy6FW=ZO7xz${s>3+}Va5bpa}DoiUKSjn)N{`8oF9O9##j~6ZB zc}C91-+Csixv>=lc)QX1$?E%M1b+CV(yzm)FqqH@kUUfEu`VV;4aP(Jl2Gq0nq-() zFDUl1ONa6yU(-FvG9v82085klNRdp73vtpIS$^%zkJPBXrABRP18P(Fbh1JtA~I4z zJirpFMe#BBpPDK!x1==3dk(d(g!QF6qe!kq&OE9-{JDy@YTI%}(69Gp@aW;?|c zN@&U|;IP;T(gP0KWVQgBgC7yufj^IsXO!0_3_^UEa3KEN(B+67EvzL*M8kz8!;6## zhk|7Zlijd&a!>{; zEk+qW_>1!D?G*;bO$I6#1`UA*PTP#nM~A}s>XIq9!{9@ylKXJ!Hq5DE)1Xk^TBwqO zbXB4pxD=K=X$EatvW2L!du8*gv@#5qWL}RAVT!L1ySmlC$1!KDxSmx>Qe(_^63N;p zcHP5y-E#W&>P~biVrO%kPE{!ym3cVJ((w&`#nZ_mjK?C=$s^KF#{E2`ypNu(a7H`9 zQS|ypMz}yPOPaE|DZD`R+8Zcb?P8+KxmK$#!+K}orhsH-oyqK{ejeq}AQUG^( zd{m0mV1En1sm>dtuXMkl`aJ`fe<=f5c?)6JLJtwUkA@Cyr7)i4UU-^rZs zpl(_O&J)0?im|i#_4<+yjS3|^@z;jemDo6l3a2laDGm|R*z!l{;@ZhLhHI7ULc%Df z3%E=j@==^ueE(J*PP<#frWL$rW?}#(!2=~}o+@2toJ7O1DRB;cGF-CLw?fIepAo#e z73$VNsB~VAsQP!}d8-Qz+8wYqE}6Hi%c#Qau=;7UGyE=Lp^&{X+tJq0*dez-vUQcF z%AGM`lRV6jBOvg0y?ZkAYtQ%Z_aAM zjW&sqUAQ!aZyEgsv(0R9IYRcSQvR)8u3j!ScGCPa0uHYyjoESX)CS!}tN|@S!bM3# zswkepl-pNi5J7p?@JO+u#Yxl%ERiCVoY86C+@awQlJW$09iGSCv#*B+e9u75R80}r zEWO?%zZ)p-V!pvbO)BVaW4GgR11=;4qE|}NV>?vBBPorH@3`YJ@=;tlec6|g77*Fq z3Ez^%)Ld(Vm%q8@#(cw|0xLrz^T2+NJM^93)cWi!YQ0ypdR(>G4F+Di!6YAJ3pZRd zgUq$Otbh4G9lgz@>wnasSDm>3L&4opg-PX19XOM~-RTh>h8Y_~en)SwZ#r?FvXEqDXk8AO1)YqvaHuV7vq;VQ?n091Eg9!|X6RQM^GTbukY0vWW%5ZZ3FVERRj{nEC zj_FR$-G41cfC=H{d7yNDNp>JO;B(LL@{Y)3>+va*BWE3M&MIOW1xZyZ6XMOHrvuIZ zYHD}gnOo!sc6Er6oZgg`z*TdCAJ5V6FVJ(CvC8!=44QhV_La-`C%XZo znzMs@HcA#Y_q7r%FtwdzK^Viuj>7xc4vN$gr3UFiC8*3~YiM`}N?gQv62t);KWGvK zyF*L}1W0z7WZ@En2DkbM66=f*z~jQ;DZ>SdcbVwGGDVOWztgNnunb@I%%Sq?7k9fLAsQU zGVfP|-{|+{WQS&s>b7=Hdio;`YkR#OZg6NB6FrAwDscJKp-Ou}Fg{8U)fABnzX<1b zvN#@C{LAYc%IgeI)HXo3V;?t56T%aga&OAk6WZPzC#z@uDR;|Zg^^fwCay{j zxHs@wy!vj)TLhN2Nv^5Tolz}$C5_t;Yg);s`zJEpvzh-T$?po8)$2YRvv9+3e5Ktj z#=U*&aIKGYn_W4I6uKe|Px<6^efK$gxdy%7(_QWMf5dA@7}(1TZ0ZM8UX4Ew_YZGe zcS7r8E(d`PKGz){%soDjeeRPy-8+4r?)NN?_Dvo_bC$fO4(4j%r+3`;1xFVYj3(`l z&Z2Q)QA!+TJsC~4T{=Uqan$tfHJxNqB+r)qJ#|BL%2Tdo*wjtDNe!XB4Jy*w9-)Nw z*Y9jBM5!F&!0JE!5|Nm2%`N;FIdG}D4e_yuNeIkju+$x#A+qsT8)mEGSSZ4aH<5T! z50gZo^37Kwq|imh4Y2~Gyda~$p-95#!J8*wY<*eGZ-h)k|3p$p+^Wz!;V%lSexh7C z;C#6kKE$mo^R6Wjk3Y#Q-o%^F6Fh@99@&&V3e=;*5drJ}N)%QdIaSKsN*1PLde`@b z@4KsfbdL$=tKP$F`NsS0Zo%kmQboh;>F907=_rrb)j8rXg3gYXmX^*=p`cDqtkgvZ zhHs0Y{r>sm>-5dje_ECD8SCaOHFR`Mopv;1e}#GT)x$CELp4-RI|&e~E^f+{OPM@N#FfPH;tm<$dqzCFq{H8DWP2rf{P z7)2-=8V@f;95f&{b;FWR1BaHaQPkzD_ma2k>3EknLfcNd% z;t9UMd6(}N&3BYlObysUj3JR+3Z?>)JwH0MQrs^n-1ogKfR5fuky= z(%LkGX1G{)C>3_0(dip1lKPQ*5oT{5uHHX_+tARZ=C58FJx0U-G#S&z^OO z!s44l9xqxRh7N^(o&;gN=BDiqox*cx5;QCW{*A_;fX|2NC^zVwvm?>YVhT0|Erue}D2bISwxABsfk%3H4Z)%4M|9mxAvh^0X!sc@ zi1{&Pb!B~AARL559f4xucvFdMhf3GP#qw>hyGZ%gKGSu(40qHLPhVm2NGqYa^xQ znKWTPx#pA8IG^6Qo=kl<{>^_V=?*L6^@d}!h>??$j@;lKYmAF{#&0PkG?;UeSW~NWkXfRf7KWaj4s&Pzy6rN-o8J+MvOqu z(a#bh;_u+)3lkDFT!end&*rOP-D-LcIG4F>w9=z!R3cV}Tfhi%ok#L_w^pm~q|(m9 zs+y2`g1@OEcR>%rfNA7DKJcZy#cf3puemVv!UnH%d_;;!yn{rM3sIlVQ^P-Ez!az0 zI>B0S$Q|KeYx!O-DH4p9Cx8W7 zH{-j0+F1t9d1lU$&O2LuBQNzvno8tijC7zJW!=wy>FJw+ox#xIjr4f@oPjoVbLfy$ z6`JdE^`^2EyWtR@;e~Q_ilATYfM%Wo@+wj*VY1$%XhaC1LXiFfI^ZGNaMo$O$(nDu zZi(yxCRu?H(z=0WxK)d^>DY{;W2`bUZ4NaWkfO`^C`_j8;8$$HGBExuu2GP#Ar`E# zTSlxn^Q?0;jQ)JVh)68vh5>bM;?L(zupeo)wQzN`aQUMA4_aB{?FHXb!Hk=U!*DX}d-0(v=Km0raDus-Jr@Ugfp>co248P@iGNg0WwM6BBs z*wx;7o`^Thy2yQjgaJr!odBR-l`{MeD}#W;6K#6{9F(sl@{x0MA%A~A&4JR$0Q>i_ zwz7@1uBk8;ii#B85Qtb40ke;eJAOQ3i-~j^ENeKEsu|%wb{ZKKza{>^gO9-hEJJ7# zVjz(CV9%T=IwLOB55ttN!vbqKOjFJxE{J%42t2n;kn}1x{jpJIzAn7WwN~2u5{LFgV^TvH(W`BboN$Q&I?XuX;5&czn?IH}Gggx0Ukw|b` z>mN`2p3n<2mr#b=)e?iP{3WXHDn1we23jmSmNUa?T(0Yfjmh`$k|Jp!N!CdwP|EBc ziY39IWGZJR$pK0}EJPQ~#TU&*lgXK!NFB5)DLv0>SI`eue}Uqn_9mhVJ4?!fCuby1 zW&{?B;^&Lx+9fmWN3^VH)BMu8b@BPsa{k^>STr;!PN~ox(QjN(ubqwTx|`a&?b|)> zUEUo;zubuVdggcP9t(E*lv=tsYjS8(9gS%FC$%s9Y5t(lno1`=9!>J2O1Q&_@V@Q2 z!;pT7G9`>M?SRy=pGnalVCag{@y=>~;I?XHwmLTJEoogEE}15zC6%Bd38&2uuh;BEn;|l>F!!wutzZn?l;}a5i>I(j*Si$r;x}c_|k&lUu z-g978QOQ~4^<7-x=H{xcYt2`qu>tCOZQRlVRyS-}0Uvz$vY{faDodn`g|)SkFCq znE8W-O%sMyNdiOqP?@%Cv4Gb>cNzqne6Ex+38o0;_6({=BZd}0H@#M@fdQa$gDs_r z{r6pGMFzGPtH5#x?<<%g!wzva!LerATP^?Rx9V`$8^DNdvp7nJn`q;0Waj4JR_W|@ zx4tI2xbl`8Ay9-)Z*7*L-6F`a7tN{hm*pE>k+Mw4iymz0;S@F9ik^c|^>0nr+zO1i zO{1ITSeBlZJIl>Ihsib2*2-J6rHMZ2YOSS^W^Z}YpE=`TWmEN0eD2sun-%A!M?5ze z5Rq~W2z?uPm0kx9LRN3D%h&Y5ap)qQ5`L*0jl*=##dj^0+u7MeX_U>CaAgvCvlV$0 zxccu~AMyN;PyxrOt5D5h_oWyvzK}}RBmaW~>Qxq0pys)J4<-Uh(Rgmzge^-?Gt=2Y zfI6J!;#plj#T7P5MJ6pX-l{0j-B|@za3u!L1MXz)%yjQ_y6?uQ2Bt1jVi`i3K^gmM*20E>YQ`#}Dr^d+JK0m{xYZo7`>*2@WSA<7P5(sCc6c5mtAIzy&Arc;VVjk!U{e`tKWpqAJ-wn_Q zOUGmE=%lSGhHMz*tm!0u^wO48Gv~BZR+RtTkWjX=q-$mMmP;M-%b949v&!sJhfag? zv5l>Gi@1~Td3oyjDO>q@PPCx@(WI;61~W#2+9fSI8D);DWlzdvajRu=Jd*kDX{_t{ zP0qA#G;MozMP7bdU-X{F9Aio4;Hso<0_ceq^)gB(f-#c^cWszn+oj11thH#8k&;Kk zqzi+^W_o(p6G`?p%YIhMGHa6@Phz>4*|`_myPHRNH59!+&wPLnhx-hNgIoFM+2m^S zE0Vk_l3fh1TFU78;54kE{9E|lyz#qz;dlF50@o+6T``CGjn$lo>z$_Bn5FBQq}rRI z*qWeOucq%q?`l-z23Anw!n%TQSS)O~>2k>i5-$1c!n#Q6!<>C9m%~Q(i(l)?>)`nZ zqef@W1fD>arayPxhsV!Puamdyx%=Jp!$DSTp^aBBzpMM5qtpK3)aZuER6~DfWY8cL zO0d25)@lYa1mzbro*=u^>{XyJ(uO-!zR5&c^6ZaZg>-o;-0vV)YJaH_gJ1UawC)RR zJBU?#6VM2On#7ty(r4=5q(9_LcL*Z>jY|g#A)#os+|r_iKhX5?{D>%odgcJko7tP8 zZls^UIl*wWk&&Yij@3|gHh~1Z0$IFPG4TR?2fuSfuxRew&= zLL%4t@#W_2_I^J#qk{3DhJjsx(D}j1&OzsIoV@LZ=-Y@WKydc`zIDGpbm8FOY%E3+i8E-Nfsq0CWvZ>Sy)+@pR=i`- z=ys{fEor*)t0PzHJhlr@J4b_B4KtN{GHRZsiLIk~d&jYwkhnHNhR|SmQXioblMx*% zf0R`0KGSZ?84Nf3A2EM@E&d<8OnlsIQ}3OPd7bT40?ZV@q`Q-9u~`UYKw-OmIa|F1 zz!Rm1)dQ6Zv3Hwkd#RQQk0LYTtGWzF*6)mOi%;#P4OOj|zP7-fTKDmNdxO+Y>uT%^ z+Yq*Pwpq^CIuoC*^S!Cpmg|k=<-GAC*z18z<-b2w;m*9ul=%cqVb`sq~4(gD>WkMSM>H)luzqU+BrJ{X> z*=8Q?Y;v8AetI~2YPWV&CfjGQqmt1PvzL*JCxgn>ni06W=GzZzq0fQj*A6pIVAPU_ z`@da@`nV&RMj%>kPxXlqk!J~BWCR0B@Kt&hwQR!XD|cS1+T;a&w*U9_KdMQAfZI5^ zzjoXD=z9^cy6vj@PSge!^&{8woNO!D`3Q^+ua*bgO=1eHzF)EyyD~v(J!H_h-cl8} z%){M62dE%!CWJ#JOSR$at$`{VSpwnc__9PBz?)d*8gNqaGPXY|#IMJkG;VQ6PQ0amQ{xQ!N z_ULCO46)sLTi8!bP#4T-&|F-<@Cd|uL=*eC()=y>UsADqk<;;vjS#9>(r;Ut%3ifT zBvtx7bndrCcj883ILRZ&L+j)qnQLwf49st{Eoy-$t`lia5i{+M)V?F=hRaxrt(pr? zCu78tA;y+E%9%QAS9m3X?7( zjB;yrda^AWjlHgri+o!^_p?6nk~wiQnR$zTTDGX0WuI1IXHH_TLu0?*Wrr=8zwT4J z?go40_Af58Y%Mcwsxr@Bd{~FixiH^+d!Bl^UwRl#e-~gp z`}DMXA54EvWj&p=c*vQ|?8WXc5`usbG32T!TT!> z=XuZS;j<;M_J|L`_v&|;z1Vr#c-c~A*Dz7O?0Te1P_R&@qWv4S!$qgDPlJRQuF*k+ zbVW4nX%Ueb4kU?=?ZRH*Xp~0GabcH^uH%IxXbJ-Ym~IStt^+I%mT-xFQxRrhyejOX z%Z!}Ij(LK8-*caOiz1O@0wst~v1?!jK5PtVne`RAP zjuV2+-#lcWx0bmz?=YV{rVT@y+{BquAm&I-Oq}n-g=C@*sH818uywJM*>U%eNRKW}U4HjFR$@l- z;$#_do_F{M*N|6OcK4$qia>nFuWCN_m zS{rjyDl_JV!@(-U*_AsTY|TB*4gK=H{p!7K{S=3Ce#0K9?qCE98!kw)*W(|358FIr zQ%)2jZahKH`)&*afb_Q_#1+T?ytECgFo?{t+X~vwDJ0U!`&Q{{gB+433m;Hp(UI`~PU1jCE4_mF zP!I5isaYV5u;I|jqsly7C>)}M>}TXqzEZxy(Y9+A&~5NjjUd`+(IT zAiZ7UBT8KFww@cs5d1vIAyX`AC!o?}{u1CMSGLrWZvx96OFOY!}vu%a|)W#)m9cFn{aHlrBY{ zq_&idhCdVgfzN|bN96y#07=*c{bXXS!%8m75RjwfVf~7AQgp_s(FuZsqT5}&VV^Z* zD@pm9+GZ?m45ayuTrK}NESmEy3+tL+t;C)EWKB38)i7UOk^Yej)E5x}b0X(>ma((+ zBCD>(o5zu^oYPY&Q#4PZvKnRldRp&oJ+nHxvxz>~gelIx@03xmWe-oB#r0FfsD+IE^YjPxiK zWznUa9R7$I{luqlB)3K4#xs-5s?1}efrz9Y<#Co?lhg_CVCbLuy&p(Cj zgU;;D^F`G6!NugGB;{AXyIKVwBS-k35VZ5QTVL*vG(DEX#hZA#Uij2E8O8U}#EVpu zbp?qP!uUG@{OL`ZR~wuxFx*(em5=@5 zK@P<4-H0*5C&7r2ScpNq%eeu*0oAVn= zi@cuWq^O&$_TBwpzjEpSJx1r~U~!Q;t2WM}E> zXTFp~XBa1(E-F#tL)=*ZvNT0m%M2(?g0)eBLhbHn%oQJbnVNF4CB@^|ZQKB$bNo>Of zvXCTZfm-UPCm3~cVOd8vuib`{bz6El*G4nX3WAR)T zkA=dPEI6OeyfXYWh<6xe5s~lPvv7~sHUFg8&{vRUc!f@tqGqrwJII%a@b{PA|A__5 zfYd|Y9A1F?>A!fttGwG|k z(o+V9+<}p2OU1{*`G$s-l!l%2D>E$xI|uc9)|Vs@0xpdFRGBPP>~LX&CUCiT!dN98 zk0x5=t9>mMLNh`bTI+WTlgI>@Y4YpKz%-PwK7k(8UI#LS!2hDXWHi}=J=@r(B;iQH zYc9grsZsH}ib*7C)QOcIm_PnR$(biP<>P22&arXuC%%vc-iX+dU0ZQKdaCbLoRv21 zgjAQ$AvdP`vg6o>PP~0=R4U z_wdpMGtyhSkgw=h^-gS4WoTHT0%By&ALW$Q1`cm{$aiv{uSG#0JLjF?J>lTnf_V

    RdvrvzEbl%9w)u8}RUgIzn|Woz?%$9-Q{LuDi(H$=Z&Uv_3s!Nx?I!92ykM z@yXy-Md4RSWqKuklo4CxwHW3#T6R{MR#&-P$SwE2p3HY*^gncw{R%g`}ntLPc?^PkZE)Wt~= z`13)Ohpm1)e+g!lNDsK~OBgsaTP1OiacOpdV0$%YRcXkU6cx6g0|@iPSuuJ+t+!F& z>&{fsW$?hk6l*iImElpS;3}u0ao7ah-w`CpolV9xLYs)`hA!yI(|zy)Vbj^5|m)3KKE9B zk#DJ9HDWdcjkiFW^NQY*-p0k(*&eQ48vo?u9m^1=bR`D8v{21>x#23XxR}bxx!Cn} z=QcXJAtR%r#=y@1`FXHn)HzXcYHcnpF}pW6sgJ-n9NAx2{kH(mkK%+V8;XwQ-05;t zimVZ%1s%kn1>$z%nu^3L=#}(mm5kC&>d8A*dfNkMONP$Aa(3Fn5W(ofWP?t}bSx?8 zAAHdu9gW82Ntz^suAy_kR~MgJPrrJT1C!UI z@PnR0P!IOU~lM{7?XljGfkn^G5Vaax0g z5sk)r*9P%DCK{pla$RF}TA=-BG-S50?z<`zS74{tmOHkuTZa-k<_*>XW%vLT_aS9C zgthZc7JIDCckntf+J<9yd~xz6s^A?AmF}OgOO^c5I4co>q2tD3YzSR)Z9?SRgkP?+ z7a_&apuy~?PT{=tYFlv##_}=@xg4YrsGo_p-tkdL6C>?YBK=o(|GQR4f<}?$wt30J zx75bPA0X=!gwE234x#(ro5K?<4}FJ1O0&~8&P+Gti0#6WHBhd$dan)Yf~xN?5!#%e z=Kqb-HxJWZ=bY|J@cqbE;*L$YK)SWh0Qc;iZft_W2quIHoDEEb$Xp4?c%orYbk8!= z1VSZp-l-!%?g*e(uY)nOp$L32#!Md0XGuq|r4%=AmPL;c0d7hB2EbP&`nS+FD?qoo@~N+sVM}bqjE9Qk-39Y z4#(f-cF6So@K~cI#`dbc|dwC|Hi=3Mh0h z_8aLJq3AT=RJBw#`N&&n$!^XTUW`1&)u$n|50l=f^QpnwN0YSCqJ z|6zNgYpmhUYvVP~r7(IkTah(6&~={BRawwg8Blf}@X~48^6mUvqPd_#cT9uYKB{Lg zV_+wzVE+ORUbo}VGWIeH+!akPry#=bZY4VNx0fyz>jSaK1Ls1s6QyD-+iO|(KT{v&bSUMQ ziwxYo4d1=aKAd)5eQ=xk*4uupcm3dL=NAw^*gJW9x;cB=xjTB>yL#K(I`g>9j`SUT z-Pq-u9L_%U+4T0@;<;}_&RobHKVm%vSMTfWYq#L^lEa;?wsg0~_;S6{u08aRsvoLF zkQ`zMhD_fF8k8F>(q4>0NBSemwZmptg9tOw6jHS$4+Gnh1+e!n^#qbhG$QOhA}G&`Ul)x4NTO+tM>v(YpeYE17%c+=t1+I z3T5?Fb8Oebh;r`ncEkYJ5lf<_b&^I_xo)K)Rhrok315%KN#H&V$MD7rZE(lBs z0=#kYA14uvk1r%kw?-I0iOEw0~Acn?e`ZNn}OEX!Pjl?dWL3iOqM!*S+wd%(3a7&a83v0`bVRutrIqzY9hSEtOt1 z>qm7b_tJHy)?z~j==OBfAwETx&L)oLm0cC@_t6&nq5aEcT2j;3yy9fR=z~Q?qPYxsxumrbh0g%8A)Cgw4k3{k2 z=&?j9`((lr*}dzioU|K#!)i_IY`{0_t)KN#$WK(%0=ujn%7qDl+PF zKl5fGY*59E)+#^lod$|kTIjjkgdmNPp~z#9fOhSi^{u*}?De)EJ9BS)C{FU6#4DO> z7}W)WHnXEy6v?9qUsg;OyvN16`p^Dp=Nf=}MSOLmwLuUJT(V||&U(mQ{dULYE5G`c zh#%qQ!RG>~0$$nxDhSq5`ovfucKU+(O8V>?{`h|!pK>B!3;gG$`DE$GQ!m(N!sZeH zC$F;z_a-t&zan_;dDHFyd%#Tj8vjby?2fs{^YDzkX7`tNrg&D9jYhI>staoJi~;$v zI_}|7*DV_AEw?gBCZPuD=hApVGJNP8d85l}?r*w@81~Lmx!8CK{Y}a~Z7vrgl!7We z2O|XL$3VC9Ndypbd4^F8wxjeL9Egra7h|)evR9U2gSofo~|47m^#`@W$P#R1-7 z0-is8F{Z3rf%x6V6j{+kjKShY`838zwBS(`mgtzFqLgT5WZ>ztg^H3uzq)LHuo^>_ zqBQQ01LkiBHbn zWuN@r##&YZx>oH+ur_|jFPOED9(KwT&kvg5CS6x)%^lGFbmpjPU~?*E*xwzExelvb zUIvzKrq&MsI(59fP?;&C!IBmA?@)rbG5q5uZ~zm2LHR<3p$9luq5eTKz)y zznMRcE5GXQIdtaIDNlyhJ#!jn6KRje)`3s`7lw>Ym0CVc8f+RggyeICiWj& z`uXgez?J*Nm#RpL>k_wq=^DS+0zLlAS$q5yx5C zwjx^QOIJYTB>@u{0^ybV#lyqHXey&Ym*4x_^8-@E<-4^*Y77#BDv`6FuPfBvGGL#l zghp!fH1q5%Y9Z#Mj}!%cT&;H*<-8?iq`%}H^7)(TS0uFB788-s)#I|+WjIb+3&1ra z`687_RVCVvLRQR-oApn$YPVBw>aXi(>!m+){aAW$+SXDtQdcrp_S5#!*VYv>H#SpJ z*E2J6m9p~_R|Y8V$9h+o|7TZ38X?saC7UrfjoXrR#-B6aPwKf>Xv78BCVYHet=`s`1aHIRUOpyL3kd%l z4tPJon`FqK)n>^zb(Esk9PeeAH%^tJ+t9_uBDd>h<0Qaing)3eFT{v9nJ(BI?Nz{S z{}Lj0z!vgZ%UAj{FU_{L!(_>;-m#v`Qf7u!Fmm}t3N~I1{wwGvtFb73y8k%wK6Lne zUSVgP{CVP!bUiF92&tgg1oF#y)6trF$DrvI2?~PF4BR5+qTV#*|BYOtch*gn&|d>zwdVK>N?fkzfM)} zv!AsWP%so>d?~;02osBup(pr))~I{-WpRk5QSxz5AnKi4)}j&n=fi$F2*j25@&RR5 z#h4D5G5>&uFc*h8&Y#-AcHr^ZiN4$H!!~-~p1I8#%yIA ztmq^E5b5-e^T|8zBbP6I({wINr86Q?@rw1#huwgfx%^P-wsf%UX)T7uSR|AS7nK%k zbYL&=7>t5^rxY}n9_Wq&6XHeQIE7V#Ur;DyKla|#kW3^eiRUv_ptFXJ=83VkXBiQs zzcn(T+l98DOlM3)e9x5l!9tycNjMa_%UqO!@xwzFIU>CMS&#rCFk>RljD<8m5J$02 z=*(0}B0m>GZAozq0f(?uS@Ze25asqKbD}WWY#AgoZa84?y9;lkTpQ61dnAaFHLAiM zI$kg*_)L{KNsMB_$qN--vgg1`kSj;b9QhL|bi8Pm>;&OQ>~yJu#!u#OsaOL>qm>Iz zdY&Yq!-QK@RwIJwKYb+tQRaE$m3B!~w$M}AMX1!(TM%uwVlrbXs_I`5@XW=|SkY&u zF}pxLv?w<8qZyab^tM|ya?sV1rS=|sO=?)*=PhwZi=GsXH1Agn}{&^%gwj_A#=6^d4 zLUW5%xHL<0D%ofkaIwx@oY~GYsUKxZygHP)G+TJ|8h8{7vuUAZc(qGFabHmR=jLSVzk5FD;+rIepO5 zIoWf1W8X5ogYon0JBm$of9B@y;aLCB?dR+5)~e#o#V-#pjBhd^m|^uf=jwI($p>5L z>oE6=cZct>UB2teIR5^x?Y47ym5F^X)l99cjZAwfY0Y(~|J zJC9s&&w27-ZMwODuKv4=>nGHUQ9Q$poKVv)+6Hj*+QYtP#}CKU=s@f09^|Il;H-P6(D{pHZ(;_29J&xmdMM2Im_xKz}AB;@4w*QNe| z-;1}Ln3TW$$nY6BIPl1~cK*7dy-KWh6T?9hT&{7sv=tvitVDrwdugoY(J4@`r5dd! za`~7Yi{fbHEu33>4c~fQkKeYswxX84f@-R~@|VYJQ*ljUKCJ*5c^W*@b;Pa=Gw4{U z0K4mgmL@kGoXYqF3kCuGjR{Ny7`k6C@30#W+s23$oQ6ZBt&?$I*mB`1>!+*gbzk|u zn9 zEOAasG?m5)nX;S`oZy!xoIn!bhLac#!a@>&M&}bHg9}5C+;P0P~R14qn_>%e~jOL1Pn!Zzq%KrRY|DXA7pP?osZ@NrWp|Y`Nj0X}; z?qHNDlTn7t%fx|%ofaztS5RtSL5Uc1!#?Nh80ygJYzZ!tD%UNY{JodHI=iZgnz?98 z3ILfk&2_=7HHG4#cQWU?Li4O9$GR4$V#0zU%7S6fEnVE-C-+}Dm3srfZ5?%KZOF1R z@RT8*pjtM=E0upaiDmf@&w3Ked^X=^3fpQ1(-X7nf#=-c#*p0(VEiLhBORBuE=Xg0 zTyaWqs8VE6?AAkPUPfVdpm`xMhFM0d%sc{ZA9AAw(MIMW?<*lJ$W zJE3Jcqjf&M{-V&dsQ>eX0SyUDT1;AXelaYR``)SBvt3W%ONLLmB)dXECS`0y%7iG| z)cAMj{?J)D^QKG*Xq@Kqg8^o3;%f6{79zJd^b4OFBzojq9E;4V$?s~3U+t~O$WKwR z#7Z{CN;=mnr)kYCZ<*X~AK7$G?Y5d$bC_4L7Ss329C4W1v>x7MF=OffoL&OTsENs_ z+)z+^B&(t-%NOm)EQ!i4iOKUt=Tt=JdE_!akvd+Oj(ZsYGjV=$(f$OulSk{SR(^o& zT-l|~cor)~ux6{or;z`Mipw27<{koAw&Rb%PzpI=w{juv<(_KfL94sqWAVVo!M;_) zn+Fs~N;xEO%D2y=Zyr;}yf|(Aylwm&y&K56P(I>6mIK#&j+;E_xWn}f)g&M82oGFr z#3|SRi4ZS+UshS4u@P)(W+lOyf3h_!b67wR99 zFfgMsqq@_D-l)X{Sp+Gz_<;{Lg+pg`N}pHU8k3NFCW1y^CQ+wBh>ift%4f( ztpHUB4IY&~9kg#&H$&gJ)n%>OaoO44NQA_$(A(J zAk}6Ucrc^C8@tW;*%YyZ`Hp8K=-Z*>L2l~>>#i5~--zAT_^@__U9)1}=toxdb}ooL z8i+V=yn}vFPD*EA!1P7;d4KZZ0o6JFj|-5856+|#6oRC5j<`1fk{q8j(-#|l1BSnO z3keJit}*D_fda?=9}t2j=<{an$^s62^W%sh2$VkNafJu!l;QFtLdSjd@B!wHnL1^5 zC>0?+6EW|6{r`dVbq*^!6v46p$4rE0!t)*JuHO)POd#F`SokID337*xTlbnZ+nUSS z*0a5_rw(-FWGVCNcX#3MVuxr2-PQ#&?}o~o!6%H|7`#=x#L9_MNcpD3vl%Ab(E}!+ z`FhYynTr4~UHbSI2i2j?8_ zD+u(k*dmma&YF@0W&|J`9;3{R5dt3#*3g8}($e1z4MuHTj;KTBx2Cv~noJv<+$5pW zQ?dI8L(Xt$oT`~jkH4v6O;2kl=Jl~C7qNk@YNf8dqvur7a|-xAAmtIP>)ef$lL)pY+~2)u!759bTkEHtRw zr&g5z*}RoHwTSeoQejiI%&2Xw>0+H+E(cVmBx6S1Dy>@7yA(?>=~ZObuud&&VdYv< zOq2w_HWYxrI?Sr64;xu;czNH+$+y&Tm;*T60kwjE)q&TOx?WkJha2-7w`C2LXFZo~ zJDc%`ZCZY#;D&P7E4z6)lj)=DnivRbSNwiQUEEK3ME|Dyj8^=ct_9ZM17M-! z-uvfwwq8HMnBM^2f%^f^qt{!{oZv`}>xIrZscPLDW(n&E%)v_eXth+=1O3+AR75cz zvW<;}TY7U>RX9I=qJ8E&I&G6|EJCfln6`hdGk>!P4(e1QWl&rSO)a^WHujn?*87X!>V?)XT9RNCIcS;z6{}~kfWv$xI zt-In;uAt!ij3)C}&RR2h(DjW%Z`I-PO2CZh8fgGp&K8i0rfu1vvRfc(&rN3h9h>~U z-R|}m4`*7Jdwtqp5APpmIF|Jp80=8|x*<2Wk3*}EhpU&1tHr z0O_LD4^D24`=&xhfzGO5U%J}&;{#P_5)p`?bl>Y17#%kOTB7>Q4YO+9UTekZShzs2 zcax#zi6z%0)n*Gxl8od#O7}Ezjw2X#fBGGN;6Ghc;fQF3nd2?&ksx&7p@&I?oB!)$g@rP7+auE|=^roN4WJc)Xx zXx@OOB{j>Et4@`4ary>iH(2>r;sRof*v|gD@T!$PZm|Hd^;9X-ZRi+g{B&~gx3w}i zHS>CBP~c;zBY)F~>yUeeD;m#N_H7d+_Zu?{5`%2v{Ad*FE;|Fj7tI?%2ZirIp>V_p zll}nFKKutx2#MU6zH2TaaI}#(Fb^#lU38FCsu1<G(trf~c9;eLO4YyKbEPu;3w{rL^_(-VPQ zzGA=E(Q~dRh*rD`0})UJix{{hX7C--FCCsc&zd+SIdJ~GDWiGIm~q{3AsFXj&=#}? zrqiT&UH7PU9rQg?w;kwqY^PpTRX6o`;bNoq7chAsAYqSD_6;$fk%-Nl?(kX|y)_mC zgAO$0eJ0&h5yWew{`PwG}Nkiy3g6-YksJRTzS!?DIn#GHPi+Av@Hk#eQ{ zqNn>K9dDGdYC^zv5MMeQkuON!#En$PoY^n9H-Lc0nN_5S!wQ!pN^CsnxGT??!AKh^ zSgMT6iSRl593Sa{7CvM;hhxGU7)8l=1BnMMjfiZF>VS%Y7B6Fh?m%n9i5)K)zk>mw zD7ne7+1S^>BVmb3MxU67G8>t_v6*~M3>lF`5H^FP6NuAIB2Y|4eeR$=o|-SbTPTA( zOJ-$9Y8o#QUpO9WQ8$0$z(8h81-lf}_N?OgzJDm!O zTiB_)*@Q*r0C&p7&^0Qj@w?~4nV*aOM{*eZ4!VmRc-euWe1s>*Y zO6+`a-8YnqC45t6@>)892yzq0ZkR?=P*mOfLmUbE63 zw!;5ry8K;LB;{qh=iaG3Vc+`5{T1I6QOI=2fLkHqd+rPw#> zG_77A|1#MA@ib;0k8loP?+=ys!vFi}VexSa{Fu+Yo}gk>)cFC9J_K7Q^MVu{IJmQQ zyVXCoHS2hD^UJ{jgOd~KD(~VtCx{JA>G8txCEF}s_qd^a6DfARhTSq$YAi~)sThN< zQj`V{BnR%Qz^t}#OIuiv=H88x9B&JSY>?+vQT#SCDSWQ#wD&5eWlYFh~M~cJ_ z{xt8lnJ+}sQW4g0he;hK(RJT3K^%^jjmm*JoUHRfva{Wldq&RU5hg=dYsN8S-ZlXg%TA;Q&x7kMxf>$qk%Xq0>RxAD1eY;M!w*G_-sj>gKDU_ibdAUD5eBE9i zxtCAiXmc(fHT+Bz~~A0Mxu_d}nA2hw8R!^_jhCr|?$p-v${wte||GV(b7 z{@=qp=Hxt0{uzwL)$ZDsz~uhr{ruGY{Nw$^)c(9H@d1;z3-1qfcefxAGm=YG@%yn7 z$xQL0hYfokLsGrpHo|K-ZqMNiltHAbmYhhJkQBS>tb2eB&gCakD zM!}gYFp2l$8QzbRQRzYGD%lPl53*I9mO4cG=G#2p2v&w6Q zV~@2wpO33~9#X}*Bx0y!*Ako3WCJxh1hak&k7}kcbsdrVSCuU0X0Z$IqhBS|bb7#u zHS;U28Ij5wLTC6kDMgjwB%Dy{=8d@*Yb>YFX?OU-wsyY1=eu3_j4ARzzCI>|lKBvb zt$=M;^g9T=9+>s-3N8DWAFe1r8=&3`^0!axR;q^m-%0 zy7ysFzRXT$D$#^`z|w8;wan|4`Tn4dQQrpC#m^N&CiV zXnSZ$D3P#^5i2uHOnE&(pMOax;S!QEaUTTt^ZI^K9|Xxs88H!&Z}0Q+l1xlol98FW zj+XlT$3KCX0LpZ8fVv3)o1F4s*q=&T-s;zA&6F&IwEQo*I4X%3l|Ojesgb`V|78l)k5=4J@=2F7#Av)R)e^)~tnIb@cz~I^q@87TPmVJ<`#>U2^ys^I0BR`{vjD zg|S-Cqt>~m-o>Ti#i=Q+b-ha@AHkR$RHV3M$Kcr=+qEXFYi)S#a-+x>)0`H)O1+`- zx~hU}S8?IfK_H+klu=vAz|pX*^}SK`BoX|=h0C%ew_!;_)4tG-b-q>G6NYau8SF^z zZAj^I$cga51KqbXv~inC@c9n8v;8fnaNqBBweG@2!ee1#!;ZXm(OJQ^Vcw6+P0(qM zhWBi*a1BR0wyBx>$c)b%5ZJ6au~CM4)k@98cegKhD^z)quNrpsH~X=lm6ppUnXsAW zFJVv)^pRG{_r+qqb2fbhP5Q8=47*pq=%Zrk_{&4vh3t6qT}tON_@S5*<|Qd|_wKaL z**?umbNXfGG%Jfyt2JRv+nywD{UMDiOuJ?(WG_!^+2V5MVIM^Ml0wBd1y{lns0r*{XY76GF9tmxAzzRL*#P+g64U5s*`P7Na->LOsHh{IDQm&CM7 zJsA=DcS|{ATHga$P!rC-J%Vj~}>8`Y>_lkh!Gk9*&Z>N7lU3%ArR z*DPDl+&4cnUBrjXNdRvpb>&&jMWCPqPOV~XX_d*zB{sNT=JOTY)^|D--;8* znaTFaqgBU*1-^8nLo(K@(uKVLAhy$_gA}w$aTa)?e-X>z;Bm~^p~-T-JHYXQmlHu z%6)yxua)oMc_Tb{=DBq{m$bK=_v7jA4&?IGdJL$Q2eCE7mn9C^z*V-=dy#>&C*KnW zq1BxO&e})!C-&!Q5PWm_Tc5;`^xym z%HG1s!;OKww6m+FqMn!+H7P$AJ#<&>u#d3MKd#;RnaDgpvG==lpuGQ-ymS=<&52zV z-jxmBsa@`g^`;h1e*qQ)Qkp}V=fyOwoB7k8L!?*B7#U&IDL`iq6|q%>YqQv}HDm!j zHlZr{uPa)Z(D0meCOBT2PlrhVRYRl&?3*xI!TBL=aFDH%lPqX=qMWf_-Ou&j|{kqK8ll`{ew_Aae7ck%#tDw!& zd6!)H_F;gwt&f~G%A79|xVi%q%w+#;t_!CoxRhZdgqrd{J~l^Pxf zGeFV*ut{V&UJxM^H-uU0(W!jKtiAKDQwEwTOOj83XGQ1Q%1%lik_5K>bd~Frcn1M1 z($Mg+NSHuXySHff3ju}F=e2u~bR76C8Xfegm=l;J3III}SolcD==jOl=(#h?9T`!M z`&hGcvh#AX({nRY36Kp4{iYOaS*j36{KbHuXxPv2DWG8Pj0g!~AZh-$wl-kf3#dX? zI7MY>Nh#Q=ek3L(WT4<BZ!#$EHmw zm@aCmOV}pq#S|%}q!o=x+R@J3G;q}O`z(H+UrxrKDrtA+q>s+3S~Av#R{E}X?wVra zisKHppE}};KH`Tm)~6=QvmPS-8oJXe##cvzkGKud9c+^u_(gVzd+9v!rDtwp<8h@{ z-)SzpiWD&o^+Yn#jVU?3`GBd=dro|=)rsAk!`tU3H5|!U6|l~!A?@SQt8niKbt}2D zX((ouzu;Y8PREmHNgpgoyt+{MG+mf=gK}s_7}S!N@hq~Yu%+2DGL&a%&7*wl| z&0d}*(@#mJUp0xxhk{4Scf4dZAG8ba$?$t3;ZSl~FK#^IO>5D)SLb#v_32vgR4uV! zRZ=-0rnJLxH-z=hl5U>wRkJCY)12NfRt<5F%N)L1pt}7c;z@}oqN0dRPo|_EMaQg@ z@L^YQfR@4d-4?hv-xHMlgZSru_+8{6)WNLqnhC6POHii$dHyJMI(M7hAp7ElYLnDdwCoK*C(Ha8inV zNJd5>)@+kehnmFv9hDc@;?H93A)C$+Yt;H!@G!|q)-eq&CSCIUlMV%(F;Qjs z@*6TU@`P|h24yy{1bH$eiy@h!cUh9K+ywK4JG%T&Eoe4_iAlIfO_F-+6uaPQr~nPy@L|)x zLXcJ7;rkrTD~O}ee{V)^GhDv~Y&9EpDq3@#`pD7T_=eFF)dbJDx9XE6>gVP9`Fi>R zc1Oxe-v}bVP5MTsy?g@_2VWk(zMVvjh@;TFgH}hLk-R;~g1fcyf|j5EFkb&X+_1+Z z>l0n~@`HB6n|vEkgNE0S&DTdy%r2L`T~0i@SdEg_e=8oWQWY!faUR%x>y8c^*L+q64r$w8+KYp9fxV+tu zt#9nc-MeLeb;*fX?Yp460{Q0A%Gxtb+0ac@GfYm$#v-`2EUT*=n46jXB&Qe|0e-%x z&wSkpp!0vE#6`$Pex$q~0)ifZVRu2fr4_eZX(eNUIVEGk&6W?ttZwE=z41Q@=o91A zPtCOnz@-F*;L9m5qJ7U!u^wHbL&d4uvEA5~3otWMb*eMyP4yWWkYGo$4(18jQRxm* zKt~0k{;)7(1&2rGIJxoJF-Yjp$Z~-kR~6F>HsPnUX2y0XbsG&J5?@ut~9+8 zX!GME=r_M{;tc14Gg$I3Y(`h7g5Q-d8moxv&cRz)m8<4V-m;~jPD=$8j113QF=qOG z87DN#f#7wj;}*ZU*OJ*E-Z_JabwvCnf?{=Y(@9t$%>d$Gw)UUrBSY_v67KA;-y9Cg z-rQdOqbK;U>)VbXgMwhc85OA+&sp*z@gM+iAiF_{~Bb%v2Jz6G8R3Iys36lV6J_2aMg(a{btd*(ia&NvnAo6J47%;hev*dJa zxMI91B;)~j&=r&2^$drwB1y2B7wv^?;Q3;&JMh&j81q8#r8{w(CHL+gfWzo$HphcV zHmAHdmt?#}LC(&{Mt@Hj;oO*Xmp>*eKPe^DrF#B5@I{vedT5qOU<91v6C*rA=qHc_ zZBJ0b!N|r(Nk>PCpiMR=_P0-@WJIKFRJ63v&th_lQgVtCa`IBrJ>`947L@w-NJsKh zNmZ^>Hc#BgP))+r-ye^dx~k-KlcetE#6=s<=##?GZ}@DOU}X z1#9oK!vmicRk?EuyGG?GSZn z-3tL{ZsOx{6qO8VTJ3KlQTMpyc3Mu%0~=Ru8dc=9OA6}enORfWmumm4$Sez@IQ1p7 zYe^^7b^sIg`{V%Q-^a;^A(>ViCa+@_sAh#PE)|e0h|sMHl3L|OwyaDoT4m?5#i`tL zQhcu6iQVh;!q4M%!BQI$;2flbNJ76h7={o=>mVxbQ5RpoyZ7caX$`K}fy?-;Q4T%9 z$8~UeR}Ty#ojRsF^rm*Jj%-?@wSdG@kFZIyVvBLb2K)49G`eIZ zlJ-og+@tq*!#1fHo28sLZHOU6jeg)2$`xzfQiVly39AXLd$&~A`mYVU9oq$1cKqKw zbV-}+V{-W3CAqxXV!3nxvdVVr*q~~xC+4!V{7DssV`?gv)Z$a80h7}qQCQ1{Y zdF7=uD#?`N3}R6;;cx|1+(gvFPuPN1j!1UI*a8{iIMbBzm~*948qTR3LwLJd-6oBa zE$bB9*D3^$)bTJXlp@rV5ob2SzWhZLq|GU85Z22Sytlu`z{tL)%Y7cQ^aiGDiJM-| z9@$@}fy>Cd>*42}Fabjx?gfl8gMXi7UQl&@ba%kEGx(YTbdA}iT&#MOhEw3ijOc~N z$*3Vsnj=b+86QYHxgXpOXnY#Jj>F_>l0N;RkFgi&pvapxymiRJbx zUEw0htPA|;zsb-*9AP(&!B0N%)nCUD#A;E5TJ5@It!2d&p)17+E38uKLdOf%hInBl zE5^)zkVbj97A1O({l-h3Q(mKl1+I9+D&T0u5?0|fm_9paEguv+{vF+(o^9Td8~)y2 z@0cq;3t8VE&?0%oN#&7I5XFB8fHO@36*_?TER3ikt@a=I@riHY;hk@9>z(22>m#7* z>;$~Mfhv6zViLIRmp7_TEC7-7a(H|7$&P{aDokR}cmNB@m!58yH*@N^u7gxLXjGpi zt5(!+#khhXmNjd^fkz1aat+q3Nwq8uNzJc3Od4Ir`2%%o;BromL*m4AV0Ym46T!|N zuahNm6;H%IhM)@JiUB#-Ms^1|@#iGosSCP$n^#wN#FiHKmL}ioI`7uzhPJlepWG8$ zYdQwnQ3*LwpI7oHKris)aVA3lGl}3{T1`nu(agzI$V}OE*TH;${9)&Fjn>Q^wwo(j z>j%&39})t3WhQ)t4W#h88S)=D65_mbsP{hcVVh<_of@+67CnE!44k`OR6M z-+*Sx+g7*heMrcYKt{wtO?jbsnuF&)Ds-a27YYwgf5I+UJrEfsab4kn-Ua<`Q1IOW zo&bY`+=gM zLWpUEfk}Z$`<*BTeH(%)BL)~FV-Zacn)=!J>A2Y0PAArXjue*+n--HbFrziFpgR{P z=O(-oqV(eDpgMdqZNP#@6&VNo%qBqAVaksAKQ6!sELoCJ7c`DS?Cl}^-u-b1gFbU| zGJInrsO}o)qMezgog43zP&6HTRZJ*aQ?Z-U4mr{f+|;lT7t)d0RS?+JnlG;C5 zzV!GxKGi?|aofRS!sA&K-?bI3fA&p~SI3Q0&$Z_-aN`P-C|)v790~^FA+`nHgbqwo zM6;%-mW_ES>zA}^9XrCo?y1v;=<2BjlUebJO&0=k%lSBy@z62Lp{NO)U(cOQOLm=# z^tOeWZEL;zTDx}+uL?Hu;?VYWni2Hk3lp88jx$pYH<4;KqBIi(sY~rko4VUtEqTmo z#C}zd*`&+vkP(!5t!l_sn$f=(7(&ozyN2Ot>j2=>7!zOAyxx#y?MYouJ{rfn?>D8%-k5WghcXzZi+28KJOwi&pA`__)~|Ey$`H!Q=PHdk9bQ` zB^Cf7&jm05YP7rd0SqCvOZ-_`dg~S>m?JKs=8#s6Y3%}2!eUA$+?)!oWkn3P_LxRl z!Hhb@lt;}UHvI{`GUKV`xl)=)V{&Y=-!Hqu?+&PbZ7(+8zA=?jzBO^cucsr{dHjm! z)Dq03EuBhXI;L42wVHOKGjGoA+yZXe?Ao@{G!5#re7l= z)5U#pms`9~eLZhJU$1^Xul_oOcHs~mC9LW#t-IEm=X3RJ2ridXy@7T#PK{Jgo3IZhC-O?xj-P^35Ck zN=`XwvM*{*3{E9knCsgz`kMBcdGeX*Kf5`-Lin`E1kL(I%QH{Q4lr3B4_8BD{GTRY zF8=1`rjEt6ofS>L_+U}*@AZxRKc)AM^HB3XlU@#Me`}6SsSepTm*~b~I+Ja}oI9Jp zRUU_1pG>W84kad6Yu=4P!^a14Wr%PZ=wCG6{5pF5@j$FK&dVWzL!UEhoy7HMMD-Tr z&=vW+dIxFAvJC7z=~E!U%rM(c8K({#4E_=t11n&H}D{SzVY5nJ+)0oD&4g} zx-I#rE=78$dh{cC?)?s279yfW)`#(RH_ZPvcpP3sJOM-oDZ5_&7q=NApvZZe+egy< zM-0)!aN-QpO^=d)JPa$nL_K) ze6|110nWsT^3|i8o}2J_4dy6ihjN^uOPnIlP%z580?c-U$v0 zyFbc!ze@RkJXxGe>0ioN&x#sfnHbYIG`e`Vf$?p|X zWxSdVXkj~6!}l)4W!iFPmkm!YB&V%&cKRmmGo6l=omeDvF3WCP6xFaMrCXKLJT@&t zqcuPaDEqN%2Ic(XC#2yfq~j-~8;(oe0Z>Oa=IdSgRNNWW{Ap8gW>@y(Rdiw3meZ*q zuU$}9!`E21egClg^y5HYBo}@jlY{wv@?*;na8oAkG{+$PeD}ly6|TFtZ%1w?5s6<| zvrHIwm_3a#%YN2g#*W&N6>Mc}#}OIF-TXpAW;rR7S*Ji5Tg-%8ng#0D8nuQs%ik5J zsAXF5)+;$r(+YV)%FND`USC!CeM^M9wg)yV0JSPo$ZH5MLR=lmjhZ9tb|?jZUK6Nk ze>a!KcOJrA7G6?}=~eF4DLc;rxUP=vS(D8temNh;3|S2uvDp?RajS!2?482hxp4XR z{OMMi(Wx?~U8qaQZw&5S=@VLFF{_l=FA147vXJ^-M1Cw1y7I{@wmgHGAitMvxn^w~#dDb65FM)!@cz;7}K1ix(4&HT z0LFK*K}M9|&9>*A?>OPR0k9Ik{Ja7Kae(D~8{1pkdfPhTH6noqH+Re@&!O}m9R1(= z_S`A_V!s*USPUW~Gq^v?x3(tYqcA(T6SlSYz(H>4Qnl(8#*D`_Fko|tOLrkn5MX-c2W@tq69MbW;*~{j z69HlFiM~AW-B~O-=kqz*_uX%mMU*^^<}lK2!Kxem+@BWbdmh;SUEzEiTx)vzd3l$% z*7Va8QqnQvpb7m5ATaXz07z-mhigc(l5$!*9|vj7(@J67(*d*Eqx0P*$_sn5!;_!m zoJh?;U=d`BF)HF986lHH=R+gmzg494@7X{pdLf!(JP@oFwEq|GQmY^!j&D<&dsP!i zWZOU=XG)NyHUKGDg_^-892``c+8{$6D8c{}=?$`GuWYthU?rM}y!1lp|*Yq;^HuNa=<6aO7wFX$qOVn}(N|k+8B8pJU?0)H!N)7J(fl%4^ zf!eiay@IWAj00!dm_og*e5(b&En&d9;kq!Z9J;9$NIUy9{10ydfEhLFVc&S#iv)&S zCv-vUi0hT*T#3ZM+oXAX*X!QU1FcwF(|hWc2?HW<)57WSQb7avDs~IJcC%I96uA55 zZ)ZvykSVWOJF*UcSTIHE9)T|>8>@o0mQF%uVsctqR&HiqW>$LUvwI*8XtOMf@ufj5 zCoKVmLXek+mxq_bDvI|L%^w-KJvQjDCyEEoO?ky91zt9AGff133)K`z-1E&H(jqKc zyqFY?1udxoEx7>=jRgf31!kmpWWV{JGrn)lksvgg*8q1u@th(}wYT~?ZE{lqK7vHMLO6GRv37$Qz*waFOX{X!pI(r!2 z6M$O|>tBmF9`;)F@j6^0;qPd|-<6xD;pkJ?6Cc1uuy-d0w}O3-(pQIuPltvpmjY1c zcW~WWpuQE4w#D!?2U^;C#ya1?Aj#@!+q;X57c;FGG91#sjI8S7A-s%8$Q|3vH z-C2dJT|s&;#xIxR7oUb~R(0v$>`IBT2cgi+4S^w5gL0{aaYuPFSa~z*d)O8935yT0 zW*K2zorLcn^!-S6Dw>QPV4tMx5kI;UXqf zCod_s{CK=u$>BhzDaFZb$49iB8I5@F`3AkI&6+bhwTIX2WAQwTEBsTd0dVUyBJK|C z=jG9u8`WN`iahq6fh{Uy+jc2MJRa+a3qx>AUa=0fl5OihH|&xM*HXlF8$R4-&m&v_Z&Wf|FJ8_h>C4}^^Tu%tbADFfkrdf@2{C+;W^ z!OS?!Nj}V3UhJOXh#J?LZgL7~SdGKlJ|O%@`c8t?SzM<7nVM3t*k_Ii>g`!B{ggb| zy76CJ*ft{YEs2-2TlR;gZAZek@E#w}w$~@0uk-Vdd*c`Oi~DvuwdA$3h!Zi00vCK`YCzxzF8Ka} z;@Q^O+u0sE?j9UCQ7K)!eC-w(Yt?(r?Eob`6z|?T0}7|b?CJFG==SYu_xv7yEo^Xk zN8#d0*wfYF)Xs+$K4{U1m(R2|DONdaFlUK~*Q{97e1brqJY?SNIfVt-LV+^kiY7Hi zD~W+;x|9(VW|?V$4VMP2&xcnQm6h~&4}I#IY=dU!e<~w)9_!;KBf~b=S9hbkM-R78 z17p*3r(0)KR*2n=4V_^+Iaz-QF09LFCuAfggn-4wMtgp*&Xf9I;&yn2B(ZGH{Gyla2>HnREGGKOtt6dAL?$Lmu(DNJ)6Bf}Tw>EO(g{aVNh4V#1; zG^ZP=+bM9RDGM_XY?6ZpDGK6Su^Bt159axPKvfiy>iXcP-8PR(`ID!LS*j+GX_26H-`!wFK z!9Y|a(VIE^w!5_|u|~<~b^HHq(n9~gNk{7;L)`juemnMnA>OxVJ;X2F?WFlK=6vx% zj|%|@b?Aft0J&VU&+Sno{-V94*HD1I~-9>Y})hICMtPVc6d`(ZD#&e`Ey z%##7R)Bd%0SD@ zj*^fRDJ~`1BIYEgCkGW5I~S

    ~GPSH5Ztjgk;|sEx~WY935;z1PilC8{@GgnKszM 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�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 z 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 Xy(;DcN>1NDvn(s6Bv~eI^yU8mJ#kDf literal 1075634 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�^{pre3y@0z5oZYKhH0k|9u0&%xOPg416M@lR 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

    @kRY@;gG2v3X&~3Cnam>VR|*-# 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 z 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⪙V1;Ap*=GUneofcU{WTxV1R4jf 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 z z`Rr#uTePO2#wlF6s=UZ|v&LhCu?6}_AErF(kG~QF`Ou+54{6!H0brCCJ;R;Bl!FHk z77iFyC*yTso$jGG4n3Sfh6`!>dQZg{J&;k48_20_4Y;n)2_?(338M|W>`}2Sn?hPs z%stvU$MjC^2M^#tGrZr>8GP#7XBRx_;78wYZwh_MnJg#KfZMn2i1E3jHd$M-dQEM# zHh(Ki`%WCqpy9bJ_c2H~WX@drfX(UK?uG~qs=^tbD!L3Az>{(|WN!JF6jx#hM$rv?o!&Ak6Gh-0U`uL_@ zbgz8B^3(p{Mc>Ns4LySgE&GK_={ucYakaU9CK$+YO?JR>=MDA_&107E^><|p;OP84 zD_>BK(C|p-n5U-(a-rqvpZ}UM@Z~T3esu(tQ4EHNn?W!M#v&xVcM(*65jn!g92i3! z9hc{3x@Ju889$hdks>_-La1P9%0)44lxw>PiYHIs?N|w(?|=Vq%bnVqMYG9VtO*{M z_-2p^dn2V3+d4lkyVU;v@BjYf&$AABSzO09ZQNAHJb_U<0$2S6dAJ9=P(mRB1H+47 z@TJZz?8K7>&ZJY1Hjq0{-^7vrgF?scy!{Y+45D0zVmJPoV10B7S}TUfhtC$nZc z5jclW^@ZzhM|mmV?8Dlu+gy=ZRrQmPw$o#G8_vqyAI8ywf%Nd*!i};X5C8cFvK)RmA00@!L1$*yOmDS8U|bqyIFGr| zfzj<;6x-l2l@FCfaj7hW$KZ0=5*yXTOCyHx)yq*(Q^z%Vri@8TIWc2lwtZ!2U~LRq z8>ejCkkS1$Q7Y%JWhQvzT$wyjvP#@pHrEK5*f~o5OhT)#di(qW#XyZEf z>RYEdq)hRY-R%YD#+mYz)AbNX`EaHV`g`B$4`9-U%5U6($0ev2ms>~ns3#dm)`9(g z1}iNILhjv;-DiM7f9JhChRjGGHJ>wO^A4=?P`-Qpq4KSdN1W4vX?1vI=|cNDrmSRZ z~@YZGiXzeS>o34;DNJo@JRKy_DH+19xZB7o9qGqBa?HoD?3vl{lHx zt$LGb40f9rlK;Q%ifcARz&x_U8~FJ;id%<;Fs{q6Ae zg7-pXe#;MSghsU6FaF}^Y68MLxFs75s=xOA*Cv+&H{q^4LH!p0*2AJdB-P^vvi@oH zs?3B27t1o5x@H>vg;wIV1n!^y>7OoIlefVVZ3oxz=n~9u_Zh(hmeJ4ClUz;PmI>GZ zlH9+W{U!|drBj)__Ud;sfE(|Fz_2E3p?L$$%%GihS#uv8hW`5`26*6o0>9|MY;)5$ zc}u52&)@+I8q+plMq{4g+=&Z3Nh}vScKn^tz^SBJA2{rk9o_ZXnAq5m4JB9QI4WLH z^pT?Pv}?~0!wcGSDNk8=r}2g7T8{W`;sosA08_V_bneX_t4|uE@>E~(rS;vf3r=0` zO}dnBl62sZuRL7Rz>~|pZ!Y;t4=0uY>hnMSnV+lnd{X{Ab+LX@T5_Qt|KU&ms0f#v z3gXoXB5GF~xD+H;brK6g83SR;?ldtah9k@{j6i4@J=Hm2a^JkeEP@Ub)9N^sH)bt{ zON#Hxr&PW2$}17>uU1)m;u^XCz`ks7u{lh3u6DXDH?qWCpV2p)D}Zf#)=A!tcKbWO z`#Y1Dzxl0{J3U#Sb%$oCF{+LiGcOhb&B)63{$A~bIvCuuSq1{jh+`|Ma3e2~$vf+oD5p9NxP$K&hUzUYc&yzt+ss8$ux`tD z-zX|}wB(Kix60*`HAP6qjaHsIA)9+iN0{jVx~+#Y5 zl%jQ6�X#?Yk!v-4gOU%30(tZF=`vq+jj!JsDmJuiBb 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

    <9BaUo^S_G=Pf+nmuujLn^W;SuaVdoVU1={12}D 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

    h(2V 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 diff --git a/docs/static/img/usage/input.png b/docs/static/img/usage/input.png index 0118e456ec02f87f480e20736f89450f1adbcfce..5ee403ef2b1124545f8b8a6c378f68e1aa8704b7 100644 GIT binary patch literal 53006 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 z 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 aU)n-US^K3ie9**m;hwyzT%pXvfd2*UmAe4| diff --git a/docs/static/img/usage/plan.png b/docs/static/img/usage/plan.png new file mode 100644 index 0000000000000000000000000000000000000000..c58e7617d1d0c6585cb4fb2df45f5b780eae6022 GIT binary patch literal 81015 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 S@(F@Hv>j(}b;81Z!~X#u*ixAQ literal 0 HcmV?d00001 diff --git a/docs/static/img/usage/rich_text.png b/docs/static/img/usage/rich_text.png index b212e25e13b0c678102ec8777af4cba01997602f..960f8e139b5d3099c102e671658c318bd930c275 100644 GIT binary patch literal 113059 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%0DwH1wh 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 literal 49763 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ν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 diff --git a/docs/static/img/usage/section.png b/docs/static/img/usage/section.png index acc2054401d7b0028e72b3d9764a3a769207d80d..64fcf1083acdf6d707c52910427702324a69ebbb 100644 GIT binary patch literal 77655 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 diff --git a/docs/static/img/usage/table.png b/docs/static/img/usage/table.png index 802fc1a71c5400cea867f28ad23f56c413b90c6c..bd653cff853d01aa2c278c6b318d0ba5710d2e5c 100644 GIT binary patch literal 62977 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%0A3d=YAG!q9NNmxiL5UfjQ%A-LN)| zDO)-o#BA2}=Y-&!z8c>dYzhZ9f&)S1EJaSwkTB(tWt5;mxe3V^D1{Tzj13gd#N7HMRFk6DD^yt;<=pbw@Ejlh-i4M%Ci>VR{!!B#TG_xI4_ znCehl;u?W2i_^15*sKmi{Kz}p_TdhavlN|Gft3(Ox}_&2iLulm>A`+Dy~l7T@yE9k zzxvEm_$$W~K>w&%-JA@V-O$!*^g@=;cj0NO*2hmwZxKWS%lZ+d5Pxrt7k9c&so}~K zuv=nx$Fb8Z&$k>JFhMG4%;tA?Br|1^c>R--T-O&U;SR_`HS$TD`|3sXBuX>_jSnJT z>xxYiC63yH0A+mh2$aOW1qNC)JUAHyhpcUK^2h71T_3qDm%iB?6M8MoT~!{+7k`z| zPP@K1O#uamZh*KZam z12#tmpzAb8o_mk;)0t;wmuKkLYhqHGtqMbWjYVYa*98Ncd6Za36O!?g^K=)4Urdbl zNSV;Dj^x|#U+^4jn19>haS^ujl0Lu@&$JSoGgWsk(p*fI7iGxpS--^m(I&`HlgO#1 zK5;FMXwOs-Iw3eRcs$ulV~?dY!JC!`Ssq!8mao~RGk|yeVqagR=G%B>#CJ{a^)0G` z+R$M%Ac9&$Tl?3Wg*D#SYleE4 zGs6ZsOKr-f7bSE2E4my%FipY|-+4x@b9h+c#Bx9ER4E@4=@Go! zK#w(&ds_LcYqc?s40b;ZHFR&Gn*DjDKa-{_gBi@lT0<;)NP%Sb8IRiaDqJ|7X*&G8 zBDs|&cr27owS>l6;_*+rCgm$ps^&K=0Yl=^^BoorM(#rJXY=75y9+EPFFv*VfZ%^sPl{>iQp#@9Kv zTW8;m|0VgY`9jh1$oEq2qM{t#i%2rdO%##ehM& z+LMryCJ~1fh&zL4Ji4QCu~I*k()>Q%x%#BUY?gQYna#16$xZqp_LUPIlRgSIWf7NsY)9e-SY$1wBBz`7$7Ay)yg9l9T$+&MLh5G{C_~0O9=AkeLO^yX>t)>sg4Zg*=;)FG8FKnK;ws9%2ck2Ao>gMfjS=^*}4^=^PEOGL6)-xNF z3b$*Qiww~FZILUkg4_9}69>tp26pqju&*si`xmBU%@5pED&6AFFF3rwgHo7J&_cXB zO3lCz3E(^-cPIh|X76uah}swJpmTe=I{Nk3gQU)b)ad1>v7J%0^x03JbMp7(7r{g* z=UW6R&Uv_OHfMrCx67{vS=_uf8`#4+GIAtPzuMAHKwe%z%9O`!{FN zdFxgwL3Mkh52D~zgu6P`2a%J1roY_qK$ z={4$ohQz#AW4^rIgKd=zMYXs|UWB6YYJB0CuSotk#M4$2pl- zFTcr||G21y?|tXqwI3|K>|I~)x?^-e+;0A1+gLxzIfB zZK7pQjuNl2%aLlCd-k8*fQTFunw#TVMSS($EPoGq)J+QTy2!-RM1H%3R-OWb+9 zL_W89j69GC#~_(+an!(}-Qr89*XxNdv6)mv)JXI!{nCo2T4PumkMt+->w_qu^HbhG zn8*1h4)s=|ESzidY-L^wMwc{spQl~Q$GBe;>Nu5d^MS`;cb20?o3>W<`#fP|r<>qc z+@0Ewbxb@|p`EyrAL_~&Q-NAHFAdmk%0;$q@ObDn8 zrOd9}P|f~vaAkn37Xa{~B_GpF5}i_>x_s3q1F@j^#elfv}>2WfQ@3$dOn9Jit6Wb=T zoW@O1fy`1aOjZY^IvCVa6bji79Rw-l4E1r#+wy!zJQr(s43{7iz1jH%Ou#aBKzAt< zcwajLoiXGoQ{fqg!&z)bCk&k*)>_HO`D5vkN-G}u5NyyO5`oYYaLT!@3ohzy9Lz>5 zBz2D^g3nXmewt3*wPXLSYatkWGB81u58NM-6plgR-VaMye7MAM#_F~ZM>JPg14P}t zXG04FU(wjrVXH5$i<;}wvz2f1^~G9?umz3Z#CnycL9$=$;7v!GAWOYj|89wLnd$&TbPe9^xWl2h~kD@Z1cq7BSK5djUwyY=uxdb zUXA5y#_;>Ko-w;aul&v>%P=53D?2F~AI#eHm`P>Bi&8~1CbjJ69yc28&xjv&E~E?? zL(Fwl(+@6Y^rCi?2MWjcvj(c0aPN-nA+R;Ez1;FrY(T12=UbAqT+)0@I$>mAEwi@YsN4F9) zZ(L5^t71A?TfnB4e4@&ij7Dh{nq8N^{QjAs3yo-Lpzc6t3F3~hA-O}gQ_HvJdIuO3 zaoH0-6%i=9l{n^yRoOhk#O@>oah2UFv=K=}HIxZ__>Q?R0*AW!PnU}h&&z{&H5rtYz+gx4q~xASYN@ zYk?J7f39(Kco>cbl0@S3I7)sQF76CUH%l!>ppDgW8Q!(yXdrI@39}@AotRKl3(Nb> zZl~E=IKS{a#;EMrp!wa1#q6fE=Xro*!(I-6YQM7TnH z!wmfBNtbAmblSrj6kervf$|wP zgxtB|c{25iFM)k#?pQWmhA^oQBac|Non~11r#TW|OWjXm3~k)aiOR5_kIdq_c%%u@ z)t{EMZVu$?4JmIWwAgT3Nad0e(#z@T0*=e&J&^l=NX zOk^xYHFQ*gTxSyz`wr<#GTJH>%z^8~eUYVdT_kQWfG^UCV3P&?-Ri)E;+WQnT1Yknc_K8S+aiq~ms*pX z5-03@S0VtPJ}rI|hht~8lAYY*Av!t?1d=%&;{8Y*un@=Rrn9w-j!!{d>si=jiX5iBIjdtgJ zk5|*=f$@wG;sIn9f?GB80`s=Mk`VlVPkrTomvR%YIlMP9)Cj_P7um4w`i)d@7)M|pP;4FKQ)}CnM0E|ax0c=f5tt;}f-o>14)B|rk|gjtlmUF%+Mb3Vbz;Yec+W^&e**lv0=ZcLp75iQ05xP;T?r z9hm%5(Uwf^0=MS_gBBzvxnh3U_uw&?&2L@`pha4+9BMKBjn^LEBgrDB5V5X|d9-3J z?1#E1efv599 zzbpNp-z^CQfRpsHaQ%10zZdQwr9kvC;ERCp-{=1KNn<~N(yc*Wy!m&;yNmCMAV>Zi z9em9AZ$|Oo-vSOG1dh-CT;By2|Bn8G2gJD_Nx>Iu|La10HUqnPLKSp*7Y_eBx{w37 z|D6|nK>5E+pTB+vEcBMd^V7Sc<-g244Zq>=7!DUt4O>Fzr{-|^i0{6CMP ztiAVIGsYNij7g}Rj5sP1KGL&i&rm;p5LI~g4Ep=CXU~-opum;b1aWHc52DS7PxjBA zA!Gje`}|pII_|S)q|ZKz3Msjy|IUC{QZiY3Iy;7Jr}v~ViG`f_2x$Ck6{NMLN^ zCf%K@%Vv8d!$fR!`*G{;K65%A32{bAqEMYevDlC%L8>s8CP5)klO`$5$Sy{cL8U(r zDNw2~{xv>!5IOGWFSl7-`8~E+ee!~ExgZXqe=D6GPlKhfNVb8|Ae^HV$*)$bVvdd)WX`Md5S`x#s8*VxjNuzaM6-CBIe%|}47DgH(mMdR8$-}5Z zy&)jR{8>BXB2cezBxqB=L6bZ#!n!@^LRl|i$sb*dUOfqSDwJt5(0err72M^Yn?3Uh zjYMMZkuNkZQL#{>!M4$##Whf&Q>EDyz|c>TqD$E0NRfiFRLdQkWePHT`w6uuM1(Bp z-w)saXl|EbMj1D+!5=Qb95iGpBwpzr#nG?iD^dFKk>Jr56HyK0@0*+Peax9{^z#(B z%RcbYbQ?U^XAY5)v+u$*?~)54`*&vL#Or}`a!h4hy7ug&@0YTfFDb+S-uEf^ zp04Y@aM6ZP+|lYYxZNY!sQ$??Jwfux|1DDU zM!5Z&t$O%6SF!;oO*c!S93?glHh6AiPHKgjy#Q8_{6p-|ctj^A*ysQ5iYt3M?j&o4 zQg{wEntq|ueX0@*c|tffw!Ua?J5vCb{;!|`qrH_*!oT65N-ZbEpu#y83iiU34JlBQ z96d&uE`_?gJ%~!G%Aa;p=D#UW9OqI&b z&?y?ScVtUt#1D8+WN-i5FVZ%0#=}7|nOYHtowW`D1m+@Ty&3ydw5NrHy?;jrVmiiq zt}Iz|z*Q+kzEt8{r#f~}k*(&PY#?r}mjAy2*SvABNCr2nU#c=Kvc`_0ysw0-yq>%T zE6k@t93+hLclm0saxR|3j>yDfNL_Oij`li382YAX@LNmJ?m-&w|}eqy{GY4FW~vTV|!=Vzemb1jo%~ zMBx(8RZmphaA8TAcvSw*Q5gMM~BiD;;=y4Lwk2~pVk(d%%pKkhE zX#eI=ITT|Cnyh8fWo}aehZKi#m)PAGGOp}iL~Q0p`StEwhwo)-;pmN97z$Fn;Rc-~ zh|IHcs9kb|LbmLmX{(c=gc2J0vDQbCCkiJ?!%EtGh5v@AE37MC;5D~G_=6!8d!=D` z_->&vNr2oA1e$)zIp(Jk_4#{UEpbFxp%3S2;WXVaU`APQzV$i^T)YeFQ!Tr&es}v- zu*ti5RFe7gfBB^t;=3A4#U>N@_H5&WGNqMTnX_i$<2UUvTMFM|1Wndg^i#6aMy^(9JQp!7JH89flI(`O4g(v*y;CiT5K!kykx+wL|rhyEI-lSvlvw@y?FOJ%T% zTV-6@TdJ{ab+bSv?PsXH<5+xwQ1SVvw11pAVyHT;Vv#ZpYK|B)Y9tv<5g8h4wwQxV z_{zjRGk54wupvtU=F|7J42B#&FKqOG^SOU;NRqC5eZ$`4C3_`aU|D4GuWzJ=0`%Qq zgiBO4GJ46W%YGR(+qfE0G26)rhqlPb7y-(ziclY<&x3Bgbt zWUe8cj+jrPXnn5m{!JzO{WRTp!m z;X7N`9eJ{;417H2|7z^%-f=8ah4oE+1*-R>xjmP1h_b+#&Kf*+J{(YglDW% zp|PC*N9M)V>UNhx$@c={A&#SgJEwh(MI2cA|FS04;3Sz4@vw&5nwX9tKZ-3%gp*{B z{k^)0R;)%dYr~I8;fm3r2#7-AE8WjzP%s)xB_+Rq6(!S&*PL?WE$5~z=WkJ$TcX(r zo#-k!B*V86J#P>$5rFqJ!<`)N8ZUChJate$(0M3=`a3lYMCP*KTUu9W0%)$UUgB6? z6Y5I7dWH>27^&AMd$?Sm_tON!UnR(Er8re%NJ-24s8uABiU!C8y0YXn;xN7{uuJKT z-^K$yJ@!FP=`pt^>EgksV+}92LjQYyy4NS} zN@A48a$lS8$)o`=%sDULpX-TI30D^(1_ij#v}62GQYAsnkX~zADB<^b3(=9AT53Ok z_jq-c(Q4o zC0c->yl2t%lgFFC46SVzi5V}notZwUP);dw{Wj7p8GpQpsT58`o^TTRM6CpOy6-L8 z1Ja;`rs_*d$xc!VK4G*)t`0>sR1s16v{SwDI~=%dp>DPk1(wQs;scFDc< zlbA@B`q;l&uk?99sa~D&FHS@!WhIe{pg7zFhkq}-M=okHhf-Zvrzlb}ois0n>#43E z3A!LgQRvkbSX|&rM_bR$Mv%ieq(Ep5D!@dCJ-BY+aqN!sS{9uuw5Wk+OguuQsY5PW za?d^yq(1wJJr%Q07fgLQfE#I%(@tA>F)`ezI4yxWI5)4<2u*ViYuxxSq!E=GY7e-_(n1m67#>*fwohUwA(-ig{F_o*9>r~;+X6Z zlyMrHQlx3}M%Z;Zl$qo1Svy@!bWswC<2+HVtlDVCkC5LHZ_SVgw{8V=n-=vln`d3l zB^En=-g=TnEbHidkaW&_H$1FNmOZG>Uums+dIz>V;SZk3H0>`QcC9)tXVKQ5evq3N zKR0uzElqn9OdcQ>K-jAyqs%YM)T(URX>SCoCw44xn5E5 z;8RpYVI8#0-7Qiq<=YRZjj;c2qO@rqH^9+s3cT#*%uE{>K7QXQS_!9Ej4fPKFa2&I zAaVkI%}sbowBQrWFNrVjVE9GR$m63;5mHj4ixDY=Nts0crJ(T6O?cwwJ>^iD@UR5(tbP$u7H~kc@eUqC{)mr~BhuJX; zZ&^1l-S^u3MUcvGtAtMo~Y zmi}B852=>-1kO5U0$wIAvIzERkO~c~JL`&)Je=uGW~{Dv8R6Dmwv5|j&!`-e(`c{^ zLwM{&7kkzoc~YWt6&%c}yAa4G(U2kzrD|r%m)rj<)2E2cpK}C52IeQ)%xmT<+yyn@ zJ(m$%p3|ZUe|;lrF6ZM4o4hoydVtv$$o(E=Ja(TmPLYm42B ze!i0 z)~8u?)t^ojB52X=wqcgG^_tG4^{02p3GR%_N2sNX?hUJVwDfmnm6uxUhfS0-?#jA2 z3^Uk2o({<&XWWOJzLpx^nKh7o{45no65l|QQI_Z?o@fK2?s@#Frl+8t_Q_U%z29W zZK>%+?PCeV@7ltXoAMAvgfl;eYJMoGZcDTHB9LQ#mA*}tD=xd2C+|i4zqDSdxX<-C73mM;zbGvgT#cit}803USLv*I$6`pvvdiUMb!$T z(}mZ4#ryv$RBf*lq?0o!44w(|8YLR#LiUw6Y`DyH)5mTBJ*ds_u9FonEyxuKL@)?E zbN7fC6AsQ87o2O?R(gVt7&&HPIS*dw&1r4T1tL4?m@PWyIf}dN*D^ikhy8~5C3AQU zTX^D^>|9JON$-2$)jpG!;LJ_p7G(~Io zr9lV#ng8~zT&uz@_0(r5FFKvQ*z?E=Y91fv7Ei5uF=6t%ScY5aWJT)z?QFguuNA6m zmzGq5rCb;da|UXc(O-?LjqP=U!c2`3ccFV)&XQuOt1I{>W_POkr?avJN$mD?wN`V2 zXFI!o)cA$JcBnWsNk+Yz-Hzt&Qq`t-xlOtOe8yTpALJ!T{cPKr#CD=&DZz+s$$jeZ zuA_0ay1iRQ0;J07nfp5TV?J^zNG59}jFPME+3Qn|%%dd?j^;=Gw#`|YGartsXRV)} zO%G)mYz#2jTFu&K-#JW#c*-5{UriLB7%4|I_ue+oxY|bvVxRuV`k5P^fg#VBBX<6*ic!mc(MopqLUJdJQfi?J_Z6z z#-e8zMjlp&C_)FGoRO;Y&2su}bi(7r2>BaQUY+&i-2WmmwIp@aoXE@$b9QQ6tHCD-7xi^_NA=(dh10}+!?W6Aqa z>YOlFW$&hq_86H?^$6Tp!ynYPo@-*_4|e+3a60^at#XL_OJ8=7%ljQKYt#1v(h3@Z z0`Uexg^UYsK4Db+=@4N3eJ7ZUfC!r`O{ zZ@Xy{kPw(7*Uf7hi;IgZDq=d;Y8_u*epYUg@Ou}q#Tk*_q*y)A?iMw@h)FiOkb_%& zeTd09e;H&KDTvxoY zDY}dUy%qc~9n(hj>gb255tfRO(#6e}qlSSJdjI~tqt&~(=`nV4qMv97EIHxjNRf>5 zPJ3HoeHy$iESInebHO#g`Ial+e&3Xv_?d#`VbUF)4d2!7Z?@LOd4ipMjU?rmKUjCX z`RUe9<*u^SV@Ac{Qk`c$wYN6A!fMCTf@eOqmnFAq=)V4y$qnTr-RtF7RnJCJNqqx3 zr#mxh);*>N2>fMK)l3+$T;Qn!1I52mWETH8G4;|Pb*WCssPRoR8;aKH^M5@Q z{J5BRqTqzbGV_sovXR^8KO;t)!YdDjIax`3E7XVuFRAM-0|Ud`;sS`CGfE^vP4|~X z)5F)Dam97%^{rd&%KHWtwK6FLEuXFUXiLpd@2pWWK2p@`5NNNCsI7LeoLI45Sb#t5 z7nsR6CqtgxulOw`A&F(UQU>MOwk5j@j!X9!UZu5 zA#EH5li|G_cGi^_#z&}IBrmO;km)a9$RM@i#$s&iTylk}c-Qf$|?ND6iq5uZ2pE%k#>RB9OldyW!I|GBPsz^j_KO zb$N@)hoBE~If_!<{Fc{C?8f7v^BP(Tt-090QA(D*GVd09WSWY*+^r=n{oPTUx!|-3 zwOnVSAZvZB7wgG4m2@5{iTp$IWcgL9;|(fHP_##vHLV#Ip1ky?dU)mSaEY?QUL<}quEx8GQZQ#l8I&)v>o2r?Y$UYcQJ;ps8MAaRWSn76{ zo4m0$$Ro5IaM0V(GB0)~{avCg35NhP9Z2!h+XQRia%fa*&TS!cT`b}D+cxp@1z8SX zV(0YG!F)NA52gD8SDz>u`X1I{5gdal7z1nwNt~;VziM*q%uZIeL zD14so!VEX!dpnSREr|7g(!53@O1*T-lx?L}ELR9kGJX4>LP{04Lj}+XujX%iYIkBk8Mu9SoB4;&QDykVn|vT1susflZGf1ilP~= znfSQ9bS&v@Ia(nsFo0cR+{?uLHtJW8b<-?Rlg|4OJ8u&r%QRKrD94WwdxKF^SI5r5 zp`xUekf6$%?6>s15Q?nZoV++>lQ7<`eZRwNIURbt=r<$s3mpOTE!qT5+~b6sQ*cB;VwcZ-j8N`^)>MbH0m)>I~sLz}Xbv>xlQxN**JTr(dD=24ldGB~RgPf<&Njws7_{lQMdR43lt_x8q8BDl%j-gECIVh9#hu#`NLNw8Y7mJ z4{u^6KqpC{ZDy$iDR$Xw#8n7{7aB% zYHGqo5i>G!G&6f|09{pOAeb#YK`lSKKw#H&ULbp$sQ7W7@ANX=WG>Lb^5yQLO)DA`TjJ2V z)~x$2vGr#6oQh6GXxD*yILyIhziyWc7gwwU~)g!|JPX{#XYhdSs- zaphk)Ol59J0b;ph;j}NK?1hdCY!M;H;g}R@>Ob-%xC<4(!av1l$^^J&PPi9rKZ}I> z^2(y4(2uA<`D0Nf^oOW7qc;tkddH1uFktz}V?NNmf+m0yM(M^9Ld%w$nVbY$E|{SD z1_N~;J*>y>-3pmPp;C@GW!%7~U8pDv3k&!N782~wh1J#7jt-%i528!Zzdw=3JX?hm z5!$1~MLX4c4UgAs&P4b1xvVCcLh)qmrb!-gg2a0wr@b*jyfimdIAR$UzmN2A7j_Ey z16M@hZ*ZOD*j1^qCf@ynem9;*AyjU-_3-cI^Au*6mq%A^ii#~HBz~A%;KMXKr6}e1 zAbQoUJz{nY_()YPt|nf7OfyZ`Zy}ieiEH5jYXQ|L<;jE6d|hm+X#j~Vd^tEIu1d^t zWmfrjB@=yzJZ$SO@L~&Pl+&4^pl1%Wz;jI4Zq`r_r>aW?xb(gx5 zi_%5M>>s=4wm*l5G?>S3uApZ>MJ`5Np66Q`FKVmW&ernS$*y}Q^-^u8(&TEuHi(ed zLZR=jVQ~4HI_}FnQTczsmLTk-nwoir*>+0V7k8d*J6UfVt>jK;2d5t? zQXo`%lu9v?vo**HYAipuH_>m3FbXHlQ>5}$inH!$+8>p;q5I$yRFA36u~XbAS1LxW zF0cHO;Px^m+?dcbb$eHQy1Kfce05DtKNL^?*gOSWquV9;B|#!jEcbb!VG&xGXb!km zp;jVCE%+V}E7liA@p+F~f&?tX=ibTP=Nq(8IEX9qD@5KMS17vG9e2n@E9-kTUrq+w zt_wj^iv-A6L)oPFSi`A~F*y(%(%3d}(QE+1h?Ide5FV zfE^ivw&><4%B{GDp89Z+Uq$QuzRcdsd{?t}&mpf6-oC~=xKOsqmkN@AGd+`LvDft& zgXYfp>6ZrGu9PIt^n!-&)}o%+5l8M-@-9s`5v8_=JwAjz!{Vcfx=T&6D|?y?2i|yc zuS0E$b5#xGBC@I{GFx`!eLm$vi&i>%x3@$Myeyi>7H#nxI~n+Y3!;9M*?@|DoTDbiJr&{gp=c;m65O z*>cHgY3`5rH$FZ-gGr2i-Q9*JCUv#7v7f~rXh;a*`O@i@V>k8oOyFQpe1`OJ#kM?! z%rNhH8i}vfJmaOVWSXN%kuSL-i?NhN&;FhTP@>6}<6>cf8p7rxiPrk187REk-u{ew z4ayx(Ue|^|$;sCZ>Z39>mLL*5JiJg0t|65VkN+Fyet92O_!`3$DLAA?T~52|=PTW4 zFl5DZr2A42$5P?SKH~Bh>V--m0{5VOG5v3uab@><5Nj+^wAbrR$ONc1dQe<_uNIht z|IqLa=QrK!t@+=2l{f8NWo2az6b)=`ZCyXPN@C`gLq24a0Zq>%472EVJ4yMpIbT-7 zf6{;L@~GOEiPykZb_qC}HS6(8>FFAt`@SOPk`(LFE7l`Q`y)zZw>Vg7)vKB>_CvcK ztZq$srGw#9R$}`s7v`K7YiX{w^rn^>XyY1E&G@MA_E1~YrFQ6$k0=SUJ|ErNMPw0xN%e&QX^T)w_-M75F7;jh|ZGU;U^PREBhr71>)4`rF9PjJZ zU=oif_PJ)I`n}&z*bg0kN#&E~LWe5kF+NqW z+1f15l5@$z*)G-@u{>jnfELZs7i9WfclY-rP;Vjyc7mkNmP6=;UwDSCiS@oC6SOrd zkpqQ6UEVwG@9#f8J_he}Nm(I!-ii8SLy#m-VHW^4P!xGa4Vp4MCv6HDJ+_1;k07GR zlLiZMo?%ioUR+(VrVK4DY42s=20iyrlE?!Xdu#0b+UNGFy?Bw~h{gh}#P z+VJl1D>f|_HL7m5TJ8uF84K22$GwdD@uA|yp)knS0Q;5xu0%gS3T8PR^cB9ysIelX zHqSXX!g*K4Ex*NE)5cKKcq^lks>4cF#_{XXTJQXXX!5%jQ+ce4Jf2-q`wmy3v&9Zy zq`Z7&3J1Ty?10N{yprsG@+s^UJqrg%x-CNoX}Wt>!^O#Z>xlK^gMez{59MUJ^I6&FT^O61HO;0wS-`@N5ZMBXnDLC09&M`&p1mX;RqQaip-3~>mroC)b# zyF{TX!UPi{^&9^>p8-Q-W8?g9-%N~*7Mq+I$;eiB$G=%wS=lwDdysz4Sy888XJ_Z; z=BA*ac>8vDsm1-~=0=KAks2$u$8K-?Ga+rLC=_wpm+iyFCJ+jNfq}!r!y+OgE3c_A zLW_!uFfcHz7aJYHfuxO%jq2)Z@O@@xhS&M<&6_udMn=lY$`=!|1{QIC-2Z? zm6&ZbiYF!BVDM+@6y`QpWJeBSJ6uHeS103ADTK`g@4QtBUROD2vvApnX;5s)6OW_F zun@z*4y9v_fd(9YGfioD;%a+GHWQtz7S?~IKXkWk?LNX>gt&6>iFlo zdrgY_=`bI+ai$b9BtMU&D?kOZqGGi(`xR#mj=*iqc=Qgw1)|xAm+?TI&&*iQz8z0$ z1pnIDY7@KaTM}JZ8KhLg$?|RU%t#|6VcC?ayNwpT#(+}HH(qadvi=e1oy#s$WrGQE@U+s90q(`Z%cbSgG6LC!NOeUR0Eg zoxNqHU$Cv8LvN+G9#U4=0!!%>k&G}So-G$XnCVBb(&SayT0CZIXKyc?$=Bdeo3K#tSXh2dPm9C70Wsg8X)P^{nl?;~i~Foc3(!M8zJ>Yu`MEiD9UYyLZ3`C@)|7#{k{{B8-o?ys)sav9Ynaxj82%r?xh+YxVr{($9_s0R~!&7#|;M z(t2+b{(=bR1dfRd#N)@0AE{(B&(F_MP*EM7odrCuj~nc_E32x&qXznZ7_z(w#>B&O zy*}1^`7$ab1c4{RYoi~XCnGaDy4{dP=lFT_fT0Kf69_vH{NH4=ob2s+9rq@{Du8(( zE;MxMGPP%dfxUhE$B78OAmnxW-5rYA7fDoASGNon9E7qN+Z>4bS<6dge#k$D+kJkb zwU>1olQ}Papzzq_?CeiD9W7;T4aKpAU!9QsS2W5P>D0zA;Cd!3of@B_j>^ipqV*57 zt)xxVesOJSdtl0DU=p~UhVwOuWm;k~CWhh+PQ;n*4Y0iqobfl)E|>} zuVpZi`kB^vw6jElysg;F=JO}Qso_C1@wKc#_0p{qm)6$S!9@Br z9>=|OZhMt-Z6Y)@ITaPLMD-LYV?)D@AXI{U5Nxie8%BeP4fXX(N=hN3IXEQgbFM25 zymGXan9DWZoA-rUL(uTvO?-|;OOXBXT697UU>Pk&HKp<@E>by zYXt>`4 z_yGl>Eg<(VI)1pjQUv!=Sis(;wJ6g5o(opb8&;xZL=6jwTB1$` zb)=fAle?w7^iSL1ib`XH!^iSDU9G3U?T^Vy=E!%t z%o{OCGfi3Hn)uSmg@x1u7T;tv^Wk>Cd^DZ=EKZi6nT<`e(s1B>cO2X$GdA|u*x2(- zTTNL_ri9~fr$5(6;=)m*O^`8Oj~;Xiz2mQW%c2}2B<421XpsA^;qeFs_BG(7+f$?j6Jc>lX>tatC&R)?BFRshPUUiM zCNQ+@azaY&xSp;b*q6NLoyMnfhZ2{nd*jSjJD6>^@tV#e7GN8hD&Uv<{Y`$4u-lms zxPF)7Q_Cl|WL@lKzF0}EKXXWfADzfB*&AVZG9hqhl4{Wyf>M|AAVArz={+~L$G5LB zsVTjSBRZ@j@*LHQdcoj9I2V7=CBr+1)s)Ag?>MVmT-h(3aB{at(s)+<8oue&NP#kk zsNF%hgfZ-~XLNc-W;d1_{om(fHtz2E(83`7tapxIl$6D!iYx^ zgVl4iu?YzaYjQr)c5tXJF5U;3vAD3Xw!S_%IJm#JcmMDJinPT_GV~B^rvm!kBUR=Ynj7pRD9!q$MQm92~+!Lw64k^Y`rZ^s?L9yj@&etgRWY z6+v+Xu%xHAT0dAcF`?w{ewUn#3zX5Lvc#L%$49SFQQ_LavVww;@Nhb6YEl8+6~frK zIG|l}b8>EPZ~Fx=MFF7!%Qu?Ao0O2i4g|J4#-9Vv8&~ArqX(8uW#YbNF^QUU0zVgL zl$6!33vw!>hmCgfUl)ez#p|M=5u>}3l;(Li?tY%!hvGDwTiiHTbw%lyD1^7ejO zSXcmY#>iM6LBNSmKrp_0o|=l!^gOIuigb3vp%KI?2$ZXqtEH;yY6n}}1|Y}5h3(C5wT2L}gGrd=c?K7V-g%e+Q7`+Hd#0|&>{ z($do091kC#hpz53!Y8oamzS4-h`c~R=pPy?DJ#3YxTyL5oy+~w(!zq)R9i(s!EUuP z5Mol$y0u8{q(a3TyZw= zcLd9@S4ErR5k3|%)go&=Y6Vn0K!+&?svKUtvZn7HL3xc6Sy3#w-EHlsYz-x%+M1mv z6Be;pPg$nff>za=o(y82-EkAY$;Q$9!jNE0UB#8N{)+uARoW>OkH(=yP|-w@6Fp5QbB#62 zqBoNlSLD^zl}>|Q4{$!dT7nwo@9)39z77%{lu|aMAMu5X-vF0mAt%=dc4?u~sY^3J zVF2HQKYtzrzVHcouY`jrMY@S|82AsApisWgpxO{6gs|^S?kc8bmJqhvg zfSwyKHM@c_-NsT#`uX_@qTnN>D-_bv(43x}R8&@~H#+R@O%?-Ss0FCS%3Ae@e1p)k z-x~T4uljA3rTl%RAF2Kms!-K^JG{X8ae=IR!E(-bW&29 z0BOPrS@HlI0f3c>KmnLtdA|!%(Dv3SN$orJD{^vk-|_JQ!>k_%${J+e#^&Z?vn%VH zH(v`15CWLH^_dY^3nuqKu_umF1(8fZ;10-RXQ%LSBq>5{R+cv~V&miEM@D1v1<<3c6Q{Pe=e}?-Cd^71g(znu{J*uK)EWP{k;{ zT;>q>HzOIaizlg-e@&@~xw=}rzSkD9$1cxp5idZ?7A^n$q2J`-q#4r4Xnr%YqkNg7 zQZ|`b7SU^x8lLf~m%-z;s&96&?&OT|&JRwzO}r*M>4h0eYr5~d8#4(8Yn|*)TPgJ? z(hgy6Os$tiI=fnsopIfbNz*kIh-?0i# z-5u0{J^5Z&r&D7-S@Nms@$sq+6iWfm+j!CtU>Vid*VAj%Hs2jK#ZgM9a@%kH`QWTc zmM8EsfilSiS3tlgG3o%KbXZbC_tRh>aPSu|UI6pT?crh?he6Zj@!nM-8JIj!P*5Nb z@@2DHbvvL42-3pCQRK=UZEbHruv5xrqBJ|rRvLkHOXG7r1w)A>;#JYs=4WDJvNdD# zBL!mJz|fEl6vLad?Q*TAOCU09YHC2zt?&M=aT!;JK#ujq)9vRz6uouxumVF zEhZ)g*-sJheq3m<2P19)?#UH+?#0AJw9f-AOTpma&`k$E8wv}vjAuTN*5Isb)7A#8T9qvu(MB& zjh*yH5D>lyZYKWc7lbyP$+{;@yX|>p!Wo3a$U{_S=er;Uj723w#YJz;jalb!gMue_ zNQE~zQE%U?dat`&jYCA*7UE1dHEZYcMmD5!D_F;8QcO0;nHG)m*L4<9|2(uAeV^h+QfVqDm7&7UqmHDfxrWO6F2<K~FT-N-k)j=`8M!;JXD?4H6#{MeE(Vm1hPZNu%!#1H6mRZL1Ns-JN z0`Wdx=>Xyr2NY@$BeDVy4j>X}RZ7%A@f=EFZ39UFloD7x7$M+p0j+m3CQc%q!Q;65 zD-TpiXGce{&*s1#20M$2g0eJr7Ug~anvSldyuAF|H!3QszNIBEP=~zl*GWurBev#hEP$f*1Z?P=Oh%*4YG(qiDzShUAMj4NxUOd^48X!A1HSq7 zV;ukOPA(8uhlkdCeUKc@SYedZn$RA7xqR?YGhN*;adB};Nvc3+gChe{Qox?6N=m}P z`)1693&IYNQ36iu^Q$ZG%ikatKdGyyR#jC+L<|EU2P7Wooc;ZMz(+y!3-OaNGBQ$8 zZJ%xq0xkqjc3hpGdz|mY$Wbd5Dt*x)Ojh||e9{-eVWab)#bjMbP4a>)lp7~ z3{IJC84Ir>WNnDaX$zOE(R7#O=4U8axvE!aq{8W`Ex3MW#ER2 z|9D-y4F{oaZf!cvRFqEiHW<6G_VSfj^3_xD6GT9vihlYKGEklXj(jj`)*qkrk^D)F zKheeSc?-&RJ_rX;8wCUeqP=km3Bk@~fv_WhG*_68<$%Bi!0O+l@B3RwM8rQgcO4|w z(_Pz>J1FlmGBQ9e(9_d{ZT^Y|TJf6O;BAy>)@rpy$xv3fcBaW;P4=g0Oik(W%?Z9zzXO`tfQPz*}G&fX)aYt)R&BdR%|6s;AIf^`$tDdhli~OeJ=EDX%gT?eod;0owxL6^c98ORk-T3t7wYM{ZOhl*-4aPspn_4RE75@vXU4Z{rw z2bY?b23c%;pF5Vx=PLY&xDn;brw!H%$ZR>e=&URqH8nLOBZ`KXc&Jnad-ALu0F8Qj zdH^f|^#kbgbh%D>SsA4O#>z5#{o?ers)~x!{!}S2UH~Pl7bNfVO0im6Iz47bJGhBXl4Bfi(F8O2q4FfZQdWS!B4yMdj zmyFhy9usKyAq^v$Dl>C-^`l~l+jqrRU@XChZBk64~DU#aU z9h@HGXqzNsHSte{Z!WIjcxX3&G0@XYM-a&DSmKUB1nl)9LnYZjXX59`$ly&;XJ8?9PUZ5b#N$8Xl&-A80YhmY-~qrQVBNzaze-L?>FMi>gLl0>-v#v+^kDvgBVY=E`GBGn=MDN+ zwN+JjzpF-pTKUr^ou8crFon|fy;!w;B!v}zBi0!>JOl)T>nH6Z0m7?bxB~abU7SlU z27thURu_=9J3Bk136b}Lv7=Bd-G(IkOxaety1<0*?CmuMaSmKJz@lV6d^o@mZFfFeDh1~2!2v9?l}}_pDW0&_e#|WdzWUF(Y9P5m(E)%kf#-rB zkq`W-)>eKVp1HohZ(qLXF2F+!4FmetCnqNUND+Vl;F%!7fSxE+YON1JX6Xhv3EKRy zu&@9#!2$!u1+@Ie+RO&m^u)vhkQd-U6)kPp;3j{aEXn_5H!|5H&QBUck(R}h{NA;- zU%yjtkz_Oo+El4=6|P>37KbB*yWU=*wq|(~nA_4BTnq?@jVBnJ;75!ysb;K}IINZP zjT^5lnC;A2ZA=+#OquP_FmZKhyEeLR?!x(xUj)fSP>!HT)=kwAzbjsJm(rYXbI^Ml z&Rab?bkuR3!gFU+ZRr`%bKNQYM~V!bC&lwpmHWbYxQLz+$8ZClj?iQ}gs zvKql~8MoR>8TwT`g1VOyZqG`slym(_Fa*)h)Xb~_7<-^~1W@5*D-FV+S^pE9qyY;L z48kuBkoWI z5dvn~+W{Sf&GI-M0OV=>*RTG>0Z{AM@Q1;Xo{@BJAc!78djNVbgVTE955>}XJWT?A zGa)e9>FFZ|H~rx1zIfeFw>>)kh<^)o(OiXrxTPgsSPwpxq0-=+{Yshy35F#9Jmz}M zLm-}1OVy146JJ@eIo}HPG)`Jt+P;f&fNS7J;C3K)Um?I?ga-V!`R6yZ`pbtU z-*%fP*tp2G8>=KHY^zKr*4S{RM?UZH(Z{85V;8;lSBP80Nra%X^CuhH-iJ=6AW3e+ z#j(;Cr_a#JoT+ftlsfD&+3ad>P8sY>8SPBf{s^qwLm5Aos;aP$OQG%Rj4<#DvapMV zcoa?UNbOITH9uYGdaX`2`%M8>^}RRm$Ck_1i{O6b4pn4gO>2*xJ_+ZwH@s|pgfuVa zQ?RQkSS`I}N=$aw5yTF$GBO_h%oYK*$wL>(BNKpqAD?IDG(b;-LdV#4ZwHDgc(JCo_Kzj_ z;|EwuU~R)7i?#t-nw_299?XU>EiWIFl$2ChxC=z9!1anhFiU~0Pl^D#gV2Xrz$y_Z z@dVN}AJ|9XSxAMP2If+HfQ^8@QkM7Q4M?GbRNea!@~y~195kk2O4c& z58tx9K(}{dTF2WHXa>;sMuCGS{QC84H#i8=*|`R+R}g5kpz8~ok?rGT2;iT!g99sL zW4P``;B3;;B0Hq00j~*Adyv9)po)V2{M3}nuhq`ZPQZRZN9FNk(RmpdH1;6QgS*I* zre5>v#d*QK+KL|B)LnfUD%xqt0x}7B!L1LM8X(BQStTH$0H*{7?hSAhK-?~W*AsDZ z;R@?1Dk=G6LILsyV(A5CPQ^JmG62pQN52P*-P+Xj%b00zZ!hp1K#2teQrC6c*Z28% z4ECMtOWDBW@c+ZpcL!qKw(mELjIvi`WF}>m?Cg;(LiTJRQA%dWo>5s9iB!sr$O<8N8)lSD`ljlR&dcM zX|qn+pdsze5AA_^csmiqui0`dVr%X-ttnBw(mO~vvRw}5u zrQllTP@LL0(q9|UH!z@pN=<}0Ip0L_YCX$8>J$8GbU4q_MVa&uw0S%(2s~wBeY*S8 zoAImVD>|Al)Q+q4w?66fmF;?S*gx0$#q>>T_7ty!-M$|s_44nUV|mvq4y-LtuP~i? zb?ViX!Y&HWst5V6--MwxbmWrrvlTnbYxBAsX}0^$pZ2`v?2}&Cr8mzX_xtv-zSmVv zJr6G|r_ozRFjkFqtAsS(AE+a|SsXbdyYO?LYi&T$uW0L)ChN2jO$m={3Mcj)Xs>xY zb?osGuifDX=%_!;D6qP1eGxM5$U?CyC%2B~0EE6+LkMt+3JNtZU$T%yqV}TUkQPH1 z=J?-f17I5}O3M9p56B{31+13`2iIfJdZsl$LRlG1BTf0+T*H`nL-dU^=W%}JfP zAI`q{W8*ZwP1kcBs74XHqHc4!5G&&z8b(Ck6b1zC8OP=V6oAc%qcbefL7%a>YfF?_8z+ewanwr&nTi2p&AZ7$#U&(Eo*xNSmqk27z(I?x^@OAkA0gX%@ zC=bIdXmrgB>W}Q&*sqRyXuFYNF^d|BvJ$B}N&Shr z8ZAv<>$Vlep)$Yk(rKg)e*0(sSo`sRmyq9%{suym&!PK~YaCUSX!}qx|`->^+-Pr^%MD)dMLmiAi*%17U+l<{yOL+(k(jW#xV^&xCeqS+fwT}9cnp3NSXaGPm3L`p z)zNwT__2_GH>ZN{3v43Wz(4Ayrc8_cfJb*br)+C{O*J*A&`U;=v#q-FgE$glXSctN z9udkKXXlBazu#@qWJ69sS8hA!0D+W^U}3MxN=bt%^_UIZT zp>sw z)sL_+GrOPziJAyg3Iqu}SNw^|D?Vbb@8uk(MQDtO@zREiqv8R%sv0e~#t52&!opfi zIx1(8f zA@$YIuPS+GsD8Vo%doJ{1$oIisq_G=lHgbLu%g}(AbM~{}()a;`VMz8{pI-XNujkqZRvM{#-2V>ix>lPxX z)YZePs@88%Fof^fM}!Or`$#~{jEsDOf^$8^su~)TRdcmF*>*pri(cTA@gkt5f|iD* zr5_sm*ivp%ataCvx;5ZMqR&BO0-}OJKQoe{d~nlk$M)MN4xwI)j4VQHJ|$)AXVn}S z;}M`EzN)J7^Yi0U@co4*4)zuimRz`CsBr=Da+nD{rE9vn)D>ySDe|79YFORifE8k7 z*59s#ZpuGGB;GdCCwjc7Va2HBf;PdA97TQ;B_$1mHi4X+99t!Hf&2LJAk@T$4^+*} zu3~wkUu4K&*+oaS{Q2yW)3^#Wz0fDp)YNo$e_mI&1?mVAD+@inv7zB>J2AU$uU$&P z(fm17SBD(|#+l!>Yu1>VcXxNAIlVmd8KY%)H@8`AL|51E-@auT3ZagD?r=g!2W*%N z_V%8*r|N2Xu+Lpe*{I2!UapEMw~sBfy?qOL+(kfJ%=lK<*NNTk=4LVy5=*v#!rs?<67B`wceu{mTV(RUFM3$+sO|F8jb=h*@XT0UC?74}w$}2`o zR|GSDbV&B{rkfq>DE5k0U3OYG+pjk}e?HxDnVP(qyIk~c*}*d_1#SH;9;XArqyjm*dN4VEOR9W-OE_VNEKUX@L*+uT)=ts z{3k5C{HIUNMNXl-tPNOyEsy%N23^^cdHP`y5ktT=Up_PMjGYo09|D zIQ~~9%~tH3mbP{rhsZrO0>VH|9GDtS=qO>`6#Q2pjiTOeD zw~t+Z)Y0a@oPB>|q9v|8JoW4Gw6VL+vsTh?rzeiIM0bbu)Seouy^^llK^<{|mOxhJ z<Jl^-O#XO>q^&QGgDKv`~3c{Ew{C`(dvN4SpXd0 z)`pV$7G}I5Aq~LZrY0sB)0LfyMa8Mx6dK!rHG-AS{qQwKayOFf;Ud(&pHW0$(P6%ZM-ReeOmuXX zqU0bG-U7Os*fVII*~yX%A3W%Ye;gbzEug2P^F(3_3E9yjQOqY7r-50bKRQ`x;~E&y zXr1Rw5KJ2*)(EtbodhLD!YJ7;QY+@t{D;q9R0xUlC>}V#FIe~ZQSt2t=G*m;r|Irf zYKxr?a_fqA{1~`&v?p+gaG>ez)t|a8+2`UX9NwxuuT>p5((;N;zpV7`)7^K4UF7bt z%8s-3POjU zBw>Z@4iOwDlLmRCE-JD972coQRx?L>^UO3v$CQ1a&F&iN(d)0HneB z!GZ>`X=rT3JO-oCd-n#QR(LSnk3bW3vVZ=}(EF#r!HCic2(??-Ma1s`<05D)u$r)w zVsG3XOf|E&0EE`DbIhKZ)1khgryrf3t^_ILoH*#p#BG2`3LJxf!4@emUxD@njAmfe zF9QR+E#>@Ho|TtNG2Z&p)rFs&g+LN|iTs?LUyU@!so5mPv9NIw;dv`L7s!XiVzrf8 z>vLpx?L@iwMw|LHbL{RcE1oqfdIo{^4`+`^W$c!{-7+Sgru)8(`=WBUL|Qw(8to*Z z>*Th2xyE3l$jQob=aEF!l8A4rUca`JOT_cP0v6YX1`=c>xK8W=p?JL$+w~uQz#|7s z3yK$v1F%Ie=8?RfTEa)z)cAges0eg?T^CTIPo6rpfb~2@Nl%nw-{iHuXJ!+RNBW!{v&FskIJGMwC4x4>M~@ zW&h8H7e`wJ3s%xzP2aisH>Ni}O_F0VPv*|F+?Q{1U-Z16W&Sh~ZPTuvx;=7V_~Afq zvp%W7p2|m6B~v{voxS(n&nLUSkn||A-aK1X{h>-iP@0cbTHdN$kT7kYIA^-GYM9x! zPJUkXn3T|cOyY~Im`c6$%N6zjm-rkFq_pGEsTc$k4 zM>JC|kl`8OKFgt6XgZ2l4qCZZ8Ur9B+P=odUC21kpFKl|f}0@?Pvq&-85E9JXL}I; zK79R3d7dKV9)=eXEg)|LN!-HoBIpqZ|Cq$0sB!NpvL7Wx5y8QWvvkr|@#GOoel0K8 z#}%Oxl2_67Dg;LzwOPRW%DMCBH|HB^3~6ulxTyTO-JSpG%a{AI-sjQc$3>#1*+P>8 zO{R+*tDY<@EDQ_`h%*R97>RwKo{j@6=;X+ECxVg6(1Smz5tA>*cBva65>gPd{TmJGT$Qu|T z9X)nTb>!Hdh@F9C7X?F2!Z>Q|4m|pBHt}Fwlf%Lvf8pC-aSNy%Apj_#Fl|))i)RS@RW_qd@ zNi%g$q0&!#V$nv;NA`$2{6?*OY|FS*_c7-2$=qDxre(TwtGnF$gLrJTJ&oiEcLk5m zUN4va=rP|fo8eas&dB9-UTn`mSo{1$W5|e+=l+bL+`z(T>XsRcc&5^QC#Zic#m$z) zxl2xcb?JE7ao;t=v0Cy>wDq9*dbOv1@0#Dq_7#QGenRcbx^JFmy?!zO@hIK9GUe|& zq8%M8X=y&^Pkk+OZmsVt%91Ay>Ai@4*!Q9m*i6xS-^@di6Jkn40S9&Mqz*YHD{uF~GvaG!4coK07Kv z`vTVeh1NFElp*)tA%QodS}gCse%%Z11s3egj4zfY%538N+1opqqs20QPU4=vfsPJw z61A`(bM>bcG&@*yNO34KTrqg$<&|_GL}GvgfI5ZtJ7ODXUWK5j0E(dzh`D!8DXF(N zYW17Enw!5q8h}ebIY}%w!3vi58h?X1I>?IXYckN&hrHxC#Uo(Fs~*W?Dn=5H`#!)( zY4Ut$DT!0?b*tTkSlT0dch5E;6JsZe{VhfYFELfhr7=uoq|8M|&&!Kw8T&Aej`xay zcvcS2j@`zr<*jyNK=HOAtnnmoW}96~;T4d>6#RBV<++^I-(-5~WZ^vxqEvx2ts=Ap zM(>>cL4=1pq+)&xKPem5QMM2uirB=rv8INkie8yqR5KltwLHKis#7Y_g%Yb|iAs1T zLsrI3I6U{(Q9n}t=NA{(oh#RGl$o8GivPw6IYzrI1v?C&~D9FTwto z-3~GVJE|KT1%^2siZ8Y*tPaaFZ(WzsC_1dh#sAQ=aNYEowUVSK0U!!{88ri_bGDSD zvELZNc5#Wb9Wqi*5>US>UokIpAW%Dm@c`<8&dlTFCnHKq7LmqKp>wdaQ%$>}K}CA_ zd=Hh?g6~GLc-WJBO>XGDrHN?rCoXjAS*O>>hdNWlTnGJk+qT z&Dv+>(f0q(1yGiKMSQ8jt1WEvA*qAfu8*H|bhc`r&~1P7F3`gCIQZAq{Uyiu@L|=6I-qT+k=LLE{>%MrN?sW3OnUjw^*1ekF?GL?o zEnKct&rNdjYmVp(ZOhrjzu#*|Ni|(3@1DKy_o{vr^FYVWXEfxTvH=s5ai!Yz5yBqs z9+amChL0D1Yk0wz*?ORRGVjLUh50WdS$1`Po}%TC7I3ojFE@NWLZRjr zBS=fBm_wsn@yp{GpF(+{=5(w9U2^PH04r@~b3o@`4~G3AYU1Sip+YHEn`r1^KcF3H zc=BZEF7f+Uo)_LIljod6ATW$Ut-42IHv@y@*zkf@b}Vmg1Sc6!WM_V8JE7un(>=oQ zz1RGrCJV2p+UxnG3`dGsNz{1As1NV*p}FbkpS6RTMVfW~y{L5gx^d%sH**%JV+-6o zk3PMANj#BYpTHiGIZkm29aY ztcAht%{>aw;vbbKg=CKta(>0ej+QL0t-O}c0g<4yzp6-k}S z8X3iz@gLGD9J38=oUD3cuPBzD*DLYHQy--s-(TmaHatxKv3EL2$UTW}XbK z-hR|p?d@*Fv4KXMgrp>j-TnzJr45Z)l6O z_PP+8k-*O~Cz@Y-S;!SAjVsLJs0MZ%7vc;ROs8F2^Byc7WS`w9LSeeV{Xn8Nf!jda zmc*5goL;T>&^cv+K$Td29YuE~eTVd0OZf5eRFp*fzG2_0fw=p^=lanO7KE~M8 zK0EJr;hW3VT}9_*Cz;Zv1MW>#d{+EeKA7ghaLoHm$!0=F2ysZR!*gI>6rTp^?YsW z`|)d`O1b5u%8CiemJL_Mi+4f#(`9KE-7b&%Q&W7_f4|5(vqYJcZ`miiYR(ewZ7(m} z{J@bzs(Fl()M04CPcw2MO3&wd+~dH=Kb|9nK9}!&Yapm*sO244P__C!>>DQiAewJl zOE}__RMHB+fGDrx5kY~AuREAlrz(<}5+qb4L7G2oQw>U5sY6pV=E2f(a>oNVQXi{D zEk`eC5JyCyxe~c=pt+($1a>G$0(OT+`6R8v>Dg%(_Z(wNT-%-=U8ogZopgtgQa|w0 z$879XrclMg;A^>HCz;nQ-*tBXK3%xSgQs}=YW+^jolyx>_g;tAukIj>-N<Lu|wg10Q=0nV1k4sife|Ek--FkrS+&NP9u-v0%N8JY$ST*X4 z@@Y;^xyd|#*{m7ln6;VtJMXJ}hD(Z~yIF0m^@s6$>d9A`^~(;5T@<-rTIjYg(q?-9 z^OwP+83v!-j$4;CR{i?@u=nln<_sCayAnUUaYp+Q`t#oNA@?%YCtO=>)qGhremvQeS+TztO~5j!Jg8oJ;yf$;uhC` z6yI3m+dL@|Eg(#l^?p03UQr){i9+n;?b~NBzYK z%JJv^5mO4K#|vU@uU+X{+ZMX7xOvZ$OLvz#R%-5E&FbIKTBc7(cW!x_a?Rwh_dy#k z=`+(0eld|JJ>SFceo@bAZjsRTXXNWnn!rmjCCk@*-W*%}w7jiuTjpcA`{!u(OlZ1^ z);e4G1n93!u(6q)$stSSixAO^`+7Rnv$kC7zRGj^U1xP;)mvC~jeJr&8*ezM&r^_y zN7YhOZKlLJX^kRUrOJkt{RobS>Pu%|SOsh(GFk(#kznh9CJcTC|zl?6}C! z39~Q!-cRXl+*W;6rg=^LGi?eVXG9L~12Z%6|9TfYLxV*kAG`@$J=NcDn38-mopB2? zo(DxaFKVAxh4P?&B9CBEjzU4T)duR%F^M+by`|bRN+=#!}H6x&)hCE`1^<| zt}Zj*`fADLG|S150D~!6jgBFvh5WIaqkdc)Kj|ySw8n!=i_e6Nd8p?R`1x}A6yNv; z9$LSt`9+~>_Pw{vu|p*usV-K>bSqruf4w?4`opx>faAm^(IcM}XJ!xEUCfYf;5^(s z8uh8DV(iAw$1KF$MC`oSR&a;2kYtd^pK$&7wxRmP`0DEF8JRzSj>bJdq;OYY?;YEg z-3D$i zhn5U|`ImATGhRp6dzNP})u+A8Udqg2oSI}Yt!?+c&1HRiW_@vCq(9QV_kn9kD9agg z(e_<7tXyJS+Sk>M2_Ana4u5W{{n6oh*>`)&kkIQ_q^y?LqXa%ssBQUuoZS9C=6_co zDQZExl`FF&w&js`dAF(AxKnOzWKh!0dlsjxEr;}7XY1Sgide!FGz$r$U%fs!=1%=~0o%3El0y#Yq_!Zx5Y!I(pgb>}BSJ!TN`{ew)ZY z(OEteEqjY|<4nocSGAzGBtdUiubX;q<~v+?mQZ&lGjrV9HZbFBTHDwudvo$|RGqx^ z1pk}d%=5cKScxl!2x^?g#7K)P>{Yf43{x~QdH3#6%;?BAHM=d4N65>`9cN-P`&53! z+siyvh~c8)~}^zfsSau&X+oVPacHg=!s2qAAt^7vX)QNA$!**l@oyvfFz z-P`%^&bmXL4Zo)ZtR5foQ_3A*lwKb7aIt4KNIPn7Bza1s{zPAK(y3=p$z8|o4#__Yji`C@`*pMV^JkCx z<3q@giuzOSSCCNs%}?H2S7Ez2i^SOserMv7gFPJ(#zrJ&wDgJj_3U1vbeM^_1kqgiiC(3P(-Ya>KK9bxfAVr*Om!f0XyJt4xaHlzx>||n z8O9ylbS=^6~doLQ=$_1Z%{;+UcJgQ8z(s`~=*HCGQxpnJPe|7d~%IDnMabeDSz3O^tVTWY+Z$tU2u^@z_?Du1XbVTdRkvZ_Zq@Fgb1J>gssS!t>NA-wXOz;I(JuX0@Wzk2t@MHXB8mrl??J$+t9y7kMN)FvOV~+CWiKFjgXGQFP94elN;FUutQ4m^9uxhJmP@e=81i0zI0qcO)C8%U^c zK4q2|tT>R!t?^$x2xeWS)>0PvlEh6rRF0+M%O9W45_jfLVmz5Q%xS68QWL`|o@8%D z-?xXKjynq8^m7l_ zFcU_DJf~S7vOoN7rz_iR@0k5LY_vPWxNC<|yj1O~WWj2jl9LiMm4gu>O`x2g_rEqW zF@lncbCZgjMT$3xdYZ44MVO1|RHi2Kj!XXGkWIiFnx>Y${YBNetJf+%QM6q9wEzj4 zf^>^ARy+|=p5Is_qCKm`0|f=XHQZ20J=?c`qMae?3@t%k_f1oUu901;HVbKZuZB`GoaSdry$Pg1A{+n4u5zpcMvb@L0;+fz69y4de1?J9;cfE+_SE~qmL}- zwsY9AS0F2TGlt|JZrep*Y23z47)~6H9<8tnHV>gBb=#iF&&YPAN%$1EFr#1_iAX^_ z5A8&tk2Qm;iN3{ahUoDUp9T)Hk-iJXdmlxqcJ8kWReHnHbhVylVNI@SIYnLB_QR~q zP0bL&D+asN5BWU*&>CWXw^h$c%cVB3M#{I^)qry7{g&HB9QT;eIAcM>@uud7hr% zasBl`P=x15l?Nr8@V_Qjtp7&MDg)(CLJEJRy1lhwqkpl~4?Wt@7M9aGry6O=n;+H> zO9wI>V(z@XQ!-4+n0Be@y!kDYxP;ZYfY2UT^uo!-JVV71PKTF28D*Y`{;7- z`uy$9qa`HaDcx=y5o4v6z4y*%XU(y*9^aM=|My<{eg%mN47PyS645w4^)rEF;TV5p zljQi|s<;vO^Vww1WMq$#9EyGsYFFIwo%8&w;V(-Zr>EDx6mqP5?e=vgLcuL%?4RtX`jLDec7g5T_< zGCG_j>?^eSl{fE}tN>0&t7mYPGJXggZh%)%GB zKwX~|?s;e}MUAE~l#mp{+D*Vxl9xENXIm(@%c5HGNcVYGl42#3iTK^QGP~kdg_Qdf z>R}=n(YXCU|HqFX2L?dd0kI`hw5^ufBT`04F?;D>QL=HBXYwZZVB0l$&d~aAP{K`5 zZ?|Y4xu}(%`hxEA$E|RZg$xmfLWZ4n_xD9mjn=h&2y`O^88z1Ia+p6H!+4BlEavFK zcWH4h$5GMZy<}-|9&-%8%xxpel(>f%d>~YAa-iGUD8d|Luuc2FxeIr#p@nYsgHm%5 zhsUW+4xZ8+#?#`XGg`Dk6X=U4<;eR)Ez!nUhEZ7JGf^rKFf(rfbfbF{uq9i+7l<_2o16)I%ovPonU@4-BkvUZ&?YIXqIy{AKiB0fJX96?Ez(xu7`x!y2AXkzs!sZew%yDUHi

    $1h*SM=tJ8)o)a1ZNfvCsUx;*X_K=$q9T^!k^B)=r za!lq{JbbN?;rfv;8-3}W|J#2$zq~aA3%8}^@F{IC@le4jE5YNR0|c@1i&jqEjQ=H` zS&=jBK~kLaW7XaI)k|*~MH^aG6$_N~=?UD6hC{D=CtSPAS4QFlDB9AFmqotBl?Qjv&|IN}QY(vk|;Xo1~ldSC$`LblyUHz58 z{z%dt+f&}cvpi7`78k)MLs;3vPv&=@T^Nej{NI{Q{uQM8)0E=6uRs7iDlWRiau82h zLf?NPgtha&#=F}ZcTF@Ujz=oeO`Ye>A31g{Mmxm(MYPhd?mEg*8~@iyA6MUaI+Qf6 zI?5AhIUjwTzDNMY2;AznHysmR%KSmEHveHQaqewD`o0fvg%C`HZ|mo&Ca#v2|N8DY zOyOXxdnZv(8%qc_dIjF@x+@8%2wMxNAoQlI-WaoFy}+})Xs?DAz~?Vy-LjK6#u|q z?asvM%d!!T$_gvXR1OaMwk3;ve@8^Aw4a)d$cgl>Pi{?C`RYh-+`OFucGai6;GTtxa&4Qwt|#r>@xTyFbqvs+mZg5b z{|WheX^uTP)vLp;{yQ@R@8><7pZB9^Nm!@|qE~G0Rrv+U+FoK#3cAFTR6WMPzdf@v zg3(QEYf~pkMJ`b(#An;KYzD6RST~0vpm|r|P;w=KVxeOvYG4)-*&W|JPO#?f>;AHdu_`G!J9Y_O8$PkdDlMWyDh>N z5~mk~C2Vdjy3!N=US2)6u2oZ5!zmq@R9B|0_3G~W2g26h6@)&5+=uVCcY86NeDVn< zG6Km_uNE2p`{;T*&?XF@n6x^?a*ajtT_CCZ+xUilvX!nbzuVkni^6Jw{)cUx(rnOa zrdf#t8k>jScVD{RnffsOvQ71v%zhao`c_+vW5uSY+Q?3Re{6Cd^eeQ^{oOa(h|gFl z?;{v6=Z@?(Iv3#YMbR}A;Qq(@%WZ0=pxaMJJ(j5bGw4P)_cdnnQ;|>4uNU1VWIDZw z!du(g?du&hGWW+{F;2tP!z1tG^y97Lbi}0x(ububdz=RE#Ff9}rQi7w%X9@wAxC-m zFjVCM>_%FXJ`9BjseS$C`06JYCriy3b>&qVSHt~u#HsPk>MJ)*g5fK1yK%~O(u|Cr zuyY&M_Sdf`eCt{MuqpN=i4_z#jjc z)-y8tK7CRX8KbV{H%=cfROR?R#;!4bI)YtCR}PCp`Ve|=U$(EeQDdSGJ1y7$pX%sj-8a7yyVAdk7!3BQP?Fb!v`6BDK6RFzZO8y+IsR9WVI#>|w_w183 zfzZR+Ishyl5T-yk1Iq4mzRtS<;8m!UHioZta+X z)brc7vka;a47rVd9W$4+5n_bM2)BisBNN9=Tvvc0!Ib*(20I*08b_3ZH7LWnz{~`f z22s(1g8sh;`d%qy_0o0XJMG$Q&^FhXQdzszPgjJ@1A>hlENF>lv<8_4AkLkApOqQ7 zrj40AI3`4Y)mS`FNGGuDaFO^EfB%mzcc-A>Cn$F?w*4_NaXUFVG>BzaJPm^q*qGqh zLI(e3`Fr=y9XsG50YeraNM`dLHa0eJ5P&BnogkP%!M4H`%BL;x*KHlUM6`}@1~m!!)+Iy(Y( z9pWjw^FlO<-2ew(t*i{b^vJ{p08e|tZQf_2B6F9x2rpY`#Du4yY@pU}(-V&h_vaEg z!vjNAUqE~=E)Gkp80a-2UB{RMd=Z~bW%(5Y*=|0+oC4+l&jnb2+CBD^%htOvAO-=J zn;?15XS3me$h85;aDjtYb4(U>w@gZ1Bd=aNyR%gySm1MjaUwV8w!}T(>+V?!vwfU7 zD$e|Prny-I>sLEj;7ODb^FuI_9zT8z?HB&c%{>aLG85Bn$bR7E=z8`n{42nK1;uJ> z@vSIiMOgI@@80dllou>*-CSe)w>hsW=E~~e2L`?%QCtV@D%42u-Gd{P3z#yd?L@W> zxIKXztN2dqSC^jz*&emZxF{228_uoAYjZi>$3CP-O8Ufu2}9Wo^E4X99&jT$U@)@0 z9I>0d9BL1+dqG%FTnVdKH`Hff`BKrqYjcr@=2w+TCOO3}OTUz|`M>+E`=bu=rQ7g1 zZde^o(a*aI-9UQV6bQKZG*}2?VJmpgFxKwB?7cN=uvo6#&)c)(g3CAW3erl$wG+w) z)zye6*dFglT4=znsalVa3hH$B0&gj=Aw>*5b} zs|qkJVTAy#5=c&&%)~N2< zk_+t6IHlH$GX8=ueMiJX0xu8zT?oan|G$AzNA%bE_Tl)}#uB)spx`UQ+6bJiOqolM zU_HCV>~J}GoR**LBy=N~p@oKo=)+QScuCNL;j6j*K@cYfGdQ_GUwY`!^XzO1|J94gMz{iS+q}J(!CBnIK>$WjB7txT zk|O+LF*Jq&2glyMlp$lG125oolYY$OJ|q)h%16@i!mj3!h)CeyWiycDVOn$8`qd|F z%g;|u@rvP%;CA-x@I~ny(ft|*+vN{O+M8=@w?ZxgswB9N5Y>!avbwX()z_R$A6gGL zk)@Rtc*MtpR1d8kNPA#s+KE@}S@CVIYKlJh3NtGY9w!^YePZYLpa6y#3}_{P9Q9i|0T6JQ$@;a4Q~2` z1cTvtmBqH-zBk5ho^F-)v~_MC(Q|Q`M4HB67b~5}L55<)$mqkzkE&KSi@*1?>G=Bk z!ux>>>}c2=;NgKZIJyuzr1yYBc0v4mg!&rYF2Zr@!y){IeIm^HRaF_SP7VAqtn81B zpCFkZzXz9dxZ=iXgnnNkrwK5+vAP6M!6Fo?O;aDW7-@d$A#6n;R>C?&vf`9-O9hP) zi3N7M)zD!YnVRlX^q1Z^X=FraQUb@_Z!WY1gaqWuqS$B8W+6|3$ttMw%CY-uMY*3t z#dG`iZJ3!}g=0PBB3R+jNkfK9bP$1xb~6L{U|`_yVVe6&=U=bmix8G(zJG@y%=x^Qm>Jx!j%a@ z-{}Q}jSN=;{@7~A+v8X7-3yp(X9J`E+O;g+t*uLW&H2KTlXw`nMe-#j4 z=pA}>fO~X5o828N)`TyK)d2zCFx)N3%bP;5#(hA}!oF|c-GZMRoNCyxNeS zqyh0fVeksCYk;j24i^uSJ}UuvufN|)j3J1XxLb|~)dC*G$G?NQAkLhC%vS5ImT#$+ zr<^gw542PyA-8TZVhJIHSy=S)YQ`s)i?CS>FuxZdQ^dzsG zE!_I;jH(;X|25GDU>}zY7aC`0CI*Jk3>)9L?v?ZBXeqy=i;(Up->kh-(jt+&ZKkq^~h1U<-CVm9M69@z62CCqn6r0b_ z9P=6J($J6=M`(c43)3m!7Fe+Zhi^n}fKLodqN5OE0>MBs1{nq-016XWc*zS12_bc2 zM->$838C~+yR*uU11uPsnFaXxVD<~@R25QvULLvGA4bXvaCRWZ#eaZr0H~i?_mvwU znnUhH7bU z4i5{%c?LMlKmmskC@Ad9gn&6RJ_Ne>20+k-pG!8(3Bxu2>IxCAC z;v2C+*kQkT`4ajh;NdWwbMVTWsyr&+DTx~bF~Bolxa~m%XJ}}sq@)CTKD?eeUBX{n zfUzTp{m`P}F;kO0gklNi4i$p7RdBrx=YLBJ?J5j=i;nNL2FAZ);~$5Mbs90jB{$TyQuEt-?SX|L4f|VdQr}TY$HB z5T+oR!)M|2su6*+w{mtF?3&0Pk;dgA8z@3mrzf^eq;0RI%L533=pTj_Vsyo+`4&l z1Xg?Sx^)(*24saZ90mbqdV71}WezP0gwsSbv4Vo|ov|7Z5dr?JtwFdBA)gzB zpsrt@^_IJ{>t=-VM%UZnsvF>F1<^Syb#WdAn~c|Zwt5Uo89>t#B(VAUi_)vpmwo@4 z{XzRnbm@f~8!J0Id~Z=OOCmPJQ?}{~K?m{LuMQWJ{;I2;h_CS31<~%*Dds!a8IVjNs9nL)3gnuR^%C3D4r6r! z?yjYL0<;8r=|QQB7RUd*f_)Z7!yFLL5S`gMIIPUf$Z7r}C`0z2gP9mgOvGe6yCT%& zu--jvTf2cEk8t58RfR+%CUy}A*1)GL6{5SFH$MvCGcE=#=P4HrCRaCfNcDTeMrC&Ls@(p%F$i0`|J@L$v|$)PhAk(aII* zgEJQeX)!hp3<7FvHvt>=^YWrswor!?1F+h?u#({2xA6OS#Lz3m3+z4kFHMy=zeR0J zwETvHw|We-g}J$iZEb&Zvj8fzlux)q1n|KUXR2>@5X)HL^pm^NMg|5R@MD5`0CqDY zWte^*j$*(HOG{1tHZ#*8c>{Y7_NM^#m$BUNOzp&2p(#cUiW~}zgfI~lZGl&XDjKfa zG8g)#@!8m+I5^~b69-ZoJbt_22C$%U7?J2hwmL*B^V~#3N#ttS*Tanyy9FT_7|Ifk zCs-XY&u~6}Ue>Kg49^MYDr9Hx$HCk0C`X-?Atk(jKM=v~%?p_55jP!{C_)?oCQvX& z8-H^XVIC`=f|3$3=(ZBKkgzb(Cl-zbaCt?hIEr6klXTI=#)EADF)e$06CGjEoQ!Gm z#Z$*id+>lKP>pTxUUV$sO?wtLY}j?c@vwh`sle}{pkv65Qc^ZWcERZK)utlURaR9s zDv@6ORNdVgqQt$KKinJ4mv=$u^rGFb4A|X{jg?}Tp#ce!GfW`h4MEP;xAlV%wW<6M zgMup-#cP!0+|bu&i9`yqFu-KuB|X&B+S=#v_qvV67?=v)xKY1ryFLZ9Xs|kk9fCtK zJQA=-p^AI@=#cw$v@(IP>oX$`F#uIf6pKCm#urUMY*v~+ddE?fxj5$h=x zVx%kzYdS_w`{O=GCCs)@hq&!H!q2r~2!()4@IC@O@um&*^oWKURUzlUFiaXo@ z97b6JQ!Dt-ql-wiCWZ(ZH7~#ewDXo07Rr}#AWRUF1suZqitHP)5nE!}ByqMO3`Q_7vg&Y<;+t5qkBd&u&h}JU_i?NN z8QJ?fJ>U0cUylNa0)wD}#frfj#My69q3*-MBTY>cu!RB02AIV|L;F!4YaD$oJRC%_ znaRmJaMaGs%tZP8jBj=KEbFg1QhXx4Ok$@Lo(mPvG zQ2~^?Q$Py_O8ek+jn@fegZLvR_Wt9?C4h1u99ka5%ij`%gM-ojd~Ea(=HYz!N~k-ovHX-_^BEngEe3*c%s^( zpPHWj6-Pj*sH(y@m~@A-hDI|yI3Z#zMM;V*i&%$qf8Gxb4M9F>QW6!V4Ks?>5u`id zeTu*6sh1!DAs*oeagxf*l9Hr)J6MXrw@LLz4~`qHuO9(|1AIh?Msr6>TpTV{>o{Zp zum;CTFho8?ClA}hT2u2(!wm{FCx0(2z*+VjJo+JJhrJCjF-8VR>F^TA*+qD_#F`tf ze5ga<-bPeg!p{V0L+0Y}^@s>f4BjqXlKh$2Odg1u6Eg^ukvH~_L!x)-$`xV{0Hr37 z;8i?sU^Zk)gf$#!^AkA`b%@wDV!sW|D3l*dOEHL^P_Hg8<0!J-clRPSVl^;PhM5R2 zBUzwXPYnC0)KGE41DjSm; z^|*WH>0A%z#{Z-4OT)2Vqp!(4WzLYyGno~cDH%#q#$>F7GDak0<{_m-A{0rPDKcbM zB7~^SL#fOfDB-`J(>d?;|MGr*ulHQ%Iv+Yu&+{AZd+)W^-uGH+;+@O%VPL2vqJ?G} zCKG+28H#lPVWfZb0!sb9(7oi8wQnLtxs57D+lwk%5>}GH+xTxLAQ}(`SPz{R(OTl~ z6=;&g#=Z(Ap#a4M04d8jrGh|v2JT8|nE5T)K@sH|FFu|%0%(Tyz6q-k)EO^cyck3D zgmArqfeXqgP%%I{4V8Ed-bm$8l0Yi}C+-n#w2#a2@;1PX+mEv~h9baid-{cQwAP84?t=%`m4W#SET!6+l0nL!H; zPXJgj|IwpK4<&+PD`;*ILZ|?cykjuO!$WX#%~`SRZrc6YM;z;H@gEg3Lr%Gd3Lq~>D1YIm$FyR zlP9d*I>&8n;5ASTO5)x<2k0qnZ3cSiq254_hali?tP|i>1UJ7cc$_D#t>KIT96mlb zM@Ut+w)8@@ShXKNLbPS)%*4b|9BsK1#=B1HOoU_c-Y}Cu^#c1t0INCFKzw|}KW`f4 z!Sc-?W``UcxNDRykTK@m{sH#`jvdBjlMiql8-98B|1l}piv!FE?2{CLvU|@!Fy-_v zJeY~&t%EpD{iv|;yqg=jglc*Wj%@D(HikVJ?~PTw^3ho?Ewr6w{ETB#)iTxw;qHMF zA@zhRj#wi;Bjsgi1P7smh0u?Bx8YWRvNtn!89|`zR1DBO z_;zrdvlA1HJ9g|q7ZcJZP*#WdH5Ick2y%i83BG7aZv#;Va3_Ksa!pLd2f==!OE(^M z7e^pL&90Y9W5+;{DFEvf`2z5PuwCS>G}DJbY=Az46b0~FOYEhV?bsav9td3IBM_$k ztABx-2qGbX$3M`qv9PoxSR>-AV4LVr{vLS?s~9Y@v5AQlq?sV~i?e1Rpg_|C=s`hA z&ZS=zma2i*F7>#}k`TP?Q8Awgvf8SsFMOX`90-#&IokMQFjm;*O_F58h z82})jC1^SnEy6{j43va5w2=hQYK+0KqX^w*^uGIjJ zhMtq87M#eX#8UQakBvn;J30{Qhmp6@M&a!s6+OqkdweL{Bp;eirKN9Pyl_Gk!ZHJ7 z2P$Yj918WnyDAr@;%(sFWc1Zkf0i#n7d3-_I(qd*B={bOGiLy*O93Xgx<~yFnjd`+yb18&%r`0`8bgN)!Wz(BD}Mg_D;#=lN*yBd^PRyK+1h3r3ospsw&l9UuoV$*QLBwl zL5=j=lR=xE@@HrZ7-g{+2`FLg`ABo~eJqEvvR()`f_*@Jg%pQAQ;SUJ;2_(XC!60g zx43Ww6q2cmus!4(aX^a(NRnr-8&~`dwL-(zMJ5J@5|~x3^#_5l!n5x0>r+8qLKY=x zGa#}eLPUm#-%Lq?&=;%)AQw+?tR{%xu-RTNMRfB z(?kdb85yXoAhgpUC;OnZ)Dr>`*X9Lp8k`1Mf`z+dx0M2JNk^v{xd(+Pq7DWV;I;Dt zI*`E29{`r2NQbz;`&J@`4yPCz}JJKAQ(X6mVicWgVC0> z@&AZ2n6qvJ^Hh48e}aSTFI6jLrat(BLJTcSg1aTWsqeTy_w?`(m6T)|Ft)Hb>+W6; z`Uw#iNq}HG1N<3W#U~WYK+mHWy~QNPyrh+A=Lp%L{(gdo8Dx0(Nv05>GYCMuJCpz@ zeKo|y^!cxY>$kG72#<(B*a2jMQX4_E5P4kY0ohD{vm_1sP6X$>GWJcg#s5S&gnA8Y z9qLDK!KvVZV`AGI!e1b$fPx?d3PbcfG$Qiypy&_E8$SvOndJ|$K~dp_Vs;gkn3Q%!({_&Qo-T2%M-#p64t<#>&KN&9vbem(Br+b z2>6aHt8}vvn*fCnkO!qJ>Z2>)#IZ;{kxfB0Bq(!e?@hpKLLadZB|Fj?_#c8&JdA7c zodhP-Z3MdAkD+4{H8LhQqzqLd6qJ|uYSl$4+ecI6I&jwj^iQ4t|c;H{&gz&r+iPzmuFKMfO?W(<<( zIfjUFKmq_+1e-8SntF^Gn?QT^3}2Dt&7lh(9;xWB;xR$P?HJs{l^Q+4!!7v|9Ji3N z)xp!_MPhmk-rm>Iumqk)3&I#QzfkhmlBq>Qdz;2d*9B&ip7w8`^VyN7S zUQ(tKRS#&TMhV!Xl8&w%Wg*K8ZPK8|OGt3(Gs$P+cJlW2hCDW^Ym7lPw=rvW25>1}It#9@&ksW6gt6^Lz|bx}(O%cIVF3;)p)z zLIOzv?;EOR8cL=~w%YBof8--uIl`UFyq9O|9YHM!OTatWZ8mk( z5`3_^$x!w_gY^O!2Cwa0RQTh**mW`)b}&vraa9wzzGv^l?dlX;sFzE zWmJK%GxMJy(#p!c9c5s0u`7Q~-#7xh;WF$;tRPf> z7y>{k@V7^a$PfG#5)uMF5BM120+)x!t;6T*0aY4+I_JV9&r=%*l;5$;I?BIX#(k+v+G#$Mo1 zbYVFp%xK`yeBnCcYr_ex>_mxS15AZrCJx?o!dx?uK`KDP#e>D~5ww<&rwD=K`X3VI z2$ZtH^aVwAVvJ@NC&0^b{RzR6;T?lzF}Nzdqe58DK9^ zqiycQQuas2!MkepiQXc@b1E?>@Owr`;uaR7Qf0!U%YXh{Mt)y=833Xjl^doTfm1;T zVKN~>6@VF2UT7$XB@%3K;5UL|3B{hbg0MUYOB4=G+t{%BL+DpCL9UaZ>y!nJ4Ov@3 zVd2;z8%UO1#102u%0!+(;WJ*WFuA(q6nhV02^W!{oBIU$3JAW5GzO?vNl6Ll;Nfw| zMd!h6a~#rpHE0TeM8GyEM<)ak8RbEk<~;O0uwZ3-)vFPwXyVM%`#{& z5OPwgtRo7`bLatYj;S5)!&GOkx->4@cBs9cve6_Ul$iML9U|T*U*PP z38Hw5z;!)tGI7g5NzB=dbZA^r$8Y8r&dK zJ?~xw!H}E#v3_e~5wm{ixj-$8i<@BCgWe*c0`8EmhemJ~8URpq##%($Gb^&Diu1mc zn%Yok%<}QemtU=Hw((eyz@q3_Od3|;3(+OQ10mS;L1dQDPl6sJL^oz;5aa4SCbZWE zApuJ)pL8^wJ(T?@ty^``GHul9_o#oY(SL=OH$aQF$*mp=qTZn)LbCw>KpQY4VQnx^(2bFmuX@AhmLAFZQ2ofs|yk~#!L1ZuwIX#>GB03#x(wCvf2Z70xRIx0lejuDb?HH>v%!LkJl*5frcKA4wDZHCF1 zV|W9={{*HPoh665o0>Ne83;eY z6ZriN%J}exk{;G0?~3vC0gXYnU&f^X!a!<^HLS-t8t<6;{$f+kKKtp(H8rjr%t2y5 zU{H$g-+Gbe{u7`BP z3vJLlBOq!pnz%EUirWy~j${o+$@_I?=7r25;J3QE4RhN-vIr#*+E1UF3Ak*VS}til z1Qr^$^Pbr3UppLJ=ASSf5yyC`(X_!+jc| z8}Tr5L_dq6^2w7%fkQ`+@892oGzkJp&AB%R5CH+Zu}gQ-TA|c_{r7J|6+Uk z`V<|n@Z3qe!D?VTLeB}yxuom`77HFL*zxd7l<0GUFOCxW3g>yAzaxMM{2(ArOqf_% z5j6@yK!eQ!xuz*<+Xx)M~V0r7-9w-6sT!Zt#Ks`wGga2QHLW=0mNgv;LusB z?HxsjQ)TQ?`4DOc^W)g0Kwaq5)h_!j)~%u+fMy1*2A&igZ7Seog=KUoV;`hYEx4+2 zJV}}~Sa@nHF>nXf@=|E{8d>J?JXsDi>r~9V{J=uOm2DFIeBjXwQuPabNQ1WUVEtz@ zfb~IBJSGez5n?<_TmsI35@uVZeJq)RUFs3q`>i04J*3j$$CGX&eD1pj>m-m40y<3T zO$`la(YuS(rZwj`yUgc13nN4LM!qxgL;LyfDFe(+BBUUiM&!Pk*iXS8LQ78%SD$E`Aly%J7!tZHQc9F662Em>YZ;G32ti=V} z0_hTSGcyEuit7y^Sasuxps6vBp&)c6;1c!NrNE+e+kkj!NlD0kCgHd5-@PNW+WQ|K zg_BuKO^u4RlcOW1y?&v0X~!oIRKdoUg5wO(=){y8su@Dq0>hM0Tr3@Fk5mlG5c?za zi!887(_ywlytg_&Vi-XE0n61#`}xuPQU<%2K3|EK2ylg&5CkVQkqN^qSVTcETq6ul z0RvpSb`8f~F!+y-RU?aU>XRhgI%Wxg(s!SD8V^8Q4@*${U99$_w3i<&|HR&b!zivD zQP&G)h>uSKh`59VHBfT+e`F>h4olqXidV5H=@-9%(KFJ*)_ahzbohPb3;MR_@1F~{7;QV7rU z@bH{nBGtmU0uGxrwzY08Zf(>P1}8W;8Xxd!zkG&(Cm_&_W+QSP!Q+(x88Dp!yg-Nv z-?}vje~9%>M@x$VO)y9k@1qWI+if{nq&RMEZlFX3u12@D*R{Cr%-OS)FLu{p}Y@f4s{Vqkw5e9!Rv@doO6Glrh4==sp*27_WF@G|Ik0?6i~3NJ1W20MzPJ_w;ccx!zOgLg#5bPD;~Lp4=N z1Y4RZm?rDP8C?6L8JR@zywPo}1m;cEq;+MY;b24o7~$OnX>Y|#-_O1aB-vqk#fa9F z;1&&hg<{6G#I6xH0*&{rQzN1l#pAE{j{U(S12=jb9oe^UbCf`nLeJE5?msoSV&i5 zylSmSZ!DgSdJUlz70Vhtwn66+yO)9oAtcg;p-PN77nYSVMc#m9APT2VEDy*A_P%^6 zDkOB^Gp7=J7;pHi=h&Hu2t&9h@L^B<2~OJxq43DT{1MLcbQ5p|@&*vh2`eictA*`6 z<~e}ervM=c)B*DOCSDIl;iK_T;QiQuToEPM!#8evDzFLz$RLEIjqznG%cy_4^|J&$AyN?J7d z!GT64mfPzeKP$*!afbbj0E#C^ENZ|o9<(4NwTPx#N>%DSOq|IOZO}%k$m`g1~eM9tKRxl@OiK3;-MfgA1^StrmFsGKNZ#G{-|Q z$Y7FBn6x!AdRkigtOZ%c3!xJ{37AJKtFN$kM2c{B_D455Nzgvewdx`eK0b{$3i8Fv z_V&;uy8GFvCSY@dhCZ@=OUpEW;y+Gg$M)~vkAYmSlH=kib?K<7%bq^P?5-~Y%gK`& zR)srab(%e?zlgHa55oe$3XmN$2B7y4@{e(D+qTWF+Fx5c44q{xD=b(RYS0v*H!vKE zF%AUDNdn1Y_h(}RBqc~Q6mKZgKzD~f#+VFYZc|s+%F^=WUwMDrJ$!30xau1~MN126 z8IEN*g!LT-G4?+kF7ft2{9>{hN2L&v!w>QVS8+3AlDy+exF4ay52Goqn#l3n$99=M zlHluw6HA1a$vz+PP7+Lo^B)Qgd1GsFbF~mj7}y3zo8E zwV;mB=D$uU>-=sP-Cdg4d%%xNCqB;_ySALyu&<*@HV}HQ{6_TKcAky6WXh}iEw12D z?M2odTRXUAJvCU^g;)=AWk<(3zV%qlF>wYQD!-H4_@uF$dYwNskCR zj}tRm`JJ6+i5aAlX1aYyIHhBPesVr`i+1AS`1Pat$1#E9F*yE&dQ3Rk0DBOzV?rxr zhH+HZ<+!v~f-)-KzQ2`k(Dh@&3JQkS-)PLzvz)E6jT?r0U_=#+@QE%!c(wzdhQ&h_ zV#hYr+3;iegWv#oMpqt7aLPcyS5{I&1=a9_hDq|!TtJsv;8W`8p);|z{+s#%+UKM4 z=)U|K+@q8vQp%1v`7^K+na{#+s%0bsqMeJB%J1+c12PDNtXI_f)SB+#V!Sn;A;t_kprC^U_cI zD6c;hcOT+7dJ4tg)XQcZP0?{fcbL)lH1oYcmIG*UW1g6Uo&7TItK=c*i#?ruk;HcF ztdY5|5bR~qrcB*0i(OCP>3MlId$vCeoLu|NQ=} z-zuc`W3fb^j%7V4V5NNOg8xe&>S*`l;SbA8_OR1O7DvCee7CRQaTcR=)C+69?jH8; z@j{LDmkriVp2v5RD@|nYh>DsxIq)sr)!vV@^ebQDqc&D4CDCEA1V@#%n3g{NS51X+ zJwG`{PpZzJrL`$9VQczeS4zVkH1P7n*2s)t*n5o`S*WW?i|ApFLa;?Tiy=-vGUB25 zpCVS*drRZ&*i6`zlb=8PA!UQ{4O(dz!3!mHngQ^B7Q@nyN0ngWytX`rlv;<44SMts z_;dsr6!;~186{Q|e49LvbtEqvr?NaeDy4Hx`LoVsFGtgTkBMWGbG?mLVz-*|sQ3$b zXd}qaJb(1oCE0*%{-D5&mO$6u9NHLfT7@=YE;YVxi>fCKi@U4~jm?SEZYz06-8$eo zXQ^b&>0de7zn!m$ez3soarTqu45p@1&JQBD0+dvj(-aLd&RSoaoFclvrX6*_?;3^e zXp3c zfeBqO2;LqZ3>RzIRo|RndbcUiazEmX@Xxu%>l(7!YsLa$qSHb&vy5e4* z_VZ)(EmZlH@fA{`-iJ3;mE6RCt~Vak6?m?`rp8$&F&Ci}sdkFhW!X8*=)s$c0|n(u ziGKA#dxONdl{-@ys0Cdg{u+PG_G)8Xp!jH<&XvaN?n+*;6u7P>#d4Z?=05#1Y3;k! zSx>Jd)@OB1u1jg9v>p*5ue1$qX4YQkJh3IOyoyf1>Hm^Fi$lVTRc(42I(ydsgMN$; zj$lFueqY^)y(l3OpAoWA{9(DEDnf~m&J(C=42V2=VwxUFJat0*QN!Y^kL4V4KeQb` z+)%nCe$|aS;})6Xo9IWe%tS59Ws@-%dQ=pDQa%r}Pc_I5<6&_>y>wyUa!G_ApLLAx z1+&Y#~ z-_JwHA%?|wzcm@zRSvh~@1$xs*yU&}FSo};?Bv#bm#y>emd7o{r&0rE%VHsv`MjL# zMc3O%csQfU%muiMmrs$5CQx=eg?D2X#mBi+2j1J4Pp(`Rv1Ld=Znw8uuN^#xAO1)yYJ~hfZ zdR~gODqNVI)wRfX`fnEC%JN8~i;7YWXIrwpepKE`<;ic`y9FZcbp{q#Q+9>F*k7AC z>De@|UiiECn*46=!ZyWkb9z6^L%T)Cd3axOgDUDK|BL4i6v^=w8S%DMx6n66grqZ+ z|4AhO8UM%5bM6b4yswl1oxY#nqr#p#}L{Six08XH%L%wttyPLc|*n(JFhBqQmI zmZdkk#SobnstcJP$mI=*7g%!r+R+p{*?xX9k+L|h&xpL<((k0wl`F@z6p~04_7ona zBZ+;`bMD9#xpN6avw2ol-2G>qgUKGc;X@>zwbtxO9z(obCZ7APFI$91m#uZW%+*|T zk$isd?#b;(rY_TM8ZwegUuC#o=8DD2!OO?3j+WF*pJ#4 zu{-j&YV@GI#hsQXY<8_snfc8z8*Ws<*VE11%`NxMRI*Ix>tf%^X$seBr3Fzl{p_=C z*RDIhEH4jeb*2s5M{hZ5DDdO*OVT8#{?}_G;>=ePm-@>5GJU_3i$q0_NfsP?d5gnZ zQM*clfz&GcI(^aja>cAxRaYy&`YE|251QqQ=*?@D_Q7T1h$CyR|Duw~gVBmMQM4TO zTwXig^tF8Se^sYe^ZA|kW+VOWh+h@$zTGy3y8F#)yPTX<>F-+RGIj=hAgyvLcJkQs zb==EKXTYV0y}i%th@yhI(m|a_K1G{BJtGDYLt5^3yUYR2Xn%V3NS)_f&iRr@?nsJW z-fw;T)RNER*XI^vcLO-l8EYGUBI=5|6+<< z1{(20NrI8~Ux{UC1t`NFe9?FogqKN>p&B3JFulz#j7M0Yjmy(w033o;+JToJy~21m zr*Y7q@WDT!?oN1~q)d~H4O^uQH2%#lPptT_f8UN7eaH`v3=PHEzsnrr`}a$iXsp&a z-tui~kWwuh3b%NiUvkPddEZWATJ_Jtj{A@k$~D<|woCi(qdNHf{&fa=X1!=zH@<~& zt$$S$OaAUrtoHxj)&DoE7Xm3~qO3OG<=u7SV2qE?j*ma8$|kTtOHjO`#4|xlz>id> zH{2rMq>)ZFs>y?`$GD^X;9A8IweFS6>zftXaW=tMD{1YgJU)MKXrg^~S7UssKJeQy zjo-7D09Z@_3v*VQ67qv-6C=!_$diX=25QIdwG zl4RrCL~orqJE2C~(L?*XWMk(?d!q4CDk9}2l8vF$Sx~s)WC)gt&I4{hVgb0gmYjzG}B5x=Qv9}2N<+Gc%xmQ8wn1W%s!-OLd zuQR#G+1MTG^cO?tZL3^E?9V0%d*0fqcJYjJTDEB9JxlUx6`Hf0-`%gOEDx{DD%)Aa zYRERlily=C#d5Rr)Dz#j_blQ})n3}#mxZ_P{T@6dFR3r2xtgJ2xyzr0T2t zRMuoFPo9#bVHqtk`{x2d8ofv%jz|aP4#%^R{LW!#K8I>GAGuD%5YkHA5lk(mS?h7> zwVa^N6m5)bcv`M!kkYWP7}JY>1KMMZq-|xxL?5Z04<5W@Ej7y{L`AfnXwP_y$IGx# z`SjK)$wCJ)A)QHk-;qzAeoa0kCxn`Un(HNHPh2Rs;Y>`PmWc1K;;+?0LzAQ_t$%Xp_!tHx_e<5%SmGq7CkQ))cF?SqV#*Ou2_BHHHLa<7XsqVAog z7157XksjW`5yE`aAc0v>NR=n+><*Eth@7guOOYLg*93{Kdfy+vs?hpSHjQ_!gL*;i z^*r0w7_H6(%Y##T@%5IIT`DmWZ@s8u9zT;USJ1jH*qp#P+C)iH`-5@J*Ha*b#tUJ1 znT_m!ZHXe2A3N`g`bk{s+TF#;PWgRP{0R$Dvpjkf4&NZvJ*KpE zW}6JVou9}Vk6UeLO%5;`M7E7TTKl}aQBH7NphY3#7>iLKX|plyVH3enX7qxv-Ox!t-5+wabeMDfe8Pk;If-Vwm(`(_^+Qu3#-3UZ zY2>@-1L>U+XYY20XnC=VI4Nbf z>Knu`DrtEZ_t5GbRXEVg(%zfiuFcoRVRpETRERpWiR6e$dIFP+rkDDW8wT4_9?L2l z*|EGn@KB#~T+n!GxL#0tj6{UnY%^vzIbTr5_8uyL zF@4pzRG}G@pwX&|5Sc}Kwrp$;JG)lf+A1}lMOtvKVZ`1a;(`Y0@~TNUjxu#N>XY;#KJx*U@9tW z9i7(4qU8}oYHgSH@gt+S8dYq=LTu~e=)=p`M0{8muw=OTUmNuvn=F;)#pJAe5| znql)ua+dZDiB~S{Nz>qmRO*@?g_#aAidqhWIz85cw?27E>A5Ld zZ%Wd-%aLk1up1riiF{T-?RN-`cOm_!dO}|g2-(Nv3neSc)V@mC=JB58eWJm<+ZtE> zsr-QV{0c%R+h$JdQJNk2rp(Eb-*j9l`<`?BX-^``G&9HWZ36wId)qdRrO7OWA`E47 z)8ew4uSvAZC>_Y>AdeDb6wG3|SxtYV!;?0z>JWvIrgMYGdr`qGnOoQ7{Pr5ImSiPn zRll`h(`sMqk;#3)A=EBT74psAGyOp_`_-c^>79r4EJ|%I!*})}_&5+N0^Y?|`Qm*%jR;GEXsGTyQKOal=_N zeHo?9`K%`Wd}y#e{I&nXW|dH9$H%!;wu@;^9@_a2o;m&WXk?Gf5i^>xcyJex``%Naqo;zFs@P53CeD-SRO+J>AMQ`{Ke>E{ z+}J*R|ARTRNiTI8^XMyb>?yZ8PfvI;|Fnp;^OU-Bo++jtX`q;|EiL{P{klPFj?|JHHY-V1kIS^_6c=1>)spCci zCHZ}eB*wg(%_o@MdigR*3Xk6y_Mi6Brerc_6jy$&LChfX@EgBc%auqiZPoFXe|Cf| z%YW!3x=@bK$R_XsgS@pYv6TBw`j!>P>8~Ol%(K7Gr)F^|w!h8@EB{KFmc7=*tU#mp zdoQb~oe6P!3F+%romSoLl`oVx_=(&=JjB1o>xz94=nB~@NO^*G?|hdc9GEpG2trrKk1be6g&Y zka!0n1%Vl+C&3A8aj~8rd={yEjS=@L`Y()E9Ib!mK5;~_S)`TLGxxfr@%0K$qleQw z(jHKzHLP8p3?lyY^@a!InT5}B-UEse77zV;GxHN-i}|pwh5uXE*KMQL-fMRb39njk zwOyikaBSnur;Kd^mrjY3={AUpb$K+kMD2T)IibDuWEZ)#OXM+S#bzgi`Nv3utx;#YGMEk^e?WImh+W740n^uh;leJjXwCGaIHG^8g3ieB z8P~0#`dy+WZEyRhXfua+EXuX3C{s5p*!c9*?}elhi8DQP4q0}}8_WOIAQgNv`df^c z`gxM6g*%Zin|>8CxDKahzap?1#emX;*#^pSvbp1X!*d!GsA3;qXvjAU&X&J*%to>G z!gm9S*%Pl^IUjRc?aTF&GWBh^C9|XAM|;QY3HxFi{n{5B~jX?oCBtZPyd*w z8!6*fG9bz3h{}OYW%&=5{vpev4{OnRkmy9;nbLntd5O z{B9ucco}bH?dbcxW@DWj4<{0`D(?AGAHN_m#berXicMHUQtZ*!v$G`P&%c+1HK^ps zEUU~hl|%{Sj?Pe)Wjt7-JO%im2}263nybAG}ch1ov5mC;E1XG{>sqRO8%Qf63;UhH0r}NL`pV+jY&o?C)j9dkX zBpORUsXL!P;ePmjPF>0u)3Dgz3l-^2({r^2VZ9%oaw{&rP#}7;`((c50Wr(g_YtQ4 z9}^O1YxYgE*HUqaw(d1vyr+?vcE_~6S1I#IXT-y(<6~piZh8?&)3&?*3rcZP270k;j2e|c4yF2zq-dH-{f#C_OXj>Dzz#@!R|+Hv@spD@kWXI z(xUF?%$sCn;={IGJ7zY|ahK&*dW!k`0l}kUzmBvc&=mUqNZ8}OEbp~a{q?i+#~mz5 z-%F~V=NamIg`V0WN||-$*^i2jFO!_k`-gRAW`l0+Ss2)^UZlRN)5po9D5@eVWzyk% zF;B84OO`)(MOW{6(e=d#Iy>0TZ)=*QX`WoszE^JOIwZ*Aw^a51jmod^XIs*3>UXIU z4XZWJ1=VGk-+ZHJ>pe)6S)=?uLT$I&@P#^~h_bTW$0r|!WY5}g9aor&QQoz8+k)-W zn!xt1*T2oO#_G}wCc7ft(jRNKEqbMJ1zV5p%CMQ{xPHr~x1X0-?AepS;l=kg!#|ev zrNr~|IE;dX0t*aAGRx@tXpc)ioW1#gt$*#{8Rg+vg^SdsRXc)4BotMj7t|I}j9Q8Q z%Apq9ZuR@+y$_>V;ZdLVlF()>rj9LDc&*kma^0~s>pQsWlqC8~ze*L&`m@#!k}1xc zs6Xu9{l_~b)S$oQJr(iUf?#`!N19tdnF4g{HNj4-8U6=*{Td_I218|Obxaf*eQuBU zhUrIkM745c@uq$l=&DHH=5(>XtMLoXsGuh@7l)$X(!tE%65s^ZDt zv<%1=P3l;d67>h`PR-2iJYg&{-x7M0?DXMz`*wOR)diccOF21(y6OE;Cs<@F0X72I1xD-o& zWOw~U%BA+<+1iQo5>Z(N!!JCNGEG{=k88&K*!%W|-G$TTf}+AhJp&ytySf+5zAG-? zoPEAp=-y^!9YC;MfY1vWqUz-1M}02Z&FRPw8aKN(ep+DkeZHE0W#RTHwbG); zi(a*16=9Ke{ev`Z87x#pLWR4sZIE~7?5xn(iET61IcbY;wQg9K zvl>O%^L^dCrf|XGFa>zd|I>YBY>1O=A)$++7!SB3D`-oRU>B11^~g52uU~7nO4iCE zrUujws)aS#(^lP>4!eF53!&qklikma=Y0W3(#Tu#R#(2{nT#gyJk_vb_ReM3$zy{( zA}0$-L(FK`T2JrV=M?ZceT4O(#@M^s&XuC?D_z&tPv=Rx7mfu^rnkPX>P%{L%cl?a%Hm&L^)DX1dD|NNxPpkzWZOXKT_$p<~9S?2mI=88Mt zR}~FacXz!m);IV`++!4Kw(X|R!;z-mpX?SzBmQ1}*))5#lXl)rKlpQ7Pr(^)7r~T_ zu;=dsKXge{n{EFfYTR?L;%Dsp-*L+a4rYFi`Y3e1SC@4ty0mqdT;>`D+nlQOdw=WI zxR<+&lSq0Z%E^8NhQ_pRAC0k(NsN7*_SmXA)>TFO*rRwi^>;pdjvpNBkbZ7V9Fk6> zx=JQ&YF%}!z`NIRic#dTN{oN<`PLs9{%?0bVKSxJ-pgI7OnQn-c4g$z%sIQApBYzW z@+(TS4w!u4>nJ$8$2;L&?ckpj@4E|H{s$D*#EArHE#JL6HN#l0v--imBkNjD6NTc) zkyBYl?KhwNh{#K}sur>?iIJ(>aVN=KB3tuDxZY)pfc8D(H5nw z7Yp3yW|%W<`z6I(QywG_So-f@P$*Gx@f&K~ySu!CL!DyWK(V>gEA5_Ve50(UJwIQN z%fao0j?3gn;{S-QNpQbR7sb{`A|$klGEx`cHL#kEpLl-s+?ITx1?Rn73hxUv?@Fek zv#(rqdy=D1_u;JZD4d#}DwBdxJW*^z$XB#9kwh^zKimS$y{UfMewlN<0-S>i?X`fVol z;7a-sT~@zd8Y@$47s*4t4{wCEn0O3}e;HHh+_iDz)Sm?dqL+TX9~rDKw5U2Pp61!g z(H5(ZUik_}N;Pph{Qu5{7%H&nQ_6L`L{2uf8uI&3CrYBvf z>O1BY`kG7R)W7W~*Q6)DThTM9n&i8A?oxZN#@8Sp|Hsx%Jh9xHbn~Q3F(Nn;5aCjas})j+K#HPAfp@{PDlb}#6HB5n5) z#pIfvv043j(r3u$&D*`ZZF^3WN%uMDzV@x`GrCQBS8+9=OZ>~d{NAfO7Q=HgiBVglkp@=(an;!Am=7(#wkB)t^aSf{V zYgPVkf6|@py{&J8bf2ym@qJa_P>uj4#X`013-Cw`}w(fLw$y(*mjN-W*@ol z5Z$>Sg@L;ABAX+!tMTPaG^O9^6;_w`UZ7DrJzwrwKk@4I@4aDFYo01yf*%LJ?hLs6>|=c0 zkqh+FF_&+q9NlKp`u4=JN5n;+0?ychENu7d4|t<`uK9?0@voN3sbRejqEF){+9b&e zSY)jI*h4OfC0l;*dB5-M)YZ7bI>(xrpf^!3NL?1Ll$o(D7BHJ%zIwNY`+Ax*#kl^# zxQiFQzxn37^P-Ipy+Ne7z9b%?8Gf2E4iU4>faj5o$_iy~*gkc}U`-y)IyC)KiH z!13ut{yw2U>&dj{?%}Sl2geF;yZ>oC{OB05?#2ne$mFp^? zr*^k|boovF>9>f`+Lms#<*nSRg$u)a_R2C{krbQ?9(Bs1*G^jayp~u=PkzC%GqdX6 zD>tG)ecTKCX3u`fxM?L8bGhGZ!|iVSJgMXAyPL7MjEGd3%PP4mB0TF z_B#)MQXCwOj#qN~R6U>CY`K26cul;%;>BGtOK!1MwWP(ds~yk%_YVFs3yU#4-h1Cg zj3~j&=iCDGh(zV{wTYYeZE52RS3Vd>5NDH%$Dg27G&f3h7wFXzJoR*^HJwGC_ZMBw zu=sl7&vx&mZq1VwkjgM=HeWaQ6?f$6&yZant(xkk8(ULXuiW{eB;Gc8TSye^F1O8R zzf|CEH#~n>HdAC*pJMO8NFi3hA0%^51HA9kb|ZyY(aFkC|}g^_P!K zPY}lJiX2tO$T0rB z+t<5XVwpCmH$9M)=n`{=BQI4^tvBHP>3VC=b*~N%3LdGZ*FLl3JFK>Quo^pR7Ltd@ z8Y+$Rw99P>`LyW?}992MJZ3wx5X< z)TMDp*1qnpzLYZJD7W*mij1;`6%`TvBbAej>if>@D48jEY;S zJSpL#bwd0do`J@&cVXhqJFjcl*8PYptqFEHO4DlTCBOY^a+X=w9?|zZxGua&ztv9k z`GJ;m%^w?^LLJQ&%K)B^6Pu&guiLllU+gQtVvqTO23>&Awg1*6nuv%8%-g$O+@`kt0q< z)<3H5n4Elbk0D&CvS?`cqw$BO-M(rkiUT-|vrI2vbhCrdvLt96vW^eeGap7%*@ zyO_*;YI_C=Tl!_Dauxr_%w^%(+o|(Q&yz+=KP+8|S3W%-I6As_PmKjt-YT)N1j+Jg z%|UVd_j?@g@ANbsVTsSVRbjumdcx?#fi1tU)#iux+-#LfGu1pTS?o=zr({2W-)Ul3 zl1;xF!_G*?fzC-`kwgU&fiY%t_c251$*25Z>hAnly64z4+E-cYxKjNqxuRsa_m!8| zFoh;PT{UIVmL5HE+Ue=$M@Eh*ONS|5r;{X|@HBej&v!ek zp?3ix6e08??H_;l{_lF<`|bVyo;7RDmpRYuv-fjm?{j9)o=1g{8%L$P88A@GTZTlv zA<%@n+NsThd#P$SZN4?r7dn7T%yXZddtC_IU>wWmPm8wXm;&WGHqFe5f%!FVm{Fm=&4j&yM9ZGcV-xK)D&D|?;f=vPM zg`weAZ_^q353fukui9lgh;43&cU~Gr0;RihmpLYQpOSP?HoM|zSkhC$(UV&)uQ1`4K}p1Q1`A|r1O?OYi`u*O z);_Y2T66L;fBJvOXeX$Z*xr}E^Kk3>Se&4nAr*z9{(exs?|$l{quF5S?`}uMo(omU z9W{pqchU1ccEJ)SZpl|CrnUfj2|oGd4N6OjKigl%P&)$G6@EK~l*MSgKfwB`EPSO~ zecBx-uQWpThkIssE(a{oBLs2X?U(Z$)5hoe8Q5R5+qk{|1-XKBKdEi(A2bW&WDqx2 zUk5$4FDClJKnfO&RvBwPHEfQPPYopzq?N1sdK!YpODb5n9K?jtSTnanYD2)X3>zEC zrSM#CUSQamrsJa^c;nY^vQhzMr7Oc#6Zhn4tNKin&MEa~%hR~G_OM;^mHG29&KU#= zCtX&`>o|5{wGQCg<)(vjue+x_3qmyl$v433X1M#tGw(*ve^ z{cx^!@r_d!^pXy#slycC4!_jlkIbd4Hdxcf42GlH(pdul^iR|S=-AmMnwkR_IFCPi zOR-6a)%B7*9clp1W)P44_2$B|?^}0C%?N48SA?X)ctGf=w=3^0S8x;!Z%3|{r`+v! zJ^FS{BpqQ!vXj zTUg04$(HS(beRS^Ghf%JeAG;I#s;K(yB(f-AB9%L1kJY3B1>&Kv-|o&_F$^my!4Nu zO+P0~qVr*#04vq{Gi~V&R-d_>y;_2A9e;yI{Y@nEN=DAL=8fdb%DiTz&hl&dPk6Wh zofK|^Ysdgxld)5)wL5o31(gTi^MC@R`T&gPesf*h583t5ij-~e@z5_7k+Yf;A zH#JjdUvPH)QkfS<@PVlIk24EYXyyJZ^J1Io3mogJWTo}~G|T8k6ytTzfE-nHpf1DW zEyMWDM`|q92guKC1{;>H78R-!ZD&ICM!W;}n1yWWlsT^>@+u)$>#<+__*2Kjj{-81&Y-I~1uW=j|Nan0S!$9dSvXg*d-fAg3cOL?z> zBbb_)n?oe{PK1QO{I|)j;@GL!DTheM@7C{u{TqgQTZc7`!p<1{JhI@k0WIhaPa&Qg ze-ioG0NKEYXu%%`9?v%!cL!W~;HHSPw|q}0_er115BDeoTRhh0Eaz&D_KNZ6yPjTU zSyBhODQ=D^fd!~79jQXYpW4lyNEoPsV3bZ7W9lQ3eF5~KhLQpfW2GY#_X2-)XJkhpQX}D83TU1*aknroT zWEtuRd3vITFE+7T3-$c!VEGA9>U=NMb;e3Jxs2`fXALRaRZ8~kj-~L$y5O49^F$+PP*y6yzzPTBY|9)lyD*x*cv#hll(*I}>e|fa65){z= zu(kfIVg|o(5)mO;W?FT+?U`YO@>$CAq}!}*KI!L=P{?)?vt;wf|LT?SD{Vfk$VPeZ zBqy=5P4676TKIX%)jDs^=TT|jJzJ!Rze>T+A4I4eX~1}6Dk|Z$wjUGe>uy!jNr!6Z6vb_FH1cW!^j7txa})?xc-YNh<qwq{NC%oQdxXnL=T)d&={`98?|?O8y){AoeA*TP{>2cCVh8P*rf zMCl)h1inoVod|#}H1f00AMTs6op<6V7LIy4dMW6NpE$J!9Ii4PJDhjk%P=aLZazfB zE3AitK2-Xj9gN!eff_gRNiWYl zFFpHBQx1&EO*cuID1!+(sa>Whqhzq@W*hl~_XSZ8??zhGshiT+mbXVmceEHhDQU9h z9W1)ECuYwg6mE2XeH!O=esNr8T5sFETN*Fe>iTD*h;rfh2q$@Y*{0qSv@*cYE`4%Y zRHRW!{oUl%Sc!l_rW0P?`#_r&cCjSsWdR%WOfmnne03C`5^$CsbW&z)QM+{HC#l)w zebO!#r@>e%moOQik{{%C^#OmrmU88PDq(CMu&jNxyt?URigxO5Yj*ZBn%y6*4RRSl zN(^Q~^m*tOpN|{VLk3x|aMKDPxAno+3vGoz^Q}Uym-(_s+d);Gy^;!Wf0yMfRwuK7 zEkUZ^{)>mDTaIZoOi6y5Yeg!OE&hF|&C;vG3)yVx(WPdUjE21zjsAN{+D@kR`<2-j zt*vL5d(Hv)-k`ek4Lr!To$wd6Cc8tivb!=*r)aS$XjskFke}qd@50r|LLd92)G(#& z>ll&L-Xs+TsrtoTTv`39*VX2kLcrSMfL%Tv0~?^z$@Z8{%59T<;?m`GVBvCmuk|9k z?`pTw5_FWXaEXg1op72z?iw~l@q;7b7P@TyxD#U5tczM!V+*$_iG_v(?yH^mL1&ow zveRA9)<)-ca?*MAc&|c~^wCQ~wLjZs_p`F*!yI;j){9|_GLPlb;R{tysF$1{fh!G{ zM`-QstF@k}-x|+@rTF`5pFVAdb+>Ff`+1*Icscm^21SfGE2Mx9K`f;Q`3Duxb7dG& z6jYl)QozX#vtM%y(gkQtWyzSm;87q2?goKME*RNNtz@uTQQL!ET9}#u@c#C~0Q}kS zi;vGVV#-d-Ptte4`!Mrof`RI%ve}wjzPsNV92+g=_pHqH-#CzEuvnf{7SBf6)*OE` zi+A$d>wNE=?Sw1Jfo@dug&=~iBV;^t=jFYBO@6Sm^zrCRpi(&M2q>1EZS`Gl7@%uB z`t7$o7e6SzXAa!%`yiwM?PZ!jaoIYun~)c+fShepn0Yx)*W=I+vjYr_2U|~nOlJzW z`kssk6^w#-29)CVcXp?bm_U|i9V1j_Gflo1`GT^9mGJKo^AtPN(@hlxzwNQw?7)?{ zylhRz9L0Y4X9TzlUgSl^E`N!=d^p&8&~?V1jgbg*&_Y!v(#LDs`ce9q2QDER+2?B9 z2D%iUHmrQ&hB*h>UIo`a{d2DI`7sLq&fE5SNE9u#})gGomHalP|r<-fra=$}qv$k|jyyCDZ1*G8Sk2JJ>T*7>} z%cnBo?&aFPd|8v|?m;pBt}Kl#YjpXaD1nO^e9(DE2l*gA=xj2|NKm&Z*SSAVcItP_ zY1^*daWmR|F!&*R=9~QE6Gu0B*pQ9P<>3rXk-1 zN5)q_2@#}IUVl>4rMFyEt{-JDY97OW(YET5_OcS$(Jp^rl(UG4^iaK&!p9z7v z+E$8(9Y*oZG&wMW#e`?BOEBx(OFp2PGxrMX3;U#Kif9@~de({I}EaED2B8J1Ci%{eG)wRD~G?LBC)E(&u;mh@TU=KH4J z4;8uc3(Xxz&F?jz%PDZ>Y25}aTfMy@5`GyZ)mQmQHT288vlEj$pnpxPbtZ=GM|Qo&PRcR$;nUm!F_-7k31JyD>cLg4`Vzrw?L{=yyOGRZ;FIhk33HRht)v&l60Oxa;BRlUQg|#le6kAE+@@bW=uonH!{z2w zhp?rllOgAU$z+>l%b224yVsx&93DsqD>dbdYX(eSQBTr5#SWeEUnjaoCOfe8dZ-Xh z_c0^Rl!I^8WWgRskGejJ1*}?B9cY^NOiG5Lz{untTPqWEk427uubh6x%VK%W!9K;U zjEGk(pTSb_$I0qtMYO-sXmc6m9}Cc}(4A^u7ysv>zgcA8*%ZH*G;%ZiYENI>htl$e43RIww+G?j$PhncTkVLA4ueK)27;bpRl?GzWk3 z{?j*8{?N$aVE3mu+1o8cI-=E-0w8;5coNntvw=9YVu&UeB5 z5EQJM$ZR&zVLa0y;&9%(EOVkXB{0@q4{8&4cyNtQaTwv_TZ8da5@ha`)(^v{rWf+? zrsi$G-?;;k|FzSuWdFHqRS}^GR%D31Wh8~_#gZ4us(GOJ)Y{{8nq1Pi+lD`ren?67 zX-6CAdE4LTLDhutb09{sCcbwt5IaOXwAW|bV*B19IP`6C$%@)a7k1kLo34S>SpP1= z)?0NU(N*aAO;_f2@T3@24z z^|GIU3k2ERz4&Pr`MaNHLGm=;QTT1 z?lZ1Z+UT?(@3KOgab#*#Kv1PY3CExYJlA14wrbR3xK%f-)gAGOQ?QuAA|2mdLLC(l zt55$BAt?uP@iH|bi;TS-v7c5*&o%R};bdyaEVq?(F1XHwY>+q3#b8Srb3HV6nlgB} zc<$>pdG@oCVMaxUpi&>hFb(Ez_a2xEgc-++B)%Ick>^s}N8Ns?^SEe+x$i5|zIF^r zR$=z=&2sq-;AD*^Uvg#c(Bh_&r+>cX_oQ&wVMo^F#1CP%t9)Vl_+VEM%LW%lnOAe| ziD>C-@rwt8GHMKox^aYj#1lk;cz+r>?jB+|Sq#On)uNff->tDx1WjXzcB1m!+aT&X zN4+35{z_>fcA-3Oo$;cqR3qZJH;j&ZdCgw&c88&0kjee+0xJ@0z{#rVTc(hc3JT6} zxxo?f6*v`0JDfcHnH)>gF??SN?X>ftr<1Y+{aS>2!j^Q2kB&;?oV|p)o4RDK-|bqW z=XXIajpSVN{lqA_PD{0K2Pf;iQg)gSQrlj<&^!{($ISNKU9$J$LCd@W)Wj7+D3^wv z#OIuv{n%OPs$cEePNXlDDYP$?ukMW^^F|DU6}79e{vv8tZM%?CAZ^H8H?|-|kRd9p zwhQCocE<{wgLX;WUi*>^>2(_)`Y?8&YhiFU>d&3Wt-mAo}#-;FoVO#MGtAjW4b`l7P=QeO13_4VMKV8R>D*o#KN(8EZju-1*sI$# zi;fTVj#OXF!hM`D!_rxz6}jw0uFiR@E>gvuCB4?hbBr3)hopL!C1t0P^Se9c@i z;)?kcozyQdZukpnuu-_ChUoKFaLvuiDP&^RhEy$hw^{gc-{pL* zt-+I{YU0p@#71jmdX-1z2uQu)`=!r!Rwsn(=)=vgV*({bL+XF#jgChY1lI;g#4Zk0 zc89{#Jzgd5E(PJ&@K*8#g>2)ttI^SQd_t?wa?;YDEj7?r_k`vN3RLrlXgDBd#%Fqfu??muq(}d>iF9T16_L8c^;e`jCN33Q@pF+viQWjvsDOZZhloa zr&3Wj=HNB05qVmy(O(}A)D1I@@T}XGFKD)2{bDq%qmLkSRk+rDJ+|0`xwtC_JJo8c zZ7EVN{v59|)ahlPotl=T3{2{6r|)&VIm2N{VHWy*=A(zrVYNp(mizh(=fb4%Fw~Ln zj9&MtjiEJOl6FX`G(0Co#wKX%b?d=LzCirl?_m#w&{W1Y(jTLEd9mCMg@;|Ks+yE~ zGbW3a3rn$2qGgo^Q=-QVpk;qBc6uio32KK2e)0l2I}X0;wjCOB-isUuR8#_mqGw*( zhs%K^lwQmaj^NyzB|I5#vj70HF4Y&$4MeA>+Q?kt5e4ntVoKHD9t}(>xa}N}8Q;A2 zla)`4PBNS;-&nG%)&b=S56T7ub?Hqkt&0eeaO@{2672n^U-~LWy*zBJ z-8LGWBkVpdxX)zgy5H|C7Hw%;r1D&yR~q-=qaL;%@-|Q&>NM#Zd;|Yx?LzoKi75aO zBUioe*Q3<3IZJA_+Q)R(HBZ>5*7N}1750 zhyeieFJbc^23INM$HOCD68)Q|sT)-9+}W;f+_9Jqpx=ZbotxT8}S( zF|tN=%r|G6QQ$fu4iOPgGTNduEUJ@HiG@}gApM)X^*f{k$WjRTA^@SG2hM-o(_-j(l}+^jtdB3L?Zsl4Az8BcW9LOJ9de?OlGTUc%r?Z zd*@u|B&4^VPv|8(O<^620P4H4X_-(Pu2RO^Yyu3%xKFz022B`Rh0-^cZ+2ox@gxKg z%*?su_{N3rC9B7|fkQ&1X1n_ypclkML3m&mVOVfpd3w040$GJeS;e=RNZbq>n2?@ zqY{&yl&g3f0N6<~Imd4PJd?7~;6?W|DiG~~BT;YykRqLcR0es~r-@=J>h5EpHxs45TmZbQ2q&y?3C)Hg_|D&R7YpGbNocVW{~zH0T?dYV z_m8ri4lECe|0)@9f+eb`oi^M0zL+U!(bGX}xjfhZ*9w3g!yTNjHy&Pv0c!KYdJ0M; z7Ki#u=#9woLWi-y5%P|)MKx!2yR{w0PMd##_QDK&KSa3G!%$-wX6@&&RsDH0D0*Cv zHz&~~ADF`|_E|R1mal_YA<@45$=AP;8KIr9kXWmgV$!_5or@p(M-x@JcM*z%G3A`9|>weGqrpTo2GuWqA|B=N2aNR+e zn#w<>iufLVg+Z*=zu2|)Oitkp*$+Q7EMI*|4@2I;x|WDz)&-=IP5iK8d8(*$FNi~vIInu zc#R*V*t5od&oPj*i~2{KUOu1E}I323-nqY?$bM`u)Om5k8!GwPAJHSQ9-#RZFc}j^8-MJPEcnNs;j^^9V*CZlDmwjBI)Qh|4fO!zY>Nhf<$%Qm@VZmjYc-mj4L%58}5t-`?Y~7czLb?q?hj3z5vAP-{Zj z${PgJwTY2+q~jiF?>QBZluSVN(d$2a9g!nWlp5uPHxQKF#+L^!e+T&=$^MSH_d2wl zxG2f3WW2IxM5_@9o`V&C;<{(_Rqt2dBXtIK zi)cmYVkYIv;t4Ub{VGkw04qhy{vA^y+a0to`21a#$e<&xx91O}?Ku#Qhy2^!PaPv9=#(jJG}O`}ZHt4)Rx z_7$`*)r-N-OCSfs53Ircsy|K+ZT?$}=hz$8y^ZtyGH^F7Q~nYfBlo;|BaLV{!<;w- zZHD&U(zsoXhN!ix)~4Bsf703!xSJT5!kfjHW&epe4GQD|-ppd~kz9XbHn8ry)qgPh zcl7A>5yBDo=S_O`b>XkCcXdANOFilB@X5Ul+uw~c?CZVgCw#9oVg&i0en^+AK1&AW{xgO>`OAGG6*xo`gUgaB1#trw+= HuS5O^B@3MH literal 0 HcmV?d00001 From 1eb2d44176e3a2b30f2a12ad304b85c68525263e Mon Sep 17 00:00:00 2001 From: Nicholas Lambourne Date: Fri, 14 Aug 2026 03:22:43 +1000 Subject: [PATCH 16/23] ci: align monorepo validation --- .github/workflows/docs.yml | 4 +++- .github/workflows/publish.yml | 2 +- .github/workflows/type-checking.yml | 23 ++++++++++++++--------- .github/workflows/unit-tests.yml | 26 ++++++++++++++++---------- python/LICENSE | 2 +- 5 files changed, 35 insertions(+), 22 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 27ddb178..21625d75 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -6,6 +6,7 @@ on: - "docs/**" - "python/**" - "typescript/src/**" + - "typescript/package.json" - "typescript/tsconfig.typedoc.json" - "spec/**" - "package.json" @@ -18,6 +19,7 @@ on: - "docs/**" - "python/**" - "typescript/src/**" + - "typescript/package.json" - "typescript/tsconfig.typedoc.json" - "spec/**" - "package.json" @@ -55,7 +57,7 @@ jobs: cache-dependency-path: pnpm-lock.yaml - name: Install uv and Python - uses: astral-sh/setup-uv@v10 + uses: astral-sh/setup-uv@v10.0.0 with: enable-cache: true cache-dependency-glob: python/uv.lock diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 1952ce14..e60ec737 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -38,7 +38,7 @@ jobs: fi - name: Run tests - run: uv run --frozen pytest test/unit test/conformance + run: uv run --frozen pytest test/unit test/conformance test/docs - name: Build sdist and wheel run: uv build --clear diff --git a/.github/workflows/type-checking.yml b/.github/workflows/type-checking.yml index f61628a1..71795cd5 100644 --- a/.github/workflows/type-checking.yml +++ b/.github/workflows/type-checking.yml @@ -1,4 +1,5 @@ name: Type Checking + on: push: paths: @@ -10,29 +11,33 @@ on: - "python/**" - ".github/workflows/type-checking.yml" +permissions: + contents: read + concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: type-checking: - runs-on: ubuntu-latest name: mypy Type Checking + runs-on: ubuntu-latest defaults: run: working-directory: python steps: - - name: Check Out Source Repository - uses: actions/checkout@v5 + - name: Check out repository + uses: actions/checkout@v7 - - name: Install uv - uses: astral-sh/setup-uv@v4 + - name: Install uv and Python + uses: astral-sh/setup-uv@v10.0.0 with: enable-cache: true cache-dependency-glob: python/uv.lock + python-version: "3.14" - - name: Install Dependencies - run: uv sync + - name: Install dependencies + run: uv sync --frozen --group dev - - name: Type Checking - run: uv run mypy slackblocks + - name: Type check + run: uv run --frozen mypy slackblocks diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index f20200f5..6b5dc8ae 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -1,17 +1,23 @@ name: Unit Tests + on: push: paths: - "python/**" - "spec/**" + - "docs/examples/python/**" - ".github/workflows/unit-tests.yml" pull_request: branches: [master] paths: - "python/**" - "spec/**" + - "docs/examples/python/**" - ".github/workflows/unit-tests.yml" +permissions: + contents: read + concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true @@ -24,24 +30,24 @@ jobs: run: shell: bash working-directory: python - strategy: + fail-fast: false matrix: os: [macos-latest, ubuntu-latest, windows-latest] python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] - steps: - - name: Check Out Source Repository - uses: actions/checkout@v5 + - name: Check out repository + uses: actions/checkout@v7 - - name: Install uv - uses: astral-sh/setup-uv@v4 + - name: Install uv and Python ${{ matrix.python-version }} + uses: astral-sh/setup-uv@v10.0.0 with: enable-cache: true cache-dependency-glob: python/uv.lock + python-version: ${{ matrix.python-version }} - - name: Install Dependencies - run: uv sync + - name: Install dependencies + run: uv sync --frozen --group dev - - name: Test With pytest - run: uv run pytest test/unit test/conformance + - name: Run unit, conformance, and docs-example tests + run: uv run --frozen pytest test/unit test/conformance test/docs diff --git a/python/LICENSE b/python/LICENSE index c14b0b3a..94d4c137 100644 --- a/python/LICENSE +++ b/python/LICENSE @@ -4,4 +4,4 @@ Permission is hereby granted, free of charge, to any person obtaining a copy of The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. From c418f395429720a790c869a5e0bff36668f81885 Mon Sep 17 00:00:00 2001 From: Nicholas Lambourne Date: Fri, 14 Aug 2026 14:11:39 +1000 Subject: [PATCH 17/23] ci: give stacked pull requests check runs Run push-triggered workflows only for master (PR branches already get pull_request runs, and stacked branches previously got neither), and drop the pull_request branches filter so pull requests targeting stacked train branches receive checks before they are retargeted to master. Co-Authored-By: Claude Fable 5 --- .github/workflows/package-check.yml | 2 +- .github/workflows/ruff-format.yml | 2 +- .github/workflows/ruff-lint.yml | 2 +- .github/workflows/type-checking.yml | 2 +- .github/workflows/unit-tests.yml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/package-check.yml b/.github/workflows/package-check.yml index 5ade8b18..7d50e186 100644 --- a/.github/workflows/package-check.yml +++ b/.github/workflows/package-check.yml @@ -1,11 +1,11 @@ name: Package Check on: push: + branches: [master] paths: - "python/**" - ".github/workflows/package-check.yml" pull_request: - branches: [master] paths: - "python/**" - ".github/workflows/package-check.yml" diff --git a/.github/workflows/ruff-format.yml b/.github/workflows/ruff-format.yml index f58a0392..5b0a4869 100644 --- a/.github/workflows/ruff-format.yml +++ b/.github/workflows/ruff-format.yml @@ -1,11 +1,11 @@ name: Ruff Format on: push: + branches: [master] paths: - "python/**" - ".github/workflows/ruff-format.yml" pull_request: - branches: [master] paths: - "python/**" - ".github/workflows/ruff-format.yml" diff --git a/.github/workflows/ruff-lint.yml b/.github/workflows/ruff-lint.yml index eef4a4fe..2eb66abd 100644 --- a/.github/workflows/ruff-lint.yml +++ b/.github/workflows/ruff-lint.yml @@ -1,11 +1,11 @@ name: Ruff Lint on: push: + branches: [master] paths: - "python/**" - ".github/workflows/ruff-lint.yml" pull_request: - branches: [master] paths: - "python/**" - ".github/workflows/ruff-lint.yml" diff --git a/.github/workflows/type-checking.yml b/.github/workflows/type-checking.yml index f61628a1..3783ffcd 100644 --- a/.github/workflows/type-checking.yml +++ b/.github/workflows/type-checking.yml @@ -1,11 +1,11 @@ name: Type Checking on: push: + branches: [master] paths: - "python/**" - ".github/workflows/type-checking.yml" pull_request: - branches: [master] paths: - "python/**" - ".github/workflows/type-checking.yml" diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index 8e0c420b..b6e56855 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -1,11 +1,11 @@ name: Unit Tests on: push: + branches: [master] paths: - "python/**" - ".github/workflows/unit-tests.yml" pull_request: - branches: [master] paths: - "python/**" - ".github/workflows/unit-tests.yml" From 024df242d96d1c9453fd8ecc6e34977be708c8fd Mon Sep 17 00:00:00 2001 From: Nicholas Lambourne Date: Fri, 14 Aug 2026 14:11:50 +1000 Subject: [PATCH 18/23] ci: give stacked pull requests check runs Co-Authored-By: Claude Fable 5 --- .github/workflows/typescript.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/typescript.yml b/.github/workflows/typescript.yml index afd6b08b..b6730e67 100644 --- a/.github/workflows/typescript.yml +++ b/.github/workflows/typescript.yml @@ -2,6 +2,7 @@ name: TypeScript on: push: + branches: [master] paths: - "typescript/**" - "spec/**" @@ -12,7 +13,6 @@ on: - "pnpm-workspace.yaml" - ".github/workflows/typescript.yml" pull_request: - branches: [master] paths: - "typescript/**" - "spec/**" From 46296d4896864d36be363b3c83c77bf5a7e91993 Mon Sep 17 00:00:00 2001 From: Nicholas Lambourne Date: Fri, 14 Aug 2026 14:11:50 +1000 Subject: [PATCH 19/23] ci: give stacked pull requests check runs Co-Authored-By: Claude Fable 5 --- .github/workflows/docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 27ddb178..c290d6c0 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -2,6 +2,7 @@ name: Documentation on: push: + branches: [master] paths: - "docs/**" - "python/**" @@ -13,7 +14,6 @@ on: - "pnpm-workspace.yaml" - ".github/workflows/docs.yml" pull_request: - branches: [master] paths: - "docs/**" - "python/**" From 5acbed804f571b241ea85d185216f1eb40a2ea75 Mon Sep 17 00:00:00 2001 From: Nicholas Lambourne Date: Fri, 14 Aug 2026 15:26:41 +1000 Subject: [PATCH 20/23] ci: build the smoke package before switching to the matrix Node pnpm 11.16 requires Node 22.13+, so the Node 20.19 smoke leg must install and build under the runner's default Node and only then switch versions for the import checks. Co-Authored-By: Claude Fable 5 --- .github/workflows/typescript.yml | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/.github/workflows/typescript.yml b/.github/workflows/typescript.yml index b6730e67..a88041e3 100644 --- a/.github/workflows/typescript.yml +++ b/.github/workflows/typescript.yml @@ -80,19 +80,17 @@ jobs: version: 11.16.0 run_install: false - - name: Install Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v7 - with: - node-version: ${{ matrix.node-version }} - cache: pnpm - cache-dependency-path: pnpm-lock.yaml - - name: Install dependencies run: pnpm install --frozen-lockfile - name: Build package run: pnpm --filter slackblocks build + - name: Install Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v7 + with: + node-version: ${{ matrix.node-version }} + - name: Import from ESM run: >- node --input-type=module -e From 5aa69a42fcec8a029029488c5570cff47352bd59 Mon Sep 17 00:00:00 2001 From: Nicholas Lambourne Date: Fri, 14 Aug 2026 15:26:41 +1000 Subject: [PATCH 21/23] ci: pin setup-uv to an existing tag astral-sh/setup-uv publishes no moving v10 tag, so the docs workflow could not resolve its action. Co-Authored-By: Claude Fable 5 --- .github/workflows/docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index c290d6c0..b9f025cc 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -55,7 +55,7 @@ jobs: cache-dependency-path: pnpm-lock.yaml - name: Install uv and Python - uses: astral-sh/setup-uv@v10 + uses: astral-sh/setup-uv@v10.0.0 with: enable-cache: true cache-dependency-glob: python/uv.lock From 7341f8aaa7a6d24eb44867a09488e24053b86321 Mon Sep 17 00:00:00 2001 From: Nicholas Lambourne Date: Fri, 14 Aug 2026 15:31:33 +1000 Subject: [PATCH 22/23] ci: alias the package name for docs-example typechecking The docs-example test imports docs/examples/typescript/section_hello.ts, which imports the package by name; tsc needs the same alias vitest uses. Co-Authored-By: Claude Fable 5 --- typescript/tsconfig.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/typescript/tsconfig.json b/typescript/tsconfig.json index da984fcb..90a77a5e 100644 --- a/typescript/tsconfig.json +++ b/typescript/tsconfig.json @@ -6,6 +6,10 @@ "strict": true, "noUncheckedIndexedAccess": true, "exactOptionalPropertyTypes": true, + "baseUrl": ".", + "paths": { + "slackblocks": ["./src/index.ts"] + }, "declaration": true, "resolveJsonModule": true, "verbatimModuleSyntax": true, From f5e040e2ba03bdde45b2137248afb06e5aa76aff Mon Sep 17 00:00:00 2001 From: Nicholas Lambourne Date: Fri, 14 Aug 2026 15:36:16 +1000 Subject: [PATCH 23/23] ci: resolve the package alias in vitest and skip the unused uv cache The docs-example test resolves the package by name at runtime, and the docs build sets its own UV_CACHE_DIR so the setup-uv cache post-step fails on an empty cache path. Co-Authored-By: Claude Fable 5 --- .github/workflows/docs.yml | 2 +- typescript/vitest.config.ts | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index b9f025cc..b63e0fdb 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -57,7 +57,7 @@ jobs: - name: Install uv and Python uses: astral-sh/setup-uv@v10.0.0 with: - enable-cache: true + enable-cache: false cache-dependency-glob: python/uv.lock python-version: "3.14" diff --git a/typescript/vitest.config.ts b/typescript/vitest.config.ts index cd373e01..9e3b1705 100644 --- a/typescript/vitest.config.ts +++ b/typescript/vitest.config.ts @@ -1,6 +1,13 @@ +import { fileURLToPath } from "node:url"; + import { defineConfig } from "vitest/config"; export default defineConfig({ + resolve: { + alias: { + slackblocks: fileURLToPath(new URL("./src/index.ts", import.meta.url)), + }, + }, test: { coverage: { provider: "v8",

    7nGZ0}z1aWA#*$OjKh`BJb?27}P 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≺r6%7hSz6079D`W3eHYshVU20?%jGoB4%r%ulU>D*5X%`v1H8HCp8Wb``97 zn0vVsE}C}2l0L1sZK+tV0pHmc0t_Lw=gA{kN4GT&tfG3C+VKL?X9xwR{IXVRa5gb3 zgE(H33QG$^7(b-OL=nT11w#%6wJEPIFE;GX76ui&v}8{dy$vBWoi%2d1vRlgh=LM= z)=0cBik`kIXkRn-R2~3K*rPI~5yz-4vwqoE1(ob3HbVWB8*OHIkNtid|)!>^A8CVld?EpN)iTLzo)M^3??i)VzC|owZAA2L|-D1Rfvbl z3=b1vqD@Mrx-#ZnV$hh`hsT68U(yT1@>Jk2W>|93ejTSkvh#+-9jmc;#Nlj-+fCdg zHOrQWYe25!CL0_a;+67FNF_;}eS?_zL@5v+W_AcekLyQ6U6X+UBa2Cc3$>k?O^~`H zj^r;Hjm{)Wi#D7HNyuKt)G0&+p_cVK?WP8EW8N`cPi4vd2YfsXyr z2e>M96GcvU(0nQK>L8vEl)|KnOc-IEn8)+VlR(^z_{3>$9^Dp-f<)U1VUItuP<4>Yk&*=#9n(A*o$XzKtyD6ZQ^e2EZrK|0rYQef4e-te>+3a|Jr{ z#NT(fUvKLZJAU)FcaE^W6mw=5n2$K>*|6f&Ss=jmi@755hiUo?~3&)5I?Yp02s z^R@Mp0k@a-uGL}g%Si6-r1I1aFhqTww*++cirbx7L!(KIy~7*u2# z8viuNBsKa;qzimE&XsjwCMjJ|o*g;u@jZ8@^UB~~+K_XiYgxcsz@z0@p+J8m`jCH&UX0#-74Q}G_k=v@TIj$eV?-X<&% zVW{_Qz>ycw&Yyp13O_>X7>S3a*U8z`NX@P+{b3jQlb)>r`mT)f=kS}+tloiR)Y5U$ zLW!-PU+9aJ-RAtPDu6_kFE7kvl9Jnye_Oe}w=@jYnFTZ(6R#B$FF?7u82meTe0un* z`*AHpk*k}T^)G5l>t&?KvkB2IcDs@A9`El{6B%6 zjBJ}F=#jN4WqnCdMEKSDORKQJM2Ut>`wF~1F|e*f&jRK9X^;H~*zZ{wWuL2od?Wff z_KT89%GKo?OPeR4%Z1VFqj$1fEI{1(+{6{68YNR0Bl>#y zu(;D1Me{BZ^oWe}ZVR~{cuXB3#1NU@n=kgGPYo9VxG=V{=_MRvuD2bgDMlFq?zW!9 z=!?2qm^pz3Gsy4paReQGluTGURcjN29t$oq{F5p!E+>@O@ZRM=X8w3_8f+kkD^d<0 zv5mb>6offS4OJdi10iV}F3Grs1cM?v%3%W;X?Sq+#owr5rGSSBqDgPplc=JIEM22i z)me(FLRWU)F5IXEgvBcLHW;LV>PyGzpA+Js>Qd#Kv{-`B?tz&gy!+Re*%ho^mc}-Z z^?L|vE__^=DL?J6CRM$*yxUEeQ9^Ds!0OjusWzyT~g+vgonpYOtd$E zMZF4x3mgv;F{M=CJ9M@2*3E!ONKBlDfTb(lghW!79+a0O2ntEla8akyi>lf!7;PQK zg8Z!*5qU!3-5zzW;oPTZD#?WM^$`+xsMO*)6(ukE9Bvp5aUC=W2+m*#^DR?*s6Ptg z*CSuWaA)aC`35A3(UF(wT6NPCH}Nn9ss0$tql}DD^6?=ghCoo#56Nh5f(#XvqUh_y zAokL!LLk_I+;*lq4|#(QB;%T1o{A_XTlI#Bxk?(Y3dB2kgU>H|7fSF6n#uB z{xsKZ@U{slPZ9&6$D`g~3p-g8jR>M@CU%YBfeN1WUGBgRH}y9EsOS{=oq zMUaKz;nfvJ;52fxJ&HE~GO|v!9`;~}SqS37&Ui8pcfs2X6V06D0}>9j<3eqM!1e)f zO-L9`24!*W?!`U&>`+ol_Jxw&C#G`{Z3d7TK}xm7M?Ch4t*b(02Sap;&>x~lKYvQ@ zq@UI)CMlao<@qwWvNp@|DYhd%`U>Aq0h&&~AzX1A$RT`_+V8u&TARO`7`U2{y5FY? zbaVOUrUqDmJ^HU38m=1}2MAv{Rg0{yzuunT_nl3=WSvZ@h~K>LKd;U2d2GE>dHoO( znj|B&P!|CF+uO6E*Q)vfca=b|PYqoGt{MCSe8bl0Q&Zpb8Fs(3T+^i=lryk|+N&nq&KLz`&b#(_GAEzYVT=K z1AiZUo2;jMGH7XLxs1<9{wb%B$1eY+LntBKveR<2*IIdYecmR4de?3vFTna`_O>}w_*`%AH6cfdDA zCu1q?BTvAJP{X*@xigbjYnsUFn5F0$M^oCWfuU{=xp4+j2B9AZ*R`$dvrn9+o5mmxTZ|Ipn!Y>!C!{;~aObc$FQ5G?Du(vHQn@AnENFBdO zTN`^<3)zOAp)9j<&5&4=x1YyXKaV!qZlG?TJc#-?wxc5Usn*ZR**>%=qCmQMer#H> zq%A>J#busN>~!Sxb)2om_rK101IC>H4i*?8Lya7o2x+h=qa{VnRRtlv&a=c{BT0d! zp$)7k4nLD%xAVizw}B_E`&}G+S@;cVzmXdb>fsvV!^~vj73qS-ishh4Ht&dDlAO|v8 zj8RozY?L1lX6zph{v+0<*oH3r=tjwcw+N&f--i1ylaXXus~;Pk;FV@H)U>Z!QJ}U* zlVhmp(}5W*rTiErEuasDFoU~4&1jMYi&3Yr>M}!#(O~c@(xxbXN<$P?x#)pYomGS!5&J+`V$AOePM^2|5Ps& zQ?(q%l}`qYyUgs`B5~&RRf5cL82rFDzgd!FNa${NQuMtPwWpasP+|_#-S*VCPU=(b zk)&`I`}TtG1bah_xhg9vQie4-1m$aTn#oXB0LkU zRFW9wVOIHn+I$<;IQ*Jak@6Nlu5PJHe#&UM^nk4h7t8Vd?t(NvbC0#!l4*(eA&$@s zWA=RNZhMpm;SGwVHzXD-N+RNGP*PCzQ>SKx;cadjXu_hyVw-H4LFvi&#vsT-Hml1^ zGL?BFLL#!W6^13yr)_QO@lW;^@zS8Qq#pfX2Zpl>(l^6L!Zd5(eBWK1nh>aftshB- z>M=6XS5TUH+55?fmHw5{;hcY&CYXQ4$JW)WS<$Wzit#_$q(hwT770={8b`!e$a%o& z$eUh4QO(Y>rE-FNF&xx2WENu+AW(DAL2cExqKM$wIZ%b+Q+JpaAd}^|dKJ!(N zOnUy?d+O=D{@Xi%Y&}SY^$;7y+owZ$fta{z3@UAqZAju3aGz8Ub!}7Y(5?AXGYAMc zLlV74@KqWKCmz!=Xol}}&oG2u!(-=O>@mxqVHvd|#<8Huo`F5+C^2>Nv+AP)vKwuL0d@)|W}^apW@y3FZa%~kK2cQk2VhT8&vPxPwD?NV zF2n!#`()^54&W=2)Jk51pKsRlXJ#)-&$x|ZS;W$eZP(Z_c~>Rx()>J^koEED zy*#0>#ZrHcnYswAOh4LYF7?`>O&9G$b>!PBKj)MAzH`I^t~>BKM_7u{}Y zLid^#znxb>c-=L@xy|@Ddzk_0Om#dVPwA-ui@;k$s5MxlF0@VD=7rJizJTOSQzf8t zo+wbNGjcSLM1e*4Jwp3->|NRy=Di9D?@$9wJ?%!9e z!fdlBu6CPs_haDk3_qfiJAHd}etUX9o;7^yb2vLMd2SG0{j~)IblbLR19HF~*!S+3 ziT0hJ`u+Cm-3ijgjWNx?EeRFBKH7lshjLg-ohY+E9%8O!2wn7{4?kdJlS4;UT7Jmz zFHr#oeJB0>UvZaQ-$T=Qz-Kp|iB&D+mNc`f#EDX~kxQRP`;S+XHyi7oF207AD=Vj+ zz4d+MkNeorHGKH?DRj>~@^fL4^#GUSz<}dGzxoGHud}C9aPSscit^wu(`5|wZ?n%? z9}Dj*fnvhmLB6+%2zENie0{=0y;&oDRX`R3ay!_`+Bhx_ofke}@LhRLw#LWx-;-Hk z119=ISD?_N)$)T`Z#z4W=O2OgmV4i`x7n)VbU(X`<{w5*pibcpV+GiRUb^<76{dq1 zVu&b-(szqPW_)y73G43kAjW^<_#>NAl$cd}e+Mio5&K2Iz|fSMFlOSYlGh-$onVCx zbW=L^_Z_KY{YF<+mIz#)przW1oxLl5ik_jY>8sFTYP4^+tdWn3Tu|ouirZ{=dmdP49H@*h`LkijbF5{5!?E(1sNRuA4HAr}UFK_CfF?96| zoS+;zx+FvbW<-_zWCjbY=%67gOjcbP;-sJ*mnHUc-70k(z(t2CLqZJy&rsW$a11sP|}2pP8}4$hN6s&9P{$nu}=9x1&EFJM-48{mc3emmr~Y z+`T}A-&xVy_h{3H73)xii;{h#@51Cas85PU;NAn(2R~Hd_GQaN-aD#NvBPO(d%awv zN!3e4D*j{{TYU8`B(zETVgXLU(jNzNu6_>nrU}b-o5xb#9Z@Dpvx2@x30m7+msLm+ za`IgA^xCkq<@-x%iOVOdhz3M;a=qFv!?qwT7L%Ve23ZCsSZ;Sv&0l)GDt-wUl}y=Q z5;lRF#;NvB9#InE!L1gk35>-%kCI_=!HbB8CV+%A_3O0B)|c6~RL=r~4V9`yu6F^M zkcdo+EJ#M|I*C#qw8PY7<<{H#tj*j-X?15@S;HPd_KO)c6e@50Ij>tM1qVGt57(|9fC zNx4K*;JeFNle|z|_+azp4bHJEcm*7)83TevO;zKSf?+~8H=~Sm&&Z6ftuNr`CT*J+ zb!cHV)y5kijA(&Fqg*f7=c$m6{! zY)=Efo?X@bgsX+glAy_8W9^VVN9{0L2)gO@3k~wW6*0}BU-C$d{@gIkZ6G-d{7bDb{KSiFd;yH)(5FNJ zcjep!*}s`40%?PR75M7>(8Mz1O$f2=@5Z=iP@ciCo80EkoDxNC-s8PXMZ}K^|Gh7G zM{<`rrB!i=C3&Vn^OhM~XiC&cWi}~A@wPDo34-X|U*pl;@KJSYV^P8D?plk_c$Ai- zPV{zr^V;Ud+i9eWs~xDvUT*{EgAE-M)-NkluL8iCebLu=$#20;<5h*U>*e$Ql{rK|T8``ceE<9N_}0Se{@>Wl0}1oD?~bK| z2VvSNGB3=tDuPaVcavR&dYQ!f0V2W=6(4sR8_Tb|BkO)2gYEI*2Len^uf%QwV@@r2 z8=S!e@=?U1B*JUxd8EI351u6HafK6%NN7Sz;}s@F(EGas=}S|JH48K1LiZkB`Jbe4 zK>MO&lAp7{zc`95DzZbI+kPsgsYhGzI&W_TyqNtSJ7YcJ(koU3;UY;Hz@^C3Vvpb? zt5>xmWCucT8z22gz*7SKdh(2{AjxQ{Mw;1sg#rD+-*ETsYNPkXgolBcoGKK0<0Ni0vP67%jq&gkK+Ps-nB#wm;$|UR&a#YUZPiZTw%ZM+Ze~AoB{Y z(B=m2wd&Zs$sjoY!18OM+67mnZ&i^VqQP*oQlmvvnqDfh$17ORjA%l^MM|005|Cs{ zmduuUli)!{Zn+Tf=k!`k|6`6&WaK9F@XT5|s$F)liv42EZhOa{WJbQk3*l zkrAwA&dKP`U%pm-a@zRwvu$QJU5bmQYqk8~0(~1x1o1YQCtIR{IkLWrN z%sYxY(DF2Pnix8?EnA@Z-K}R4=cy_}RMZhi_!-tJw|P;h622UB$r-{GC{1vUWWq5R z(iI#_TI57o{FouJEioLZWjON0?JKZqYb0s;e)89q#J2hWyoA^2OTK!mj)eYD;Q|uL zDf?S((WLr{%lR~EVwp=eVI_1ak^ylBpih=g@UTcTe3AHPJ8-F z9!^b;j==_ofpC$a5+icAkpEv4H(I@6+z@>kH3Q-zg?VL+w5IA6px?yFM6t4BmPmv- zq>JMYIOC$0TjqN($K}S)H?a9~FLz62J?Tb<&6S(E+byl>c_#c=tFpSY)$P!0RvEY* zEl0!b85Pt2M^DdaMU~%}5$=Ae3W8i_>b<9r3e_v~cr4GknVZb5XQQjSMda}4mCR(< z$oq0wQyItOxgQtHb+A9-2RrS4eIT^z!(+WZVRTuW{wF(4`Me^bW#O~#1)jYpair($&%V{_NTWx$yeOQ>4nrbL3Ru`_^opaNz4sDSF_e z_lEQ5&T(|08Qs|U_NSw>y~0putVz8ydkTj=T9G|jIZWe9l^suUKtjo-&_Gs4VM&iq zr)Kvg%|9hhOz-vR{Wvm#C-Bw(p_Kf*>z)Pz`-2NZqRlBZB9J61G^<{+Nxec_KFzhx zfH5`Z$+cXS0Uw<9cM&DP%P%0%%MCbQerx$#uEhprsjg}2&3cmyjBR=}I-ji-!Zn47 zr>OhNy;*UQY0ZJ#1&X?VtJ{Uq^UJto?2?Tz>1b)llV)uOT3Y><8Lg&biil=sc9zz3C&J)V!dK&Ov2r!xA~L}iXq z>YV^XaKqH%e(ppEiI4C(@mbTIkGl|PLY5`07hB@{jPTe=sSx;rZUMhUdw=j?17+gR zp)p`5(*;~VXLtA4Odo@%BjF+zbD#Q3UkWq=sl0#2 z!v;xbBjk#YN*cP6q7_s3{lp8kOVZA+o#Q>8K;PWB^hf!)a zQRgkLo2*C_i=VJbYdoq*$Po2Nr^c&RMfJ!O%9*{V*~zzNEm#`S{sE2qkwQ^z6DqXAFJ_4xyMlkRL$zG%*zwc{B?)LO zYJxW`u{?=jL7#_8EO@!>6LK$RZVdIR<>WP7F0qK*(If_gP)rQ_9_Fu(7`desd+OOp zHUF8buSm!bnZwoRsB{k>;(Si9#BiM>`5C7?eO*BCuPDWnXcrX!k7|cVQt@+M3HCJ5 zqpOWWkyr3qe9nUlB8b99!c&u#cDZ5&xO?->JMjpuNe%@*Jz*tL@xMt4PcW@NrMMB7 zwAqZu3ZoGTDA8zoi)bY6Lxa==ISs_S%WX8daw>j7GD}BC6Y#;7=5OQRRHjDRlhoPa zn&|b1ar42J{Gv?d49kW}NnWPz$73j$>XXzBgDH(WR%8D?SLuk_ZahWIi3lGTVno`a zA?Ae;txdMjE4AXIn+|b-iOFBwpF3!~78T6rXsWWrt3>h5)?B!O!h4d6(dk~r9 zE3BDDK@8fK)FYp&Z%eY3k?10fd0+ZLc5RM+A0^hS5a`9Nq%@UXi}Qat|+B# z&-~)M~Ew;YGw2M#0ohMX}rA3;O>x$#Y%@kzHX)O(TU;sgyX$3 z`7X%|d;v8<oL1T29QWJOBoV)zy z6hIgI3I9Z;uidEu-|lX1%kb*DnuM`*3acP=I9!B?m*GGi5L!ewHdYO_h;tfxpo+o z;nWu!{LWAkw-w|6At$YV#d0nQ+y!*KOPZW{(a`MGI2`lpc$ZgNP0n71Pws(tkt!{L z&yW?p5Q-=^k4zNR>xMejCxHcMJd^~^&Kv~Qsj)#3$WQj5tjPoRVzW+l5I6KrP0?P~ ziEoE?c`EXNcu9sz+I6`+n<106?Ve(B2BU>}rUgA_I0Y{mpNb?)cYm+-%=A}o!U{a~ zJN4h%^4dsOuEN?(G&NvCRUtKoe!Jq`H;*lJa=W~X3a>k}4wyH0aC-hBT^0ho@|(4c zJ{`Q>%Zgi;9ShH59x&R_HzLT%JJL5My1Gy#KkMS<^9BN}?oSWbX4bRr!lP$|Q{)v( zw)8L)-uE6pZjImfy560JWi}LaQEHYrg#>vY{9U*1cEQn|Nn~~j3M*eVJO$<@)&|p4 zI-htxsmQDa7@dvDZ7f{hOcYxyaF`=I$>6Vl2cRB%kkE>ePg~3Vy@l7+wey>^ovGi^ z+19@JrZb28ALz9*0f8uE66wj;o|L!40X0T{G)K3f*@^r}UTnl*1rH^PN$I{eT^JaZ zCIh%`wp1h@dAcBWHAU*=U=t8gB*`}Q?T~(V|A=aLR|gvxH`G8MQl>J^V%Z*1Rj<}la0Su1Q6TD38Ds{Ekrg9#6%5-2Uw;!l2jXP zwwn!J`_Aq>*z)2dh&R58z?!K_&pb9L{9ao0)CYxxJ$hT8tajmd3BvOToP+ns9jlXj z#=?1O{%|v;E6aFwezzix%vE7QWWLzl&x zDI6y)(KfYC;ByR}P_y-?_4FM>Z0LL8mcg$W;!Ivt^?I_J&UNx=%hbi*w}Lgn7Yi;9 z@)2s{Y-3+Nac2w61T;y2rPpLuMXbZJdI_4#V@ps~KhT;#x-+0o_4Lw{qRTm;%Q~Qc zz0~H015t1N;;c`W(y03?k0&)yLLkZ9uD-b-4^W#DG@J^2qLI_rUwttpSO8eYoh!Z2 zB1QBE3YJ-D6e12XB;v@YZb)n}uLW)-vo+SEBn@D&UhBIHZL1v17{TA)1$EoTaND(Rn=jwHTTq86T>#h*B zg(qpd+rs*l5j7Q7i}LTlM-qC2QNd6B{X`sWLrUW=9Ok{f8TIUWOBq0!*HNBiBECsW zd!HQ1esINahZz%|acyxP88W`V(hm4@NA@nA=iH#uy2PY=u~q%_FH2~3P551zJg_vq zWvy@R+J(FQpT6*dGWw7R1utQefg*iKO2uX>KWjNZxeiH!{HsLon;7u>?i_^t9y9+^ z^e@anZS>t(My_JpJ%ynQsTe;DZ{wv8pfP;#NtGz9#6<-eq!wsJCIa+biJfp>}@RsIK*5 zXlREyu`B1jW|xa1?a%XedtiPGXbCsN_RflLT1;xyT3JiZ)w;vD*Gp!UIw1TCT!biM zjgXl6PK$A4tUYzM^r>Q`Hc7U0di>;ktJYMN-M>kiuQFeG-T!uP$6B1S6QWa_r!QHQ zWkhQskNEN#vXmb0%{d4?Y&Cm(rFB(X+3s0%WJ8I*9##A5Gif3p`7`FK47x>ob2@+X zZS`yH`c~Wir=6?4?cUbG($~ku%*D~$#nZ&j zyONPAi~1*geIdQRa&jR}=vVwXWRXEclHtcDbYp+IWb@$N|xh#c-#Z(>rdRd zo6T+0k59SnK{dVK*fON)+CWoMp2W)=YC=o)9N16983{oKayecOb~`;Sk3`=2gu zuRk3)g3B@4=L0NgDd|Ha-7dGUn|2g%lxz^&g9H0{P%h^0v=|$y0Ioxeq4PIWk(Y!| zU}UIBC)|LR=-$amF%FHei7`jralvk!HfO-LR)86lE>XJpv#P`i@v7$GKZTuDG&?Hn z=1BAIB<%6`d*HWc=e4p32vHR3Us>u~Hy)(?<~N@(LW?ya`hicS#AKp2qo8y2RmhK^ z!bUVCdzPS+DaW{Nx2ME>0lNCDb6U*S48NyUy9Oj(W@eJB3#coVjK@F*j1L*HC#SaI zKyY*6j*CDc>i39(S_G6r)b;l=)ET%T$~qX%+@L{oOdCyjtjPW(7aXdeVG`TXy6kD= zCV!Vm@Y092kiEqLAt!Mp(;W^jyd+T;N?3;xmjRbOUax$%LQ6heowDJJQYWZo=@)ja zHx`?5IR-ctt5}>l$$7x6d8X{vw@N!!y9kG{Nxl7x<&0b$WAIqz>0Ji@nO>yYIqT>e zo>t4)^Z}PZylYOXxi+F8o@HREPvhdu0b8r0I#}97?JAq!C0%RjVnK{Y;5W(}nM1nL zIVVCvl>p5ceNomg%`B*xupFY{B-Sw-IJPe=w1oW@MHyzv(^am`8lMk2W&NruFcZG6 zT9dmI0ma#<8zYHLQIojs4YKWxl5}QpfN}umPqvs^{UH*q)+7bM)|2L$;xv3_w?RiI zz@$LYu9ss(v%n2~+9u=?H&f*S-n&KRfo5gHN8i~t6@un)#t;+~mlahQ@#adY z*kQH6fx?H~p%7@LCqR$iEK;-Qjhk5?6zhg1XvB!cG?_Ml34uM?EWp5E+nF&VQ4c!b zq|no?jb#1@E&N+bKCIlvMkvc~di zb+i>|y?-$CpDq*n1y0f*tO^zB3pLhf&2dOnH`y_Q1-6L0I831cO_e~iUkO=+8hHDS zX-_1!6jmMe4eR{6ZjO^cdp<&^dxTkaAEWITeiG0-@onoq-^N<@4+s7FIlkkq>*DV( z`tg&I9gy#iB3`BG4Qmri*L5xJU;F}A`zW`Lu#fhBvGW!qDVKxj(yYzv`%EcsM};Sq z$*uc_!hTacdr!2xuXL;q3XnLHIL;0ky8i8q!Upm8|1`o&j0?`JJq|wIdJ{v4nxf4Q zoq7rFZBmv_iD>cV6$qFU;fE?)Sg6Y>j{uAH4Yf%l{D~_HVe7Rg2R&l9( z91cB$2CmN92CKOEsZ1;anM}%q6|s;utw|Uh>4M|M%J<0$Er&ZS?y*1MaO}(@CceI$ zXMsLmdQ#>`4z~;_{}?KfYO@cGT%PY;E$>}^PCM%6LO+nHG>Y@To=G2(T?W8g1&D-nK%Uhd^ zN0Wo$t^og9Hy{X!S0n~z3TsA`gB1k0Ek%i}E(A$1pNhr(KMU~M#DfAijODes_diU1 zbxd8)`!wzj#l1KbFAl}s-Q8U-4h4$4ySo)D?oiyVxVyXi?|hQ?o4m=B&7O15_^CYk7(9FEK*;*2No^X4O!>6X>Lu3)gBXb0kaBXeUfw^>C(av- z@Aq5h2RP{?nNo2|EHkwbibev1ps6CEuNKj#>0WjuWC({Vem`dC?h zF=BL>`15o;GGM(?qur*4BQ?j4LEZrcBHl-8 z$f5ErDLM~~b}pz;?%8-m%Tz|69Jm|~l*Mcd^4`JNU1q}_TlS<_3H;juE2xyOmO{`j zt6)3Mbjc{ew{;%0=@ACHx`byIh4}!Xf{A=-R~;RTlmW7?m)~vDS!1jmvvct#v~N}^ zR3ngm5xlz55&nO~3yeZh%&ym2!`_OG&4JjR1f(T zE*ExS|2DHIUHYVv)3a_s9Fy{J5>K>z)xY6l=T=p!ROw&{fz%1?8&6=vln#B&45MD^ z(rJ~*tzN!Tm5ze7T#yQVxCo*=i76HSjwg7cqFD>1p15MHsC|c!C~m6=U*(m)THuzE zgi`p|PRX77&R2g-vAJ`|%rP@rKeKJM_|)mtTX!17+qjM*mnwJ6GL{WfC-;@PlFOWO zsNi75)hAWypH-qeZ<2mufB8WhJHWOd&fIo-OmvK?i%F&b3EoB6dD;xBEK#y%5E31`kmB!W*6s?;+M=~WKfIP%xR>oHvC^>ynTo2OkS-4KuCf4gK zwDMs89$H|CQOuqd7KM!#KOLti%!(fcgmh!Z3$toV_l@8|eaZa2t^A!YBSJ1^=2{pd zBJkX>U=?>5o2nu?@O%q19#HH{iXuAF(5B}VDfN3WAZ|ysjlH!M}k7`hWZ_?{G*X%|U#S*#@~!C!Vr zBEzc?=yatd%8n$zK$Zi>8w?FO(K9SF+W5*cVkgHmh_HtkDm-R)_S}UEBly#`p`bG* zNQ?1dB2E|TstzmO&sLeMzu!ELce))NOTIm1n;cv^@5H!_KhgTEg;-7*Q5?Y*P>%ab=`G|Udn zt3AjmLlEiVe4*pF8mh~{gr<{7GdD-u5^tx^XB@8fdZx00Y&mMk0ML;qhU5z%fc3u{ zaGdzNgX7cT3ywo>TxF!*n!w0r)+-*2|Kmn|U$8GUaFX`ZceL$!w)3_6(b0=se`Gp33rIky&lW!viMjqk#Nv&9u2}imW#6uh&3Yjk2pggRv7GVJCq>}iA zA0{OE=E6=WFZyf5k{Rf>e_5njgi?pLf2>D$o;PMsB(GPgeO?TXY+vjz8zqLj90MzI z0JA?z5Y$h*^z&^d*T1)<=yp_KpUm&5Re9(!=`GT8-k+SS-9NNByQp;rtWb>JTjy&} zrXno+a3qgWAhd$YV zag#1dhM3+PY|EaCP>dO1ddG(?5FH|KOjf2vo(Q+c7OyOzKRO_@>`|50RlQd|n(jsG zt1>2}M%OexCgNSd+`2nS-0@#d>F2=5CsI zJK}iwWNG0S+d5ZucC3v0m`RnhWFYIk*-fydna;K5>+8nl-g0a1`qRgF>7q%JPhBi` zi0hvj!MT$h@_mN~>z&)lNM?C_ynW~@!=;nWAk6RGz=b;S(|VSv)6(^t5}&Cd-rShB z(p(ShP5x_#u6u{Bb$!peMx=?!(aQIGcWT}^26V0sBtpBa%bJ`shTQWi7!=Mzi`Nk_ zEL3X7*n&gY?RrSX_LOk_lCL-;(^>!xk6>V0m_Hc14hMuRBeiKSrfGi9gn7L%fV_5P z@zV&fUZgt)Q4x-anFM=~cs9BX;Twjj42E@0pudTZceuU-9Az z6rVt_Xo*TWAEOSy`x|(ZcKWLuTP@5xp2EXtAGiZ*62mO)vK*`jlQ`C9FlNKf)qwP3m;!Xq{t2Y zw0?Gk92*?Bdir!VT4ulQ_s|N%gd+BixS)fbEo3kI;;-62-O|c9P_SXdx+xlhA`;oc zoMF)4nh6=A0&I)_63=YKY8|pSXh53p%lV6?8bXaJxjc>s{_{c#X$U?K} z2i*@`6~ZXmx5C+VvTbt`i_XwiwjO>$bRs0g2iVs3_pEdM2RA00(%5~HooqgIJ=xJ; zb7*LR9#0;kK3ohuxY)!GPmZ}|`SCnKM$GcVTLPM)jPfgS9EZZl z?u`+hdqG{qooy{P&jr!+?@F6GN4M&O9m&@l!nwc|-f)d;Q7X@D=AhaMH18=rsW}7h z5q;cu@QFW(O?!FYcq}6s2Ma&LmC!3rSKN|s?)AhsdFkrP>BePz#O=9Nc{oy^#BL(Wx##$ ziz4T>39+sf2X^2iII^Ffnv)*=`oGa;*CR8|`y1Cr)f%jdV%zd<2h)TZaTFqY(}V#+ zQ!neZp zSd(*Jm31NP($$SEuq>xb3@|JNGOj-X=4k@Mj|5G`ud2#?4q!Y0=q|=I;8_G*ovo=7 zqebiEEgA90#L2gY+{qp5+PiLUj{6O3YR1lSPfm02364+C8&;yQBWKL(EnPPWcMKl? z6VR~ux3sEiOj`67^OTttXn*Xk%YDy`(aQ?h9S36W48t4Y`}16op?bDnD-r_aC4N1? zJN7a6nZ6*42;=?$wh(!vNG_f$U z!>H$IkQg&-k}4UfD(5boSM)d{ACm^Ti=7L5n-BrPlf!Zv@bj2^qhAEezZld?p77!ck;fSEJG{l^wF((LO zKn|rV#C(FnB7ii>H_{~(79FHb!|L=mi@%XGW>jq-ERnSG5C9(;1TibwfrVLJVLNs} zA`#8p?B2#6hhby4Wk&`ghS8A0BPSRV6ZZm-#Z@7h(i6<}ekBbCvNQt?0Z$BE3<^VL zZ5za@#^8+w1phSXz`50xW4rUH2NZ0ijp6WkANGt`@#|?gVuVRCS4X9DK2SSctfFEa z56TEb!7_zxW{?&73^HFrL_mB3IP6zbEK4l*q=U}&t-i@ytNr~f z(CFhh?aBEB5zRoBMm|?EHbiWwa3_)FcqDD_DcsU8u6@35?fmd5^a<#}zf7fyfX3`s zyy@X>|9xAcjYP3d4B>3!+SZN$wazUJ=IB6z>U0uXCZa>Y~p5yr3=Ra zxoF>-87EY~49ZJFc9Ur-BX^!wg9^57k|%*#uaJ&oJ_m>>clp!>rG!YHT7BTr>uTjAg5>zI*M%V~SV%cVC zCcbM|&PBR6f5X+q$mnZ%VAZnA=jg>r`|@F-$-8~7-eIG4+t~_Zd&y8S-Z`7X4<~*i zS9uf>jSK@h*Uq#fAAybM7pu#+%=qm2REv+`!fY+cEKT3e_7`&tXfN+S?YMj!EnK=k z)^&K+^#s=SxR^jM$N1T2wPO$RRU5D>C#p2-WuThlVwkubfK)FG)rHBl^2c< z58)erSmiQ12(eTbaG41Q+oKMsoIGZx;0x&E4k!$4O`U2dbVCol{Q=wmW7+oAwR775 zJ-l1y^ZB z9N!eak&m@-r3!Jan1N2AFz^$?e~OCmZK3o0(@jwMhU;iq>P1u|-lmV_Ipn**SSZU> z1V17PQxP0^8aG`lJ#3vYiT>dQ^NR|TK@Gn`5>%9&>9hxWtd~8$#@g;EeMjnu zf=b<5Eq-$Q4sB(;&0w1q9NhS)jss<3a)8HEvj%SQD|Ix!=2Z5MyTJUbzyxpZTWdCN z(O>sSLrk6>12Cs<4@?N-k;z(9cg;VXy@e}OFkD~u>TWC)|rK}J1rqsPV!x(ql$RYjmf1n zwsAp9&k-#}cMs4Q_JSv)O=Z9vSoHPefw3bw*)gH=Y^|jYPG(&>iaNiE9*|&wlWv@u zL%Q!o3W2LNIb}lbY=39+o*2`*7yKhSN1XFL(L%P!U3`|e4~Htma!E44e@W2SCa;S{ z*@7X;6V_s6Lg(QsWj%|M+GR#wr&byJ_a5|WYI<|RhK|&wUDBicpfR<3u|~%%lL4_R z6N(j%I8vp8o_Dd(gowqt{JSrioIdMFg{j(*zBN!)cZx>J#P?U6MRE zqdsuFw-W%(ajArNz-^)B5nnbOa5Bf444IDV=d6^EpNie=l>sD6-r;Ay0z3ZNNwQC4 z(l<_f3)2LHE`P@@c0#V`U?#y=9XeuZ>c11g`3@?ooGV!vohesQq4KnS6KO9?#_%`0fNI!PaI0IUeevup1?xGY) z7&1eUc2x;3LRz=llI2K-{v8plO$e~vJ$gO{WP98Cx$}9Ac&^!uuZjkbPs4_(i&o6m zgz`292C=KVCl~jWD&hZ=5`Oymb8grh$Dl80gpD{WYVS=C_W;iYefWLX+TomAteP34;uQ({sWsGJ#8DMgy4xKe2 zz!k{RNA_8Zwae!#?g8MXikA^(ty3h&2n+H7Pn^t)8@9z(K@vD{*=Mbr$-8!K4Gn#< zRWFnrMn_m;Emy2mN}J%x6mtko)3j0?`wi2$YVD{6aw{CINX-1M9I0+TBi+cF6C|^* z$bv+kCDAwftePEVG83_eEtaac>tflVUOYz8cp8NLeX3{=7mJ}YD?fP_q+B7_caPgo zg{LyvFKuZ_OH{cNheRGCHdsghtl!x%RB%#n)ixpBo=|g;@GJ^N^qdwRg2IY8Lc;?6 zwZJgQls(qpP$b5|rtjL$q<}~B2!)uK%mVEmq9jBnarO$p-N--}rz@%z2;X1f)+Q!A zPf)|~09`R*k#U4nn-&=e$$GGj4iFT<7lx#(>9ua=61S9p)?&KYnC3ydftphMY=i0&RZv~>_0&(S+~(Gh3pdV0;UerHHcJ4tGD zD2?<;Ny33w%SnrurE`6Oq%SQfGEGVfQl4hU$KDt&OnU|qMHc1dQ9Pl*H|YrlomyIA zV%nH(|F+Faj&7_~#HRW?DAe+FM2zR8I+YRPY`jcRb62dwY*Z9oc0Ff)l9k#F=ij2x z!9uf4m|%-6(-bnG6If71w!IK%XdwwWR%{X-T*ltS4h~o(&h9#0_tN&aB%SNo*RNxuz%8wekF<`Iiz1NNQ5+>7}LKO z!75!ML{Rq%x1<>z4}5&V)Nbs;4wO8 zf02+_XIR+9nYfWDb&Eaw7OTnU@O4USm`#1u8^>jaTJtD={BhL6`wQFq$$-=9WP3o* zWTviTWd>jMA!EeI9O#ZF7fJPIq|*7LNxiEY+lEr|3ypcgm*G?zK>sHoEU4SwUAV~iAnw~puSLYiyaTyG;v0mQR|y|P2Q?&@v7JJN88PI$-{Ni$8q(?b<@Lk z32(c&oKlf2po$)#lcrx2U8nBdJQ0F;$5dy<^4a zL4=hTPL;?X+qFDmK<|_tgc#8Tqr>=cVwJL_WK50WAPjdT_rinEftf^wIQ-~&{<&q# zeu@no1va`Lbdd5KXLt$ttab`|*kAherJUGTAf7jy)n97MWMl3I>aqG|){TY!Y zcgBOy3Sx|5RCo{d&Lp6}y=AM>ms1eHJ3D=7^Wx#xvriSz&%=tRH?tTuZnuF zS&|Ft`nmGs`_B0#I~S61XO@|&(>nIDWX=A*>EhVPq=iZKU`uJPpu?u@<9Ih-x*uB` zJ6lup$H9){v&SQU-ge*wHy{rO&KE6zNI!uNZya|`Eskv+?*DfGY-@K06eL`05b#c0 zj=YWyi1%om)pPFA;!Ha zCkAObnkPN36z%%nI(VYUef67q{f6bN+apL`KIXNpoyT|M{}YlBqQ0x9w^Su%2xf%` z^;{-t1h0i^@87z<=oKKv+HUvYRL`0V_)UR3_miGYO0Bz%;iU-M)IZjR9;(-gh*!#DEWu}TjmVjUt<%Pr} zXz2P=mM0XKc9= zHWq~JtW4b4Sxul4zynzfiI6mTI}4LHX8!s&*DBfh5X#C5kCfp;6VaC%6=5aCf$i?D z6k{c2h$*r<0tV}%f^bfb@bKkDCijGY!X*~#Mx^P)rTrsW&RGd%<;3xiH3>2echLZ} z4~EYMaj@|)$fiYxo}^%eG~UtDKL)EjjZ%7TZ}B(R>GLkv>u>m^8kXy{tT1ihCfK9M zaE4M6hybi~?+cipuYdFR{!JqEry)^^#Duxhn_H`ak)%6E-6N9y=g?NzuN{Tdzvkd+ z;8A4hA%8$zFQ?t@g& f_TUTGLy38!`}PWs`TN)goHbeD5^d3usOoQ{Xk&^$$kFe z`Ej_+P9{sIda}#}0tX?n*SkKR&Q*zZC&hsXO@lt+=>&cDlMw_J*!qss1b_NdnOmg# zE|CCqw_A|R{XSzc5rv1io1K2WFrL-ubddc<*=)G{RnyHSUyYC6Y*I9f4V{e29*o6Q zZi%+ue3sy=)1bWf<^H5AyhU5TLmNd+`~Iy0!>Yq8Q?r2uq)zgl6u-OHh%UA=&c1Df z{^*)&Bygh9t_q|_`%k9TnoNah-@anN8!pU-q`LA^<~!TAK;7XE*!kme8 z+_oDM3Tb8&8wlgy|Jx}wfpJg{1iuJw-EAuT|c(ZdbV7RwN9OOu{?>KI5w!yy`h2s zY5kJK_fc=PFf{h(=jtV(;%@Z$)Dd0%sybw1`q~$h0<`RJ7Mf!Yj#sd<7`o$>($9ch zRsq&rgL8=(wWF4)edV|n_UfHaWz1onG^}rkg-K32j&Dr~PpSCX)X;iOu5fC4Zmjo# zJ~H6h_-!IeXtaN{(&h8!dh+e!gaCl?>&cy&hrinkZv(wvceYF(4bYZcjxC;D-EM8| z7(5$NFfk^Fu)T#uVExyhTxgt1xIS<{KlE{K7YBU!QM1d(#0#z?$86aX!h_V!H(gg4 zSOrprsF;VL7!#?sm?@`GQS#+$PEId>e)zPF9X4|R-n3r)**OHLyFgM z7Tcb5sXx!X+kHz7H^@0OM!&+rCPni@?%&cL`fn9wM9K_4v(u$555eHI^1K8er1y0@bg7wGhblK!x zJ$|b~C2r=owDViq$TQL$`icv@4=hCrjBptsB>LlMJ@DaWddc9yV#=X-691N9YEmE} zhf)|BdYJOU%mk2al`-%r3@48E(*?`U;Wp}4BuFJI*Xh!r-E#S0Cr%WxJ?nO9(uBx+ zY}MLQsZb?fwb8aj_ghfXSrUEf)hv;h?!<`}oQzhK7lnR`^_* zcu-gv^tBZPRlrowh+s+|P31LjTP8gW?`pnp~HtkT}9ye0lRE6V- zVWO&G3Oo_rv`rH1S(|io`KTQN&z%`|<7Nf?lB-Z?*ILQIK?aM_?HF7p)T|RJ5iA=# zD3ldHPA?8UAjQVc;RlFsH#~lbHZc zz$L%>RGrhL8AV3S$~-{dbF0yrLF6UGhIsw9foUdC+}QA&5pc3-8uX?#+*o*lMTUuu zK5ck=JZL>s=otfqf&TfsiqU*+V*Q|qW&O0n#2cCYH&*Uu*-6^OI%%_UXXtw2iE6eR zoioE`2@cH)VtC6zdiKQRigLPn+eWWC`S#f&1BdVS4S0*IT@csOh0euFT{8u1R*Qt7 zQw7-Z!@z||p)srO<1z{NrE+dd4I;O)*!BjC&cR3lHkkg@XAxH%{*rq8KBv-$G8LD# zVCx#Su4U3?dr`LxQ=9Ks#%P-5zc@}zEx$N%^N5BbJB}wAX7_K-UTKhiv?>a>sejcf z|CK`Dn@sma6pRx{$}wAqhQSI_v+0O-o}De2L9s3T2@098=c)My!vl~J0*J+ zNb{;!kyO@?yCnlmET$ic&#Om{tkOv5}=WY@B5u=+u;2`Wi<4ETgc+7||zotL%H+AMT za(JG*1owo*pxBtR)%1+kJ5<>2qx&N{#DHYe>Pd%m@DB4t`4c5<2K71VdHeh0Lzd^y z7H`;{S6K!Z_sp;m`)YYc`Nzo^clp?+sTlW31ve)7N8v+Q4V+L-la-12k%@UJ3ZI9` z{_9~g3LiIDCl9X%-`aMs+IpYb`iAcB-R<1XodWfZ9GyS`6X3GD)3K#JsdTS#P9!Pw z_Nc?jt;N^Hld!v$>&J$kPEIB+(b2K3l})vceOYxi1O095np?eAjnW7OGpRp#yeI=U zVh|s8rZmMaBEpCVU$iLQ%hPqU-)l2;_d9ZHng1^)id_NBNC8E-+#=)Z)!z@?cLN;J zazIpfKUL#WMQFBp`A{{DQ{@}6T&sqPmbGQMn3c!xZa1Gi`#iSk`7?rx@+>^N971bc zk}{o)ixq8R{fvtoe0%*|0>0&(A1fK_I+=WHS^OLNd>i^)!t_)N_6qJbvCWf@>P!!d zjHnC12+aGad9SCP_TIKmEO|je=3$>|q#snQ0We{83;!M|u3tg7Q_}qF#mbz`%@&7s zXe+ENOUw4kw4%0DiNdDJQheCiLj||XNGv@X6-AWAIVB}9sjEhRa24cZ{laD6f~x_U zNDWdLN&Rv2(3%Q|Yp!%hv#co7)LeY#qV3BVe+K8v>!Ab#>orRM68C~T>ELYNQgbaa zkVUY2nM;DXm|s{GeRa&D9vRjt^>oJt0@XG*DHG7()M{c8=KT5^=X9hCy>9^MRlGHK zeuRa5Rtdhf0~w;ElcAJ1g0fEt{S0)OV}fHLM(E@RB56_#hLNQCqA;`+5TmZviR-@@VbhU0l7%bhaKBNt&)ah1jl(hQyFk+guUNU$nj)Y? zR>h4FakR@uFypbqiBj`LtfMH@iIfX++48_$xze>N75<|&tBo5nQ=|af%uC5^kS-KA zTA(8ockMB$K}>mytTIO~@b@rgOrGkwJrYC9tw@GnH#aj2Z!8~ORo7Th-7jZg@&1ia zk3T);$-_NVgt5e)r$);$CYs_yQmYf0l$HeEUOj48al4E^mQ^LBAfYCu6WpBt554xZ z7MVL&XKP9(jQ|F(`nEJ__#&Xp$QgQ{T(UM=1~AN~ZBFW9$#fZ3O(5S7u7fgmStalqCO z0#n%YWrVsCrHv*lW-A7j{2EZd_29`DWWqQK;zQ1@+MC_CjmVNyccj4w?;}0Xq=0Bg zs+AHmPpiSHpZ94?5(*j?V=k7IrnYPWvGuS;dWxg3_E?;>g1+V&VY5~Vmx%O(L~L`D zPBpFq>5LR9;mSO~DS7iu)yuTLd+FD!t(~VJCzn&xfmGBoj_KxgCoaLS#WRgM#ZqC7 z2c!#a3&ntJ6aJI$IjCApp?0Z#3%5eIQn}kLI;o+0=T@;F9ha5-QQ+5RHDA6NoU-MD zj!{51bF~>W@ttC~k`}51h0%;c^CDd#w6#?DDOHR-E7Z* za^@iWd;CEj<$Klm9g+Pcq1^;AFgi@-o-r7=@#%JRufylshN5r+xXTiZ!f8MCu#*oE z+D1>Nk1wW7K5qVIVVCwyiJUk~`g-I(@g&wCUS%lWS<(5eq73|Rc8j8n!~;1)cUkiM zrL*a)N9W6)Pj`EcE}eDcV72K*zZAqs{32i90)psCv3~x=@u5g`BxDpRPT|dV6Qv74 zx3qA7#UcGb)awSjHc&C$nF4b<;Q)UAsE^CJImESI-x)-rW*ymY&hy*$?iU}zAMIjZ zMbAP**M4;HnH4mrhQ7u}vYnN(;KU9Jjo7Tu*(X^KPuz{ z?&_aTRsAH8*Sz4LL*UmWH%?^42AX$j&|*)*gk5M7G=DLjM9E_$|DsEIV5AG?qgi4B z;T1(HQXro6k-S<>P)rCO85bI4qVkDH+ZIs~7`*>J)Z3 zG&4<-Ah{@`Qu)3YbU}g?mRIzQk<;=xO5s9LLb)kMx{?Kmca17riAqS-Iat0b-k&tL zFGYruBXY!=^{A09S(h%+9}Y^AOppv*O<9wC2a#J=au`^1Ys1)l2@^-LG0l_uT2C;~ z(J5R5CPW-9^wv+|yE79R!~nsNS8iCXg$#t({A?!cHY~l@{K7$Gs*2FS+5}@{MM+ps zIDEu?EbdX{ns4!z_tRTbNE+9p*T9XdU#ZZVbLi7Qyf{QYVO zM?eqF2G5*GYJ_Q~`{$Q}8iFMqne`VNFl>Y&a_kJpt%8{__fX9d3&VSKYciQ{q7FSl z{NtXIEu?Aw`B?v= zDrPNKEeR6F!A9pMK@8%8uqG>vH*QOsRIKH;Cf4XXEcdjf3?(y*Gr}h>z!v&PPMcV^ zr|e3e0>6`P*oD4x4AvAeC5USp7X>L5j8-h!TW|zz8yIJU^#|D}C18vlUelaxb-4IA z9SSql5>q*n%)C5Fr+RBYAWfy(Fl7vHUs^mlWX=++X|-1XmGvamM3B#*QfpL#ien`z z^IV+$`^;}GJN0UgF-~o@_UyJofw||}bLW0H7F+&4{}u`Nf5rS43)y!kQ!k34PX&uU z8#Y}>jrw;h)i387kWKZ(eM+S-MKZoCh5WV}_MB4gN~9@O^M513XPhZpfSwuY*PH;l zTebb{*R+Rl?9uIe{C)M#m&_5fyQMYtK#WZ2<=?4Q>LQUshAcE6w}M$X2bhK0SB0?0 zC3S%y`7)lztO=!!>AmY(MB7mRQqicoc66OtTxH>$VjP0KYE6$+`-oiiB1n z?u}BoyFi;t379LM)(!S4*KbyINONGG_`Zt6E8{juz_b{OSt^4X|9;qBzj$^Zt5DbN zC-;8$>wzp!@a@i9@GVOQz-h&u@%Fz4g;>XXCNT59bU9L@%o}oR`s-qS%cgf^*~6Q$ zT~}o9z?*4Ul)(oN(O}R)STlp1sC!~P|A85%|MG)fd{EOAVy@XU+~Mrx)m_kUoJtXH za^R9pNwyV4k&PtbFbNafdBQpy#A1@aRvx6sRvu{h|qMJ*KuS8Ca55y;qB_}Qd`wp zP~TY5-EL%C=4<}P!O6|k$sS~75AwD0^7g$pw6Jrq@icDeZmL)_Ul^hAhr*IJ5=4lk zFwWN;-aoWTi(;a{!bU@gq=CXnls1VgXU7PZ%4aJ_5(dBMtMPli=G@#Bz>bS_lx5W# zHmXFE>Nz~Nx3m2X|CB{luU?S|iBhjai6@9!gDC7VQ5`sLSoc|D|4C9MZ|}i;jH1pWZfqGNtx%@=rlKH0j@-^97Y$oB&3}tY6^Q*Y%BW z2}d%=Kon75P)#(Wvdj8r(I3Ncu~mG=%yN{a&T`Eel(VMTOZ3^6b=iM zL-hMW3%>b%-2M=&uCW(RT>{+#nEdqCKHR@P;reqP#x=~(r(-C~kbyF4xlfab0A}>k z)%Nm-tL98Ufc5+oyYZ3rPxEF}UYTvkLp9TzlUWz`xwa1W4C87kDOb2i2q+2zz%Spg zne)v;eD?!__$t?zQ<#icL-P*yFU~d`7X-Kj#a5UoU$|&qTsS*IxIEcRxhYKa-~O(f zC1J%NFo?7%@D>L2RA@NQT1}cSj$|k*{fC17VCc?50y1!sXp{vo(9D^G`_s?DC@V8C zkrZCZy;e?Icj{Hb7K#MFVIuo%-LL-44mhB@z1sQ_H^~TLx($KmQG~(l;Sz$T1 zFBd5d3zDItBLdKl5{X`?h=8!qoR=VMjmHoel;;nPu#Dkf=?^WPHf4bpmirkK@|iQ$ zV}wx$&zxHjv?NYxxG1AbRsP?0sZpYKS#sSM;|yKVdYS<z^Gla#1 z#5MD9ZkgYFOZBtUfUl?Bk)lSb8N!=<>tPY}Nffn=hrp&aOn|#5eQ`b`B*spkh9Kmp zV3q>Q#Bw9WNR%uxE(|x~4y4SV79_``nn6QQkv5VVMiL^6zt0y`6pd3n#-Jl2SD{qR zz><-xO?SrD8_nxc{gtLmL;e#R{YUr+G&6FjQJs2F6VYkEZetv!$($h_x|y+be3aC} zm8KW?5X~O$v+dVdGi+xD@|YYsB_)J^|E74vBbNKl zUd0Jol}4PI9`D3(6KIQN<~FK`_Zi7l>t2;c_52PP%_j@m^EOqZ(H!^kr5CkRARb$O zk|v-nmxq-d@`V8~zl#54hUoD`!5i6vf3V(u*Q)vW_mK034dOj-H4G8X`@tOXxmL|Z zhl1a~@(rLbXCG_IETW&c9D_>9(4@gp@Px)3=m=cj#Inf(}0^(*{8`Ovy;1W@}`^bHF%xh^nbxRv(naC=ysogf+evt#kZ4kxO$>C__$3ey6L4r`^s$634h` zy^tYS`E4OteaO1h-KF*hluz%*oY=YI6GPHn#Ar~zotuOCc`x%ovf=z}zP71Ei!Ihu z_DGi9Q+v;^6Lk#W`1-(~5lbrcUR|TJrskou*D)9OI$83Bh;@pui@2QKa{z6msr-CT z7Wh29WaH=2HDuiH7pM1;lG*(p#0}EsPLNtRz4)6pJ8~*|xAStd<>=t*YUS)z;Ah)n zV_IthjLyH^jT_^7PAs=lhEy!vU!>3)>$}@c|Fv@j2-u`TM~mKz-yi z-OL(SNz?7Ic-pr4_hC7v`EUgG<*}Ai(4k8(yhJfQWyMP64KfGH7A9IEVPwk}#5+-( z1+nLYO;OAVc1@QpB(<$K_6mvso&KWL0xdghoj9Gd&ir?93%MTsea=O-m5fu}D&&ip zgPnkjo4VeU_^ybL$v+qB4hoqLUPVSWo`&vrrtWrohAumfHr6(t9%fDME>2H|CNCb| z7a;d-5YBywf_v)ZqXr|&!i~tpYO_VVhJ?XGH`qFPMgYW;g=J)~_3BT=Wc zM2&Jh8g^DoJMz2kAMBAq``cKDOH51I9e|vYZ#KED>t2nQE8h6i8Y;@_{IjmRi(_HY zWUd^Zr2F&9-B0IfyS+f6Oe%`yx)inh`TVi_#w3iWd})&aHLZhqIB7!uj-p#eV0&ghrnTArw716?Xwsh zH-#B`UPC_`yf1UJOmYh`S4m$ z{vtuoSgmR0LLOeNJw+Hsvw+|mPX~HdjdadLnLUZyhJOL0a5O4xPZwXZ4>E~7Og^se z)(8egZouM1C`acj^3n{mQ@GSI%W$opSt-6-1!*Zp1HC9m`gGJ)6!Q>RT{QDh)Ri4; zya<^a4QVD8b1wws@LawUYz)d4u3(N9IlGLgdH6Kg4ZAS5mq(0Hl1rI3y3XS*Kb59o zG6YBZ5*=nHrEq6jQmPqg~nN_BLzQ{HO31ebPqQ(DG#8sw4 z%x8uQhFS=n5++m{G#p8{e~QvJ&eV=jO-eU;oUIYL%hMB|9HN79?AH)Inr@!<svz=&xRHDNRyM~-Tp z7Hb2x+?N;$ox;Skci>T3)yN6lL^|DO{0RuhAg^^5xpCsAlE`q;V%t4T7%y4~_Md2D z4M*v-=mW9ozt}{FOmMt=vBA(u?1kk~)wCR$9DPrFdP?YiuAf5g2G zkr4m%5|JTL-0>0D__mRwxaKoV!8&63!1xd+#kX0if7`n=bha)+^&BU)R#=H$w?v(zpsgoX9v`uU?YH8l4pM<9#( zN5UeiC&Ss=U&AFu+?e!HbTbt@L z+sb30EX#%GwbwV4=QnhhftpdCpVwcVQ`%gepI%kloL8Tl#r<7FTZPo(YhO55aL3i~ zvu5P-duj_ZW96(b)=T~Wv;YMXQTW4U0a@n7n|NQ-z8X;Z1$O;UCk3US$Vy;;w@!_+oRP)b~a@-cd1Wn9HnX&oOIb#X03~BifX!g_J}FC8P%H+GC%`*pCSY`XV@uJ&v5cB)`k3U5F_*|@L!WqU6PI@_gKI5=Z!KfZAa_ZR09YmP ztmN>o>v63DigPj7u5M?~FldSehbgz6{J_)Q^V`n*)7|y{d8wNd3MW@W)O;D&_(&1p z%|g&U*XOZs6bN`vEK$3_f2R zK5zY=6><@OOfXG$*7uVL4}IR3-i_Te>Ho(Ffunui{&>G!#5v5bpL;r&dtkiIlKD}T zxNLehHuwJH<0_*wQZJimsD^2#NQvq`Nv<<5RQYmN34|^{jFSIDBmBsh?)t$W;#%c} z(JAtV5x?yJc>2nqxVmUrAOv>}E&+lL!C`QB2=4Cg?hqK)xtWyEah#nVLF%daYjF;af#}2`|2=kL!N_&RHI^r4M#z_s`w-Pj;VCV$ck7i1Xis zOC>>Br~FKlG%*q*JIWDMHy>=|?`-cEz5S%`Y(lTYml^QJ8`DD3{rO=m&;~zGEPT@C zrarM`gaZef_%M?9zX%2Z)xfhc$+p%`7e*{n#CskO0+ zmJ;*c+JU@TZ4`;t&7CG~JDS3AYe0(*ighSf5G3ElMpWJ{Z^3>}S{OP`T4I1NNxdc| z#5uk)1)8Q=4DohAmvx|YY=Dt^VwRjw&KgmY$*7Xr7WL2U7&nkdGAggq4Z5_au%oHH zt8JsAQ3{#>L|?Kiwl9Jce!FTA9&2wQl}^Rf=U$el+*t9)sxNlc2x+Yems5VG;wB46 zfMi!a2(5htfW2lWQVMfrNhOd|rOD(pGKd#3gK%>PC5c`aLq1K3sg0R{E1bK4kgiOF zSg^Zq8>uj`grsFHAj)7$Frb@-<5)>GXgyH;vpQVrn=wN>J6+Px?=$WQ*drbc7{~~D zIz&&IMu?&GG#HTKYyO;>Yf17D#ty<+T&}ohLH4M+lczPnV033pi;*CSLewfff4@#u z*A+&4&}?KC2a&`r>ZuLAtKhO&E)j8ey(kbDlYpW}eMC85Wm*+A&IrS4!uXf?L@ShT zW4s++U6qJB%K&o%k{;Cj0L}4nsJBGEo)93(+1hoN26@gpsYRQb39oFG(Vp{@oqFDO zh#YLPitwQ74^Ew8&9cQRb}-kPoDNCJIoh6jr+=e-=VHz3#mt2p5!%bd@Y`XM|GZM| zPM(g(OfmoQ0;#(-dZ#N$?>R)_%^zgnE9$Y5F9>G+^#B4fF47aI6Vz*!uGuVI zau#m(-$EPy>Ca%oE}*tap?w6vQAI&N9^HCfLB7vb;36p#3 zi!k0vkK#Jnj|TFX000t0jb<~>G1i5vU7I^wXLmIoX?EypWRp$X_KJrhI*Rp4N1Zb& zC(m?#w+D1j=z<#`{c&-EeqN6|_a5TCwTi1ppgTXBp!*x+`#wQMy&}?v(HA+G9ItWa zZX>{r$>9ZE)VtklvOK@}MV;NO9A###Bx?k%IhBcAbhBcSF;|Azeoj&EXXEIIUQ~7y zJFIm7?V#9_y&Y33oZj~E?O!IRUo=@9A0gbt!_3Ry)-_Ss#Exo zo$d@SLmzrXxJ67V4FOD#xLuIqZQJ1-*IckbKJ;AV6B`wy0*4VC`7xra=dicV6`?+*xdUt3FkHgj;(9%mtcR8Us&GA$8j)C zH8D>$$)hZzxjuosgZDl)o4j#A&fC4}EabPBQ+@9CZx z>RZ!xr@)TVRK>~_2SLWwDXMp1ACaAJgotr?0j#v*;<+Cem;U#;@3$X!*SDbd(AEF# zGkxUhZ9`o{Sjx`K!TrIY9^b!s@vqp^PxptAL2q2GVumTBuUBeUxBu7%znL<+Ra4m` zk4u{T5Z05y#O7v!LDKA%%D;=!qv4lMSfHr4OG<>~E|$Wi~>UPBK_~dN=)$rry@%VZ74B$=F+e3JM$!5(Cg9eg$MjBw>)j)Xv#Q2^By&F)j zwTu49@xgb!4G@8b{vh}mro_S6>b>{3cz-2M_#sA>w~9#I0~IGK-iMEI6)I+o8S(RL z(v>OeFOeY?X>KG$#ry;UIr=OGb7cf}xX?kfnp?R<= zUL5rZi2BEt_<*t$LI{i$(ijdFZXY%q9V1!}!(m9B6y;|#8L{F78#kF8_574zWfp^~ zR4Zch(oIvg(`bdL&7+$~-CxF?ST!qLx%Jkcry!#2Pb#P_Lh5m8GUT7|*z8^A+H2KPgNCf#x2Xc_Xaw1y>Mh0cy zjyNo(Ts|dxNA&OH0%IuxSGp*G2^%hPYVf$S;}=#=Tq7(aAaucwFg;qqE(V;^@B9;S zTV%#Mqg?2H@MlJ*xcq}zH{UR&zJ_p3^*}rL6$O@IROcv)SW&T7M`?4k-$P%$g(QAZ zl+6dp(?~ZG*mDL=($o#2v}ol4c=>)r=WSX1U@<7vw_>+#(r#I+);Ui-cfVDybgG=J zo3~#%Wxw#qLi4E__G?MkEbWwEBe42EsZ|)^boAn!1KTT;w;#cOU08QH^8Z;4^)P<0R zEd`(^Q$)v8=3;=0?ji1_N}XDz`jx4*ss)m}>XkD|?oWc0xBk~nir+8sYgNg|g-0nn z3Zko2rRsGDbP4!$;HFb#563Z^a0*~E>4QpT62Qt}h$3hMIj-Y31^)MASU5c|9`R3T zJAsg_WPB8ESW&=iI6UDk#aB|#x-W#c(xq=>tAX?ZWeNg%kv$YZrz6bR&LFHLt};*aR9QWayIkC}-1_EvPt*?c=SA#vmTqi{az^x6 z?EV9Ir$qn6;=)g;OuBk{ADlfLeLp!ERX;ZMaWk^btE_J{HONqdPt5HJzXCcRhNs8)3K+IcYvR>kJp)_$)T+W*wp9U z(C^UKfycK27q}*LZnQwO)dk$>5ZH>%zWi1*qY!a5YQO(V9<9GKAPVO+oW z$Lp7mr+}wvT8!zBaiQ1odqMaAh9;;&uhSo{*gYMH2E{6)rJyr(<~Rq%hv|omWl7gk zfuv~h8s_=yk#Rq`%`++L83~U&eBV)5*2HN2;Xi3y`HfkXjk>`1y>Sy7%ub+S#J29i z#crzx{x|qeuKe2<)!iq7+jRL&-Cvgu_PpQMzE%V6$&ssD9b7I?hMhJ8Ys_IpB*%iFcf=oTP5GRDMTaE{g){)8RCEu+glXSt@D&clrzt}~Nf+gfHUDh3a=DAjS_xC6`h#FVd4*>DMA zk}yI1t2-e^u9}{ft<_zpPVm-YVCkIQzb`lnF$4Kwo51qrGRM;*G+a}SU^Lu)Hrily zyLM^tJOwGLZdF(p;YevHpLM+~MH7WC@ygik^MWyrPNOUj|Fz&D09?IPs(QTvJL&M*Y6Y#E8jRj3iu zwzZER&9sl2;9AC}^{+>NJx=7?t>!we$sGb$DzW^x{$rRZ7 zw3o0Ud-|pgVw_r(WDhcu8&`QM8%G##j7GVlf#utD#IB$ENgWs9+0zNPaj*VU9%LnCn>vn z+FkniB>Q~Gfgd2AMbJ>o{7~x<=is1dutmD9e`%o4s;F2#JlqKand*DQp@U0@CvH{n z<{_YQ!1M5$?B_e;s|I+BZyzsCT8;~2J62C$Dx~3|GZ6%FaC^Ty0E3p{Z6lxV>7u+A)4#=_P8BC5Y%`4(8(X<* z@MO1j%Wdcm)F?2=wLEa)shdk44*9fdl*D?ZmW1&V(Ra%)_Dmfb>V))`4=rmOEUgls zot9l(R@pl+R#rNyKQZAJ4@D}Qm}Qi6TH2I3tEXkX={HXo)3%Hf(?m={@uD;sHx6Ak zsHfp^siiK$cX<;C(LKgKUN5_Dzym(R*OeLL$xoC>ixa1a6$QewvM53$HnGkaslxkB zEpGMk=?8*Ct1L@c|PQ7|Hi$?opLzzrhhqn<%%VAcaITKR;$c#@MK7 z!ehLXJ?|GK5j#`mJ5xJbB{iv$sU3;WG8*FL?Nyo@hfA=2&n4Ct20l*%hHtN8>wipN z&NRpOf4oUKEE;MILdr8>bHj3d%=Pm5?C-AS@`TX%&_v($;n~*M{?NwA`^nwv)ZEVV z#MIot(}nYy@yDU-k#WGealqS+;q8g#3xq)Nvu97Ek`;9D#p>l8x?twJ!rH}4g^5Pk z+~I6O5T>I$)`Jjj3^`u+^;0JGj#bs&(sNF+LbqOA`l4|m7Al4gyKy7o_X=3=&j#O)z(suBs)j24q)BrQ z%kViv%27kbDZmA+QVC_-_!Lc5T5KCk5TSFKP#WPs>jdSH1&37l>M^7&prv~93AI9d zAHw$q-GboI`70^&c%>?w$C$)CElhTX@t6iI)H5Yv`_GzHu>ABRm0{iVD}_HdkepcP zXG&8&7qJ)yR9wm-xrW1~r?4p9f#vu;QK5g>pQ-xE4GYXHV8XN}>P7fM!i#tJ3(<;1 z0ySxA@P%>s~C^}?e}e3W2<%?+^9Tr%zNDiaUmBd6#NnA z5JphA{hmsdZ=#-%`=qVguQd@SR7;mRSQp>q09TdY#%(Et;H-#n@+ZyHO zCBqH7R=sp`Sda*g2flDg={wbu+~YwS(UwB7oyc&}KjoU1yt&@W{cS9+1_ zJ0$k9T`QwD{P;Yr5gfHRVqFb`4L4x3C}V31=q;znc<8@1yAmPj(xlP4`8s|u;tZ8B zeK|ClCTsvYew|xoH3eS6E2c>eN9I$MdNzIe#h9R&LO(2vQ%Jg6r^EUeHlV~PZ<^x7 z4atWjSRa%(O?T!I1;@XO$;^HdGAtWk&iZ8A?%W|KpcNeL)d%Ut{b7)h-^D_hRPYR} zH=b?N;L}2yR;$n;Vmh@OT<<=R#E#Kmc)NaUKRftma&|}U_LdpbozI@__J-O{ zd+#b2rwWI%(wh7+J?y4M*y($oWz}kM_AIGDq*W;&uyE~Bht3NBh*Up|U#&(_=;Rc-UvNtXceh(e| zmOy9*c|df#UynfbpgiM=XA+H27WLR&XwqF^VJGY!+mTA$eMXYRef+ zM%sWrs);oT+%jy-?&yB*xXO;+)X#QrVV8k|4iU*qyi%o%6{fgZK?$7RX(WJPhR8s| zRVdB^J&oVvJ1-1$Yg5}*l;|sdhd=agZ|umx{o;YzF(qc4IfSI>K0{c=P5j%<>s9}_ z$v*%oDoFWyLVl0iLZxCW) zdPn2$6Z8A-6A%c|@f!RhBZJuKkzHQu{ra_`ABvT*-l@q>5JN@TY9R@7Q%fO+%ZdKl zH5}Tzn5&5OQ3>ApASZw4-+Ci(-~M>4CU}MSFqU9#QI-70Vkrh(l9v0%vL$Z}trO0| z0-Eyk2oQ#*0^wpo{Z`MZ54FI=?+g6Gmi5F44foqw6B^M7S_dJD3MoQ)0=^yP7pzbf zoQ|KGsDotgwoXkvEt9uR#&E3$SX?(>As^t@NkUU75u4s5leT#5r1`zQN+L<2JV6u= z*LZ0}6^nw=u#5^OOaG$YN>(q7HLZRj|3PyRkhEcz*g1)mCVlu_ijlBhe`=YW7{}<2KIN-VO{Vw75 ziLJKoM__+M1Z=vDL^?ZNR#2T47R_h#cnTn*dET4745{8%L;4jQI`5yc1=!z}1a&4j zBh!Hb^5fJtJhZ4;kE)gNhZwUtP@8lmywI7VQf>%z3KZ>M@=`@6@}hML@i>ovn}6Lf z4%U(TQHg2I5y<47H%WftA_Nh^KFQq6RQp%1b}icr9=npd0zKBNbS8)H;Wo9q-3z5# z=gs*}>T^-s&^s83 zWaya>KKD8#70r07GT03pv|3g|>O?=1xTgmiQh=)v*wAFss!6C`q+_XG_HPEU5K6f8 z9U#yPHXKW)zRndpgPnysh=mSi0;RbE){rM&sG|-V2A!XL+kKaqbLmnPpG*twJx35@ zeTo|oPON&pCrZBnQc*jo-e@sCm1XY=e49DNx#x!ENAs^$nK{Bj!#R>SW@f(#`6ioC z&I;l?fis|BT!me>2hn@GBY!?L)M9!;RnxP<`ekC3PM9Pm`z$~Z#I3w~?9{Rn z?O!W1tnVYW)^8FM9bqu56c6{U^{+xGx+`iggc%p&^YiBDL_K-IwhB`23;!e5iSS(BL- zQZ#YUu#>bgv@P>8swk~3Y-pIkp`BHGMqPwfAz7?)3paE%?9Tu6rcmw_;H+ zPQYLZ8rE4N6!-00EC|nV0Y>oqj~54ccLYq9)cs_E8=xgPdfU^57?beZme)di+A=DN zP~hYXO%z0V+6rX-E>Zac*`km$oEedWtNwc{NgvwO&~OK#7yq+-2Ny1yc2s|CM~~U5 zSSa`Uoc;m{pB!E;)uqQo1zi}oTKY28ww7+hImCfY_aR{p&o{7zkT1yVb23DFvh7?h zc6|1QBceZFj4E3}%z(@V!Z#%Q^Uv>7a$=h2`$I4!@>w*6fi9qeo+m;QufWl*4+{@#N6nyUZTT_tEVx@Eut(9E}%kak`a8XJpU_6<%t0`JZWG6JrX zi-V1cw9YD-DtB-sBGMhQ&Z03)_EF2j-qE3mRT`KvP3Qen`QDBdA{fJDWmW5iG9m zR7OZDKVAs-QYA^NI8eUhi%d{tK?ZXMf-%_ips38gcch{iBymgc@1uTWXENoCI!0jGOaWWb}5uUn>Cy#(gWlH;vj>UMuos5EOF zty8YluTTdp(=QWoyyT=N2^=Y8Ikl_zXfjPAySZze9uUb_oU2djL*&H6;n3HM>8I{v zL^*Wr8UMnDHZA)9_507emzr0L_iThSF7?a0B_04xA-rUbT*ofHc8Nj#WPiN5VG(%X z-R<42->hD$UHe9us)``HDbIbVmf&^_v^f{#LGBLorr`9!i?Qz2?L~9pfe0Tp z_?6Ug0$Dy;ibj^ogw%2X5oPsri2HlE4tp%WL8M%=49!^lsPmI+sCms&)5h)=xRx*X zJp5d41H`#yJS)#c~q@8#p^Jte>&P`q=LCig3> zvDV?i!2umowY89Xn4WGgEj`;aITY|n8>e#4*cZLHxE6SO4bPl(n1+mK(V5ZPhi!pr zGUkbpblr^Z@lv|PdR0E+-tKVS!Ys#DjpIjgO7Dzt-J!4fohxcI1U-t9WULWqdi#Lb z*l*tomm@4`-J|SHH}rEh^>a4#bHyB{_FD7B_F3Is-2I$fo$I<=n;TlVIaoFpXEl`$ zS&z*`5OX6Dzz2gR^*x7>djFTXa}jp^e)u~!^P=P?DE6ejXDGj>R%m1E@2NH5)CT>o zIqjk4$wyn3myo|1y0KRi%&ZRQx3(5oUO%?_W5*uF(}&O|Y%S|#jL$q2c85jWH4*Et zmRiF{R(GqdGlOs|$H!Fm{HB^&Y0^MdH?aorJpfD*X{}Y#ixPkm!G4@;Pa%XC~v`LbqZy@7ApmF#V{HSj{qp5PJTx6gy zUVWJ|THZd}BBc~{@IFi!MnN5z8;;;JMi!JYTgXr2cq5#{dP`%{BzUEE#s*;qTjaF@ z{vf$3{xsX^;kxEi}+DjmtWfe{0ubE!duo`cJIypY2>k)WbEn20Jx!d$24B zgYXy8G~+Z*8V#~+Vf%gg@0_Rl=F#7Sv%5>LE7#Aj7jye3cUOn6D_diCLmMk&3o{ot z3xiuH;Hk0S&%2P?8QO(-V)zE!+B)pnI=sCa-riW2I(MKi%Vd-KqYktleN*dyjMDLS zarbpY;q5W-=?{0&<>B$|>hSFC^=fYy;r_CES(Z(_rN%%vh30{0K?7sYn-XaEe3#$; z{EzX{DkA)rUSM)IXxf>*0;+Bj2or!Ea@X_PbfKTUoDa63zc7DAws?^$X7lJ*6 z7zV#cH}!wdHoctQyxhJiUMe2k7EU$~LQ*Ggll-Xi{&8Sj+Est0x$d7_%oXf?U!TrJ z_uvA(AhThcfI4|SQYs&gN?%ULuHU!*J+IAeoGq+a0#X*rlgq-M!{Xf1CGG@GcR$*> zUO$*HmS6wI1ysC1f;g>(boGit?m4i(IxJeYmDjWr@`m+pUFBm&Nc>g$nJKON$#?*2 zs1N~`9TWOMyA1}DR9pz=iziNyMA28U5nPJ25O$VezLX{_Y+VLBUdUK-6wV@FeI}|i z6sy$NIcV0tykPQBIAuCrJW=}na#Q1GIYvV^0#!|#La%_$^IgtN_yy2Jh5=(?P-t0h$wpX6s zfUA_II)&xFGOBJxtf(4G1QvZJ$i|TK_bq|Y+e7qF97aV@i2Y%nlC3IRV|~!S>rdcL z!GxZV*qdwkwNiSF!pxN~I7IUkA{^f{1%hJSqK6bG4!sfPM+UjB5hsJKO*7(b_DxPd zrz?usc7NHX{mM~UX2}#d&xQa8w}r5aLOuj#%*YrVBI^E!vV$8I9rSk(6GlY2^5;^q zp&0uQk!k5;9w!ps0vMl^rltg*zx$}|+@cC)`#TD-KiR71p3nw$J8gkfgttzT8$U*o zb*v&Te6RQ301+HxQ4Q62<6A!RcO5_)qYZ;*pjO>Y*FLJ z#*%BjD*e=@?fN*LlZ~oy5xYY09h+Cn1YkKgo^j(8W_Q$-r)4u-e z)wlgAt+TLK01~zXJ}Dg@JNowcF~0?Io%lwd@rl9uyQZtX4e17vKMY(sRhV;1{|aTC(%pbGz+qlHLtneuK12 zfI@97`qYC50L^{pwBw|;MI8_B#wtrmmfDa-{+?U)EA+e^h2hSwBBbZlw>v9;Jfyfd z-=SD`I3)OXZP3dz&*eI~ZEr(r!yru& z&AkHNy|Y#0U~G`bSGBdXv9sN&uCcqZUZ0Q{;mOaJQ}ts9^o&kcFaPCd#0LS!SN7;1 zmjT$}y>kxe1I-9x{h*-$xPch5te&2-7m$#yOKdNi0y%rM?q)vG_cCwSNfC)H5wSms z5MBc-J8sZ$LKsR5x57)e5J=11K1L<`&9rL@Z^x4@VcK~(x{YytHl6d9mYvoT{%Iv%| zgsEr7R^X_&OOiY%#`08%oKJOhJMdZo#|zJP^riaN$u4RzVcH|?Bi!!QD|X2`YB1G- z`GK@pG{U3#$FPB^iYhL2^x;M3Nph5Z#k-I9f8v$qtdpBEsr1~<7AmJ(c%OZ`-Zp>f zX7L}+wq_OUb1VbQGzVOx!p+0{j5|<=j7wC8oJYw^lg+S0%mpUwvbjTxc|3vA8s=Ki=2P`5a+%pygiGObxh5RrE5`+p!ljXemtB*_qDu8klG5(5t z4_)>V`wr%<+xhgf;>a+w4T27v6V}$Sr-HMm0&{|k(D!bJqWq2Jm?COU1e*i4HSk2I zfzRkdZ<2NSv8%5UG37^lS)pP$zWt!`qx{pyvN#BEB+pb87~i7=M~F8FnIeld2#F#8 zY^}TE4F7A0okLuZB>!LI^?7u0*(FH*Z z4h1M$eTgK59?rwMubAH)X0$&WGsP>92kH*mC-CM8XV%A$(ae@9?Z2DG)6 zMPn*Qm2g=qD2En`AfPd))BtC_CB={#NJ&gmV%C)WUu2B3i$tEG8SZ&@L5POy&CA9g z=w90*d9GQz9Qo%~P+{75KlAW-KsWDm+)-3OK=tcE`;7-=mHqkOo07&dawUnA8s6PT{YT!>9+NAwv(r8 zjQ%?vb_#YIPow(#H&aqV>sKR!uJd0#c$>2v$3O9y5W``R-*fPIzRqyh>WZeoU}g<{sQ#WEod zAEubGQsxSKa<<~>RhHz7agu2HY|n~e3on^NjE9%ENQ+b_!|Gm?N2iJ2lxpoaeDp(X zrgqQo*!R@l**osC7C*KzXFTBUbAeGu0sBAd zt)WfTq*ZB;VIdE1%-W*j6fiR zDa&MJW6D=8Ql^G*Pam;agyzkZV^^ceogUHrQ0y}VQf@S9|Lv<-H2)bsT(6=f5HM#a zE6)F<>PWsUpnL|n|1DDI+0^S}T;}1;UjIEq=NDKfheY!iBOn%csTA}NZ>ZH=wvz2@ z=eWu@ohW#lMjhlm$Q^RwmBr4wEtDj3(Et&py_|kqXSjObSaO~u4a=fNYmJvbJYl?@ zQfsz2@9}l^LG$TbRAYR^y7>1ByJ{`r+&3aeGRGRU(m%a?aCCYzxq3bL`{Mj*bba$4 zQYr^nUd7JN2*dPaM=44Dq2={b8d>TT#TwZCs+4GX7#XfeNea;AR7lWKq8yyd0k%~y z`StH6Dkg7aA6LxsG50Fll-Rwi{~^Ux;N#hTov-_=r_R&$J^1JWpGwr%yA4!CQ^P!c zL7(QJ=#gtcHl_G)IrRw5o$K%EUew-rWB)MkqYgx=1?trC(K&_Z%}R-yKYGa;8wAg8 z{Tm$Jd2@R@2k)GNulN5NI=P!$*}L1=-M>B_zdl;##V=Q?;lRA_c?48^K*Jf^Vwad> zeSL7@SUlVL*bHs|=oEToSnM)_4eyPWTL}L1A!i^-W8IC7!0>e;st+L2KQf$ok_o{D zDq6XL_?{`$uewoI1C&2wAV)s(J`)fz?{7JW3PF9gl^8GzZB`lzX22FB5lM_NRF@7{ zBS_P9uHqHoqv%7sG(Wq(deV}yPf1D!18XZ(oBF7Sm)pP3Zk0{b++W6CA$CNI0D$6#~ukqQ(o+-i04EVWtikNY+bqgI-;;KkD=nvg@0QX8rz)?e1lgW8cfHD!{^ z);Le>x~+-l@oaX=Q0B(axCx&*qrsdkhS;CfF*hlHZnIv~;ZYE`I!Y0s(e=}rwNasz zerZAms|zd+P!Ny@{|c2f4MdRORGOwaUV;4-XN)z2%2$yoj-irCeg~hoquA6T2y?&P zn0dN#42M>ND8j)?M5HMn^TP#uVdE#Ck%m=zh{W$pPCpnT2vEEUecXNe@sWQ52-w}r z6cbB^S{@Pg+s!|DJO;AVC`k_;3l(I@*E^M?Y2xsvo&8NDCN3cPv#!a_`_rY)2@PS- zFyGd&5Vg#Mh4777t}`7+9YzV2t-|OZJ=o|oPkAZ6T~$Gf()W2}bMILga!uVEM;X$8 z;Y1>VZTn_1@Z3pEU88sxV)1O4`*JOgr8-^^92m5}mZ`Pn{}&q8I&Tdd{&4%;Ur^6? z*prLADF;6#LEP!}CL_l=KT3qk8rFSh#MP~OpZ+cQY!nYrP>x3${YQAqG>{i@x$=!L z96}6)kx3}_jEJ~*b|zq9A;h6ij;IOhE2sMC6sen|EZSCG4wvP@p9DmbboF^8iNm~{ zWs9BtyQ=8a1m#cC98BdUH0)POddi~m6?9IxbOlrr$pdAPI2uXH+Ro~VqeNxm=@DSB zPjhN=lgGzeU%xt-;h${;hZs0UJo`4}tDk$u*>Ua|fKLUo0UNf{zJSZu;oHH09<}%L z`{$#hv7_P22T0xvMz5MxTZIpmX!J_ILHgr8>2+9uRcc#UKUV7jl-=MQ&OdZ_?LuaV>OJ? z7gduN4vc5^6L!_|4z*KfRa5r0Q+?CR=I+af?#oB+oaP=}kjvpx8qHxTyd?a5sHtLC zXL02qrsMIMcZB+was*VT{sL~({$91oTm9Eus~*94(mPs(m8lA|r@>kt zO4B@3g{gJVnk8*DHzud;B^lKj4~}^V1B%3|7P&PE@(8ZBa&Io@o}bv(H+eQy3+OqN zGNqy19cjZOlk^V)eul~VZJK=AiO3&8iT;yO4CW(FO{WLM;vY)hx)i@!bFkL)=xA5M zTwfoGq=bBXP%lA;d`@YlE%@IQTJY#4vkt8L*G8uxEhKtk{4E_&8g~V?%?J&fF}jAr z!zCb&tOk-%Y{>O+@+B5X?&8|42Q2zgutax#PqDeT`1wyyE}1>VXao`g(bLP<2^8?8 z&F$UZ?%LATBfW@0!|6hc`Z*0f0x{?6gDE4X=?nP+Ir0)l7tc>iI>=50eKiaoL{0ij z1tAHMN|Q13D%jhs1HH5VJ?7B@9|KMTzy=184ve)KO6J#^An_171^r#`E z8-@1K`)QyTnDX+XVNI*s7}Wc&853c{<Xnfv7m6+l!rT|d+~2;Dt_8ZZCnh7a|DhKvPoZ?_(c_~ zTf|f~Lf*PwVM+r*%NR`_A;HX7hDvb9b)QTP_FM#$sk^cY)^)s~R@3j?Or| z>hCAK<{29$psR5Rtg>@CE9WS=QAd+VXQV}fC}|G4X+rBNPPMw$2qPk)7<6}E?H)*O z*B-=*$$r3_^Tz)xsIIklIO(!3RIeg1_HxmY&w8ZVl;=PW6ulGAlI?8HVTy7Ty@`}6 zJLNi-jsP2w0P7kK4N)cG&)ND`gi3Ncg~K7#TI@EVL=y^?TTaSoHzJAIP-F*5wjhAb zq2;G3M!~eCHLj>K94u^Wqk<=LFfk&r&CZg%a=a!*Tl$=@TSddXK)i1Rq$<+q;4d+uah*tq z3$G}b_G^~?jj}J_l%0^s5$_@)^IPt;HAqz9Fr0|+-dV!$Oo>eOra^)aLIl`X|KwO< zPk2P)cT$fVfgw0htkHs}W;>9gLpN!!-kLj4hJ*6rIR0~|VZS5GsyzcqH@XcCspS5r zbB_);X0XItG$uN?c5}w?r!yzPDi$*KizB(m_9XwUpSj56;{-0Eg@C2-5FT3-2n!Hq z`)*i*o*5*}<~IWq-LaA+@Lm>$`jEG(Mg7fZ;5TVYJ;?S_G%iPZ0o6h>tX%)qZCfIa62?~~V^!(M$_P4Cy2?_V=q3T|?r9X9 z=sU(a&8osu)adBXV=HZ1Ao9xu)Spcz{Qufr$4`VjJy<>JIj=pt{>`6X_x7s4znvd4 zGcOAYsBMwfY>^s~zrQ{|Lf*8_?{|vVy8gYtt4<Q^+>rLUcVXdzh~P>afhfKeVv*b zTkG4{*;qBB#eH7Sp)0p*8i`EJb4H9*e{PhRaWnA7oZf_lnso@H+7_3%?j;i(G)eJig`_A+__bZ z3|JO9S#S)}N8->2ZX$kEET%Sef+?X5K)AG#p{vfExvroC_epm zEj4(u8Z*T9jYA#85J)LlpI^7Xv}(pnIyV{gbcj-62umNJG2VO7rC%c7OHY9*jIP}e z!V0&IzwW||nJ&3cPf-ZjC`nm!Q!W)gWF6C^2_2{P_>;&J%?gsf_&#MWWg)Xg={M`&EPnqr zYrxKflS3lUqi``db^CJw`$Ms@m?`-tHPf^nbnp&##Uz^Yd@FZUkWCO6Y6RMO^_})EBSukTd};*E{z?sGK+%5PkG_q4wbI_60f`18 z;_rdJzJv<@nErTu*vzS}p1d#Ye@p6ryWRT)8y?{8!dr=lK(P1h%$=j(8N}Dq>lQC3}E^tJ*qSnp$i6 z2E1F_47oX}(+ZH>WoCs~4=ygC2$L#h{>~mKERHPml<1u_Jb@s#c9`2AUFenL=A9n! z>edKr{LC330%;^Qhc&NJklX`$>nYi)}7WbDO{j6g(2LFv{0T7R?3hLyAns4avND1)LOb;>SZG(eC=YuVA ztEDBLsVJ7{EakNkEOwLZj63AzxRA>TX%ytF_wxk56ZM*Ky!A;eI?decx_;_xC$+9P zGRhQ(t-^@gF;U_}i3ADXeuqS_4hnPBXA$L%Imn$18<&Xj!&o=z z%R2dQj7D@-#~_-I(vWsIaPD`2nA-jxD*1? zH3dbFp4_q04`U#?m0?LtRdP_m!Y8^<{3b<^Jf7@?Opf?DpomPA;wgd`wpkxqD&JWI zQ~>1&(QPAWGa4G+Z)Gwa!P$I0RF=PCG2ED`LKB?Abl(SA1W9n9VfWGMH~Q_mV6n!0 z{NUU%552xv)~b7xjS57&DVhA~T`tKwKa_>gkTA~o^Zzk*l`(O(Q5tu5clW{F-J#F| z#i3|%cZY$2;>8QaU5Z0-clYA1E$*=Q+hmiSoF9|i5E61Z?|C0Pkwd>VM<&QTL+J(V z|BU7QyTpp~Yqg-5EX^`)>vCL#x{^Bve+WS)BmJmOxX*MNz&|{vT!xm zQ3sDAgWy5cGz=9(ZjJoWp~%A|z_Ka6>LU6Z(^)k7s^1MC43SC|+A4XhN;synk!=ei#Mm>fCq%aHEpL)BB;(vDXD4q7%S-UyfgoJM5skx+Gq2cE{p#b2m3T z3u%AkI_7Rce;d8-1H_Jx#}tdZ>-&A@1FsX0=RgMd{$=0oMT*3QEL(TkQ#Ly_RW5TsFK zW8fv_gk@}KgT#dsh=AZ-`gR4Bx{SJ)RYO}Rj{|47H&c5@YY#hzCSHjR0Z=x@sm3<~ zT#MI{%aA?I>JrX%esLnB?9r)jMU0W=sL8FVE1jM0pR+Uw9qSKvdMuZLLqH``Y(U2z zw2-OMV445s4p)5G^A$KA)(-f>Kc63ONEX80MeZ71oIDzF&76~u-o@V28yF#o2NzgK zfRN%?ppQVzWWv$vy&tcn=qb4>;KVB!j;7(s4C3YXd54YUTY>-LmHEK-0|*(3iLP<` zs>LUtuPpJp@FuUTje#x36S->PkmDmseqsKE9~}FPk=z!rWpPDyedjBN`3t27zUMJI z{Y$wH74o#cg9yERahP|LDL5+0k8zJZIs3DB+O`&s-nRLIJlQ{pC&yE-SU-eiU0Z;G z8wSSGA;zNB{U>XTCF^+pgZrg}yN`$Jo*xsD+YCzj<@m_8#5X#GS7da=H{{N?v#$H1 zD&|T~ub;1uYcz>MOf7RT%2Fk7{EY%Ts;J;zT-`i^d?JYkYw7(zOFgarU`hLXF90A( zMP-)>Lp_Cw;B+e#ioU$W$FIfUA%e?gLjojCuq@k&N^r{?ZCe?1l$-#+f4FgGIpYk@Ncll)3_y{@hZ@+S;fOI{0tRnBv;%zzB8HuTsNo;~x~MQ{Tp{hZOuo)=ur)vq%;E z+S5uHm(mDRA=g!nx;1k%diR%oxo=>{uig9wrc{ohAuR+MHV>Nb6}D~f7+CMPubhlD zZy9!x7faYkvH<0PMJ1m<*w|@S2oDqeNE5uKvt)>hxYYSg^J+=T>?4|(-t*;(&cDpCa7zXzp*I++DR{yp^mMtz@I-DkAs$KZ6n(Wx=I^0z{RNJA33ByztM3%g= zeODQU<+`fawTkBaa?GX%eCAzhyZp@KEFlKtDb7p_KGvb~C_-`EB~n(psO~t$Ng6zg z`uzABtc4I_B4peGOWb+UBz46)Md*^G{Tb%~;UAy+Tq>waLXQ)8{;)9FYpAyJp?L$(o;A{Qv#g?IlG{C)SsFGKCN532PL zCVuD@7Ak#sx~zmVEN!fn2Ra_a8f)|U8+rOh<1xvsN7?r9gO6Nd%HKZ^HXxPSA*d@m z;_RHlJBNKPNPuepO+%&}EEoOH1_Vvp`x9Odk8*unq2M9Ce0suP2N!c;_&Ky!PYAmv z9}Ca2G8UYKt%*XTEH`Ll>x~;`8D^u-u|7~U%N2icpk*W)lcjR!tmKH%Gtl!0-_Ot7 z_yPK+w7V7sts=yj4{HGmS&Y`f{L6%h;8*@g{o-j8e38ba(R-T z9lA@?0KG{z3Nl0JA8gF}P4!c+>B#jh0AJcRs_PZnTkZAkq3-;{NQ@ zXExK4Hs?^X;HSSXwc(y1aDEsoV!JMH*huz$(xW@op)tK*Hkjwc3|%Ayn$%%=gy{Z- zkgA#+-+b0ZzF z-yGg&<>iOyPxH7MVAVz8qSzT?;5w_S$FeHA2vw%XVpX988Y!ukkND7%|7fY_equM> zKq|cbcW$I3134yk;bF8T{PKJB>ATw3eG_9oS^BncXU8;K%Vds8izo`uf&n<08cC*XHr*@cULV88=#4jfKRJW6!5^r(B z%@1Emk~3=(f4OrHLv1#Nnq%nqQdhv`%~72r>G`f1Mys3fldu#EyVf`h0D1X$(Dm8H4fXgA4?cxCNLm2{$W zhzr2y_~z=K*Y`4!xt|yqJ|(O{jak@~u^cTT{%H$VA*?ihZ9+WXRuAGQrZ^cxBb<|Y ze6R_!a}{hCUL7q;+j{sqyZmn9`Y3y{;Q5^an;L{HJ4AZz>~9_r7!kVMQEe#mNIiO}mtD3evi zZQG_z4aRoSC#V{==E>6GhK9)Z3G9+cBuwX~3U^GEpp4EiD|3fxN9uU6}eLr-V8WoMI!|e_8vUd>XWQ%IQSVRZ?jD6)kWO zynn~u=luH3Dhsx0%|sCxLNZgd<8_BvVGf@yvFe3W9cC!|=_v5t( z+Z>q2VXgM|_5Ed$>WU!b(6pbByyPAe7vEd;U5!0!Xz6=N#m+9 z==s9Syo_lFp<3w&2Z5K7Vund+DmSjk;^NeF3|^zhX6QUtri^jf4bjOUH*NyY$pHs=>2ol+m@&`dtYwXY~@&6ZRj!Ed+eM;CDtZ$ zQCtRLO`etr+GI~b`<@2%SqqLO3#7;c2CAJTi8XSmq%I3UFDKAtiz>R#0eXLrJ1Zqe z8qy^e6-5I;`d;Oc6J0xFVZ6!x24OnQ4=}I%#D)V`Ft~IfAMwD-@pRaPE?6T(o=t<3 zMNGf!qu>0dU?Rx?I(mzO=m{2D=5m0ql@zKKACx)f(0)pKEM6*3zP7Zg{7e3clNrNz zTniL!ZM6|nXt85dp4nO!0)fn{Vt zon0@-k57k7?YWy0Wm0VM?O&<>v7bfP@~2H`ap- zu(_UpyymDou?_*5b;on-k3j97ubeNK?VH~}x&AHw9pvTV>{sX2*8GcKLRdUOJxYcG zqC8oGn(j@FT0;O$fImeQl_K4it)O*f`w?B@XuiP*El2!A;Y8xuWl>*cF^B-1FHiB02Y~0z`mx)g(h3qsw3(*qulWD z!CBwf_V@PW70Et5M_%1GWa)e}Aqw~HNLfFb9TNFNT{2m?wbGa$thR8n*!(Sh+CprT+ zG6#6GouxGt?O%6e!8|VmtF=6?I$ll99bKK=8zwgQtr1`4Kdj%EK4J3Gd>ezKgQ?aT z#=Ts|QY_Fx%yuc27j26M%O(EP`yF`gkezc=m7y#1~$jy*!u(`N0x9N0RPp#K+&?t7Br0T9*JyqSGhFgx$;Y;Wkn51%&vElqNm_tQip_0!3V$D6V? zA>TL381lH-*DP%jjR;Y_#BhPkZ)o&l;S%lLC>p1hR#)s=V#&63oequ^GhtebWKN<0 zVz?Mvg?2WPTm(96Dyqeh0Mch!3q_I&W;CCnieuZU`$E$xO``+s(SSyTDdnXhpxSL! zZIhzE7h>b@kmuNQmSU0Y52Ztc#O#LBi6_I%I78J%OUb)ICmD>pkl=G9&)TMlpm9S! z7Ggme3V%o3p(p#5B9rLKgoB~qQ?lCF%b!-gPiAJA znaKvvyOFG&j0qi{oxgH7J-tXjT~xXyAvU>rzKZnSaA_d@biR4`{CGkpu})~9&^m3A z-~e4(_}O>u-zaS+6KHmM!6>d{Lqp~{4XwbXh}Y`l5GzJ}RgV62b)6j{+> zj5^uT78A{k*SJQt38dzu%7c5LlgQm7-1;mV?up#`SqWm(6HbAlXsKEmn~@3#&E>fq z@)&O$!oQ(7;hi$;!_qqy5~zZid|-u~=m;m~p-IUxxE@+@L&~F1zn}|+tJtR%$8 zK|fSjSelN7i))T!uBsfX9Id6Ks|^4=-&mQH`1qXQ$}vECymLIhcG3!Qry+&Jqk;ng zQWKgb9&7~ZtT&FTcp8gVrX-!>&o6q9myZ`iOV5;>6yjY$$7(W>X`5S6mwkW_>EGv? zd%lj2KVlNb5`RqA*A2TXi1&9-$I3?)OpgCOxxOD<{kyw*sP=dF^6>WaaSrJGB);Az zXxt@eEFobavTh>2oNn}kf^1S@*XS)zrXrQA)g3R{aH>eaUN%^T(-nxhf-g)B76u*7 zqsnloReWAMnDu;&OY~GIUfLvdniw*eH8W`&N;|*A->vFvy%-5ueo^!dWD^m|%%D(K zzmZdU{PFXvbr1>1COJn#Ji2@QtrsSt@GmVVr>xfI_3WdjL-UO{cN@V?eU>}4ec>nV zssYQ=1e=keuoW9BTx3h%un6xp$+mhdCzUAJXbzM7v8=PZ!~Ck<*UOB=uWgK`OEH4; zR_421SJ1ICj29SsNk%{Tn>UKF5x$mhB(TpOATu{J4u@;y0Q40z7S9=ks|byp1{UA zelx0ShDbA#w*j=yc2W6ouFHvm8KcLW?WdjNgRAWmGDqEt14=Baz;Z(x3NDy_C$A+w zfEaQH4vM5a$(R_*(ZgZLe!**4+`_;}ouyZlewFDQbIXA*Ok1=ReNTm|d5CI1p(`~* zj&$!&Q+O<)Up$g_F4s{L8`)_wm0DGL+_^qIW zyq_r0&)2`ROGHHYZ0a!906kUl;im6Cy;wd$`6m|G`Fu497HltO|IWqw^3IDDbdLTm zhV|YjBD7ak1B)}PMIKrY_AwmOp$dkKyHRD4G^$6}kTTi@nNJ8+zcSH*VqYT4;7BNO z5^DD_gI>Vp3Uf+OaJBmGNNeHG4<*7ZAq=>q1EL_fS{qpuY)Ao4G#W{&JWZ0bo^Zyn z)wBzBP9o;xrCZ93QH0YBKdq6Ku-3xgmTN-sHv> z8q>4*T%M1&zw($AvA0bHcDsUUwjS|(1vUK7r4nHFw^pMZw-QO)Ul zGAUiZ299(`>~bkpfev0}OlXBUNL{_3Mmxb-ncG-yutLe39+|<49=U{JyAdz{hy3ge z5-{MyC7od{48Z>pogOF>S;1q>I@{6o_cwqb*`x*!v$<8IqeMl@g(o0wGW2>WBCn%p z%c`jz9WlcuaKmsR+HaSym&RaeZRgt=YAaO2fQn2D@zmzUd8#&5|29t}R^CX71S})R zwh++^xXt&G+}0{PT6Lu+@oYh?W)s4UU3mt7SAsb0=ljTRx#T;xWP|zUMsw^BIo(kR z+hrj}`4JqK(rK1u3Qe;WddI-rzki*xbNunmGC>4-bE=2r`jWgx1U6V?6aU~ISlr?0@!?Qbt}!Jr;)nXtZJ2d@ zJYCodh)a8JPV;N|va^5jx=%23I>(2D-3h=oW!WD&;;SbyM@ybf+?zg$uf58N?AM>4 zLOR;V`m(M&t}YKAdsas-faS(JGn2jBcP|@*-EHS3Ue8F%G)FUJ3L|HmA228if|lDI7E)LWGxTzl>f-7IoqoH!i@9 zt4TT4hP+%U$LUPKZZ}y*gnWyLf6i?MoEu4yCvI#F{*z-Bc!YZP)^x^=FDmY9AIz-t z*M6M2pjk@ehHY#Atmj>84M8Tj2>;67S6{MK0hZLt!!xK z&!s^cFuwHSzK+aDS57!!)gwW@!3Muejg-*9k^OaVYW3g*uu>Y}(_h|cI79@JRXNR z8Hb5ZnAGaMwCC(-@8jxG%`2Y%&BG@ELwC3U;?aiaX2eraHnRPoSZDne%J}E!%+Z=D z^sgLf4nU1#R!#M;rju?M5Um^isH7O5Ag}Jz-!6!IOs*Q(oroa8rF7z;p~o41Ae$A4 z?WfzybLImX@`U{zV+3R6J{;^kH2Hf51w49x=;VASq>@+PPheiBt$W(qW01U;Y=Z*gY|!9t7M3j{ds|0Lcqz{aA2p=L&eC4ZGxt#u|ov_+8LH#A2^2gH}VR4J)Ej({*(sj zLl1`#73=#i-zIw|8MqG&)$ntTO^pAfaIz8}0-(#=b<9O zrZczo#=~Ee?cvv~jngsYQS6uG70s3Vh?GGA5&m;<@$a*kRjLsuA2Yl%wahTxuVFP+ z*Md+DFXBRRNU#0(Ry66X7>6X#jd`ZJ>;j~efqA{$R8U7XE%R8XNAFArBxW$|w1p6B z*hO(=M-)iTV`>VIo}e-0US>mpEH%|y7nK)N_=%( z;q!wHD_f-z*aOMM5u1*s<>UY50&K8SKYiH?4kgi<4K3$HVX_URU%-4UhVb(k%epB}V3S(!BC%Rdm(*oK-msqH1A7$E3wtl2+V{-f&>PnQ{D#jI9z|Zc z3!cbRQWqmKl6*RWoTT>G6Z?2R^0$8n=#uJ~d$<3Re?w!S5URz7Mkg+6@3NRHt4xp* zgJT#zc4dg!>|+?T`jDq5C4X>rl~;Nt#rk9`NYmekgH2;DU6Ve|N`3bR)31cjURCtv zw)QofPg7giRa!xbC^$A}iBd;R-f(Q7dSYgNa=d%{YJTNz^n9h~bRGZq(c|0G<14dyODwf=$5E-)HBIphx1 z!V()miAsb7bqH>>2yT>S|NUcpW-*z3-dET`CZfxfPR9^L)EP+sM!ISL8+Jhmyi6kf&KQFX6LEdH+YfT8Rbz^kbq?cl1JGo^8p> ziPW>JFMcuu-b0drAeNAM-=fIB63f2XUXH30qdN$T8$`g@+-HA;uJ30sF4aD3i**Y( z0egIB{)-R)uBf-uy+1b^VYVa0JFTR7VrK0C?9s-ZC<$8GNV{Mv7Ws9l$+Dv%2h%ER zL$%2xoRCg5s*1L+9B|xYXkM6}Nj6zC8Fx{sPAf_F_YP64t(w4|gMehzO9O3yA<}$T zrmifp|BtuTmtwsMMKmYQxUcNrzK){<=fG0%gLA;0rTw-yF2mODL>DwDDMxU_K)8kg ztq(%#cY4@$gZ>WF?`%j^7X>tZ%uglY3y%2hhyHyfeDK&i78n~z{^008xl3<*2zq(XJuBNTHK|fN|AW%4T~BZbK3DB;gXy1ndi`*; zlone*WBpU)f*T=79Lyv1v<4AGuq89ywp^~HYJcQ;nn%VRn*L>0{k9UJ+{eo^qN!8} zy;nvSC!XPCY%DFUBJqV}5@>3@Dwk_WT@DWelmF-d3GoDpU09M%4c%geVw?fXDiY4P z>aPqXP>3aM4tN+YK^1C5k@2L=8y&fzUtp{*j$1Vh?E~k~qP-#$F1eF+;<{mG8m9MS zaF&dR6rF(VmFoyKXu2w##=uc^3SzgSh0gkA@4z86Hky111{=TVlTwTwlM<|$J;F7C z{3ML!L_=(JCP?er%3wyCHJu6Q>=m>JH--7p!lv+%D=QsHo**sWR^5(e_ z+O9l|uz!#xo*|TmMcX4#)@>0Is8eH?B{JF3Q1;_PMAsk&m`Wfc%1|Vz@l$8c>|ZN@ zlK4$+6F zWM_ZW#HRWd9gR)h`6(C`)x`{(qSy>XZK%8FB&n)lU&hQXR2C6+isS1$+RO2@XR*Gx zFFo|8b75KL-URY%Z8s3w@M#J4I^KNeyxV9Ont@xt`cuOr;^pY2Yc;yn(cFs?4+RaQ z4~Mhi_xDS}{e}t^)|EI;SOV^oR4y^Zkq4ckZ`$?jAt_8>JLLr1HX~ zC#SmSRJ`Zpx2DN&{8BlTPCqD}vdMv}%B8F_BC9g`;kcmD9PgFJpQbXFI{u<#?jqdE zon?@r#-3vF7|wG*MCMHA>R%trq^3!{vGS72ahP&b zfF8v!bngk0(>(WCCg{xxgo)M!dRQ#3yoSw`tGI#nKC^aeuCi+lo3M`o^FrxY@%Z_; zJo<-*Gd!tv)-=T}K}t9kI&nu+*z}D~Ai=yx_6a?P4TIT%`&GlwU5ryDcMrX z_-oTlC#b_lvF~2>$e=E61nk9oMjY*}VDWa@vWepv|9CDF_^dh1mx-o+uv=|D`a#i$ z8>B$Pn}MWOTyUp7Xu>?eGVq|opNZDmN3rJ4(b+5>^t;}_R;a5^FLOkJ))=y0i7BYy z2C}9;W+^u0@p-Jjy9M2ux)g@-K1PG5mryVkCcrBfe zHjRDceY|?vYcp=|u$$+c)WF0fS%6&c(w2DOL`l>9#3DmMK0Sd8AzDO!)dOA1*zHiB z&%R<>0lb8pMD_IR1=;$Lu^E=bnv^k?|5_MH-k0Y(ZWuJ42J5{*s$EZ*7WB^ZEm^;6 z;+KXlu@d|Hmd38SJBaDmg4d^^3h{pxb6|InNpE4TfeCqpoN0n4Ttfxv?8?ge%*^HS z;Wv$3O=qGw=@T<<@2>=D1EzDp=G>6jzS>et;P{|QjwZr`k2g!WRK*FAqDuhTh~h*> z$kaL`Q6STsZSjg`%Jp6!;Xx-WGv+yi)e(^C@wwbbH|n7G_Y}JvRIMp=Fzvs{H`++j zL#Z&%n}2VKqRK1q)*(tm+tzOL*>i-3r?DvD?U3yV=Pt~PFI(AtB`b(6-Z6U;WWpyb zGnLvKuZG4RoSmvYS@|foR{1lYWu#cVTuv=_dYawtBt2V@t``GRD`Ot}197gl&E0TV zlhaivmS3sXir7qB$+fhMg1xWm=i2kI6|!e~JeO;pJcqk#_>UA^cJALwq2%~xk$y9M z(l=C;U-qcb*jm0p|1IfVuq=&1I;ZWOrwfmaJt@g+#EbnFN}RVHi`Gj8;T@*Kn09`p zOTj@+%@-~j#$f*S;oHSYpVX6*BCILG?q_|oS)w%F(ZP5wkc|607CC5CTEB%TD`6`s zA;8s6Qwg)|$PAyoknVXOE*I@EZ5sx~Ur#RfK3Q8>Sy@5-SW$@_R7P9uQ5gFpWf3O{ z0EHsd>}tyb4dqpa(Gz0i?QD^d6oXZ>=S{U=mv^YX_~PYl|Aq!@r$jRGSj3JB+E4!B zaXQXuu4T14h>aHKkLQ7pkBwd5%`%n|4{;F;#Bs!jIAXkYuNf!xb4V$=#9~p;%g~(`?cs?MkDHqq7ERd&@;M~kit6rY_^K!`ZfB zdtPZ`P|OY}_=W3r5m6>!!*XYv#2_(?Q>6ZK(@yB&?Y>y61BjdNj*^8!%3JKH=v9+kU2ymf#${1#YmG@%S@UC0 z;VejgNKJAL6ZHj%VFU-?8rQG#GkKtmby#`yJ1RcPUsJ0v+vO-Pm*C!gbrwD0dSEAs zSHe%9A2gC7?kXe7$yRG8K?B{TR3@ZZRU) z2TQG)h>6DJ8LmK|sV|0y&Q`#DlpcEplj+ufoXF8chGwOn4aM7xN7yxrATGHUs+)|K z(=JAW!$G^6dA{&tyi~uw4I5cCT1%gDm3=K3O>pC)tp8H5=xr)`AOL;nOO2}OMAp#% zvMVXSBJu;x0BGLK=UJ18C9WabgP&CWAhw%296HQ{2V*0x+9>YeG^?v25mv$|(h@&b zd$$PxKZKX*0e6YA-NLDt8ejbP8@xL493vumNKrGYivCP$n>iJ=bbS=p%Mv%tfo|Y; zYcLiv$Q9Yp1JHlbO{204Xel!;kbhmX=kHeUT7Ivlc7%%><7nh7!?`}|+iw944i-V6V zN*#@z&=ga^oBD^>4#0l^e{e~Z->1gws4UiQY##*2Qm3p&-`l-|@+WUEkF`o8qaR`$ ze4DwHnQ4SW&mwUr#8}lWtuXZj?A+qQt83yC2qfSdy9N2%o#TrpAN~5wA(6nh<7<=m z(8#{6bt9u(36G%TU{A^Jj5f;j2TFFHcTDKZ8nOQOKvKjLO6W@kZbuE)pzz6f{N62b zvSqA4-&BM9T&d1N2OUVQ*W_LO(k>9G-by{u;fV+xKioPQ9mX?yIk-J})f0E2coU+_ z6qqsD5EkxUr&WJbSN!C4nD&h`SKQ0PlM0)QC3@JR9yl$s)C+Ksy?KFntK>^T6bg-= zZ6qc-lEt{Q3u$)`>h^ZcX$~OHcjFd*@ez6BHX}IvR#P#6CPbaMH@^!*0pBY-q;O{20Q=2X=b{(WLZgHhaMrFZeV}c}w5NB{shkHv> z{3&5#tZSy+loy&xR-{)Tv!_6Q| zB7_B7;-?dyt%Jp|CzwnmwhAF3ppuG1(X@aWPlpod?L+?s@)g#WiL3x?;$s(6)4J>6 z1-E|9k5=GAJ=*nORm5}&j{Jz5hoV}7Ggmg~ajNJ{i!L_aAAgIbMwTBfLv)BUA)1t- z!gXsJMT|s?Z(it*p)IUHjD?DLjI#}k5@Vu%rRZ#oyvR84^ra;ahEf}chDF*CwsJZI z>xHtA_De&5>|L6>tO3N{BR8=`KA26`C;huX0=KY#IVEZ_!xe(I0b~LlYqW3vyV&>- z*rt8GdWM5>A`7cnkiGfGLH+Yj2jgNYAK%Igye60p++seGcc>(Xwz^#0AXV5D?jthk zlQXZ|#VD5kb1{VvLqdr7yluM0&oQH*RBoVG`LpT8)c3OzI{Tsmg1;d>b3VSZAH25WcgBM~CzmtC53(UcFtE|7o5 z%rmS5enrcsl+@MMdqV?m#(f_LUHEfbHZlT)H@zLmI@b+BZs{OZ87D0rIpeZeK37Bdm7M{*?hMXlK4tZzm@uu_5DiF zJtY6M5>-g?!K7at%L~2uH*G}i7h$v9v6e&bi?7{#%{JMzu1lpf2fW`c7F%Qe%C=0h zzEw`h7SG+aY!bQNB9dk1)k~a^D@G}xAiIe>PRgo+Hch9?P+Nmf+su3UKmD5`4CB!U z%vr=P@r5$U`-K9yzvR}7Rfom1&}$~Fnh90LK9spnn`xqy9jTMuaO#XRG7}2q@5htM zS`{oi%mg1pYVEmzGewTEUd!J80G3HeU4fw<^qIqPYT*1B%txFJ#Dr#mJ5ug+l@lY5 zA9~&WtI4vMWv#9fSERqX2-gdLGAzSOvxcm(rtapXp3EE!Y(LGqGhEb18tsBMWyLS5 z@p|(c(?4)wuxnEi z*ns|x%Y?!q_iN2r%|!0sDwAAFUUkoqn}0LvYxoGKv==AV6Oe+ZmF@kN8Qt5PCan(G zk1h5Bw~&ex+ufbLa$jE~iLUl?u?B{t?j0oO(#QRSlfRttrYJC##0Y;6yLB;J;s4})D3HD^af;H<|+k^z=8OXOn1k*D7g zR3!{OkCLZZtn zq9Ut^Aw);iZ&3XcPmk-j`+W|(+fA45L9gCxa27a?^}AW}=xo%Tw)2i8jVH`d{niSS zug=#vrIe1wix{3w3bB!#60f&&CU1?Y6c>@6o{}Q%Z)s4Mhwo%yiDCxe9wZUUJe;$2 z2+bOTy*_+*N{McY1@76ro%!?Xpe9QSUPE-FI(SR)e_+RY5AHpeMSO60f$HC44Dk%k ziq_LBPCfdqQ^!N zEi2WIZDjOsQr*%^0A)2U+`Xq=IFCG+id@2iYMqx&e%PGF_pz6PAr4HR_ft?uAP2m| zqXa{s)J=o5B8wbf`~hV!>Z#H~I7;a+8KraV=~oMqu{?iS)_GRF0GOndxWrpiU6@dH zRpJv1gSZZgs)7{J(GfMn zWIweUlFg#=pe5(}IAeTmEv!z<_vI>DX*A1aE^@xX-ne_LakBgj87?;@0uHlKh3u{E z39>ULT##%S(Fi%hjy3J$HB!~wc;xD%Vm#4l8g3{`9*007UHCInqBzVnFPeMBHV%p5 zFUry+sEwwSMQk@;?F}dt!9rFH?PB?(RF}Ko5j^(hsgb4nV$@Xw`v_1}j{Eebz!ktp zWhyDP*>ay<)tRL`g3RJ%$pl`PjE*q2aB&gA!#4$J`%@XM*8~^8Gd_b{tmIerskgp! zl#~=cLz8?Po}p%DDekA|D=f^+)(OdPK;SE7M#qY?adVb_g$R)8CiS6c>nXiKg9`u} zTOLWNR_$IdIN8L zEUBy=NN#Xw%-fq7lksrdQcRDSl-;5r)$q)ja!s5r#|HWmXz}F-f(m=s&rrkd8!o!@ zW{S`9sAei4?wLSRFZ3sN5=v7F%srWd$4YDJ!>U4~dfP*t-tQQ(;n}a$X$&U|j4*?$ zmb|3oWAZ~dAwO%askY`3$X3Ba=@{`EU$Rk)y1#CG2CpSUyUp`tVyJz``JvtWA+~)? z$%LLzzh=+t`{;Fq-muxMqM(jDBl;S%Wj;d6*R|4Kp=#G}71HV!EP_8UGUlk=IE1yp zYgbfnO|^og_4rAX+N-+C?WjthI1a|;$sb$nSxD1!W7sF@(yWqE=a8w`v|^^xl37z< z4rXueM$hh)zc`Vn*NRIRO01bw;h6_M+YEmhmCgQ;(QOF&#has7RVY9h%-Xh&9~^!E zG4SVhSmW{TEsA0vpue|f&-pq|=`?9_79xoT7r_}H-2d-*@}%dfci?SsVqkmWFZAWy z?O&M7{q==?wT{)w93x$gtj7ARr^kTnt4oq2h_@p?W*DE{)+*U>XWs3z|GKx$d^g(V zwFm6pK^9BPBicA$Sf2+XX$5tf(dg;VT@W5xlF}fo0JWGZ1!U4+&R4S5u@=H|X2yqgH|Elk=LlU#DMS3$$Aw0QFldJOi~bN6Y2!uPajXgCd9G!YG@J zubgn{_DQ$Ox3=DB^b4P|+8LVP~f%pi6AztAh4y=TF3JJ`Z}3JDFw!5!4w+!ncQ=p|UqcHD=X1qy-Y-CVXCGH$nH4bqz3Cs zy)klze_}J~5s_T+00q6WBGbnr$5vn<3MxbvRz0qzT|gmk8#k!e5-#02p^FW~)@3cm zVA0z(=(Nx~A^#*CNlzfQ$v=NeoCePZYzVaya2KQVlB>I!WAspkMDkbDeD*+F zq8bwDy+^-fcp654{u+!)ej=A{nXZK2Q_UbWPZt$q^9ei0F6pz(rJZe{7_Ft{ki2)R zlF|sXM!Giz`$`#uppJJIi~w_=`lxd<_itVGhEb(t?R>d#fy=r+F(z7aamf%2O;dRi zS8xc$m)&v0BwfkI``I&^a$QA!x61-H0H)zr4U3;m++`bwLwwgtHvFB6Xp;otxz8I+ zuQjtjZI!fS8+ zz}L^o?DBbRX=&-d`J6G&0ex77*W|Cg#zb=aSlGd%`nk=kyVtP|um;lp!rAZ5(&>1| zrpglr>T;!L^lk9$$)CVIbWC!$rak23FLS54)TD&E5qnX8Rq}}{zz7&FM_!%Rs^K6f z9%WP=D5NJPhdjqgl`PupK7Y+jP{~D#-P=u`)BjYo#m?X`63o0UKo5JMx@-{J&e}Sy zEhKIN27djbbY0576$Os~X@)E$LT)Yt;yG@n+qE0&lDd7AtSgW`$c&SoJTFF4td@tg z**bsGzgKJ0yVy;9>xuo8vm~IK^3$roXC!vjAwp~5?JSEp-UA2!+lyB-cUL19z~9i2dH-G&z>anY3Z3{VjhTiP59`}2zHE6rGB?*}uNg6))ifpH zobo7;)-z_g^3o9K7iB#xdB$PIQC6t3&KRAn`ft>3HU1=56tK z#<4ySP>{a*2fa?WjkH&Pk}`R8_By?B#>}pKz7_x5;G^H((PpQ^Nx)ivhYU#=3-R#q z40xL_Pd}3H$pbsqI#)ddh>C;FLl6Zxh-zzd0wqlKr4K@x@qkEm@rGu5=q>?sipl7n zM~qhf+Cy2_a*o^FL-GDy~T1a>( zA#fQ)&|wyuHr$EBg)>BWD9G^&J=+Q2zEw}YU*)zIFFv z6ETs&L#G4Qis-YGK}l0V!O&p&q~LB)rutx=jVwW2H{I^Ao**>5S)z+Jv`Pt1JQ`CR ziBeZ=N$NG?Q+R=I#!4yKOw3ITMNT#!l{G2e88x5vEY)4Q&Kq*vRQ@k?B~^oJ{i$a3 zyEX;-4NzTcZZ+Xg#Qq~Qp`Oa0`nPQLk;27v>Ng*Z!m`2o*}s_038KAfhh`PXaHthz z!7j|c+9CD#*oJmV3M!Y!w$Nf?mZp)2`iVb(9BFF!hvQP7BNG#glMl>kxY~o&@q2#u zucdlNC2gJ23Ox^F(64aNs^9IXiH;+Y3iSu0&*p{k5)r+VA8s)`!nG$@{-s|D?^hC^ z9G8l#+hSnw&yEK4y&pL+uxjWzCI|c09=)Ryw(xMyrL$Axe;kEmWoY6Sto0v}Si7s& zwq^UbXoOy>fC8C?sbKL^e#&s`=tZK9C1S&~EJi7nLt{)5E5g&#JJB7YcRjT1o2||x z1uXVwHamZJ2*q!A-spu65nPB@vv=`*@bt~Wk$utD zvC%Omp4gt)wkEc1+sVY5*q9^}+qNgR?PM~szWaOi-dA<1`d0V7Ro#E|I_s>x_S)QY zl5r2pg)%Z~!f~TNNTqF}t8w-r@6h=|9bMZePoZlb6 z^*;Lf_;`Ey`Fs0$`GQ+M?cQU79n@UcY;SFMcR{?{)Sx;jwlF=$j-20hyv)kGwRm-J za&30Am=q5nYIb5Wwl}6oLl*l zjl<9)Py<%sl5@Xu)cSrd+H0f;lSSkzHQE=Ned7b&%A{yjXD2_t?5OzbYl>K_);J?P zxWNIx3nzwc-fD=xZ_KmA=_m0kurjk_hsK7q_K?EdT;<4GZY-r}P=`NN9PMazr8`(Z z>dH(=Ocz5dGs{%7kZ@h<5`BH?i8(0VLyXcm4VRznG9!IR2nnV}=nsp#vg^~(n{@{v zFx8y>&Mrya?vs810j1wLZ*8 zgg;&-*np#hQQnyM5yD4CWlOem>ikuCWlOqyQ>W34tpJxn6uq1{&Ujs$aidD48bac; zv#k|p6ML3^<`n%@F^hW<+zsAiiq`Zi$xU;?`yN}m!2)qgT0h@dhc%qS{-(}>=jh8 z(fh+gWA|os_)dBOt<@pr@ItX?dH|(AI=k;~>e}GRvWcJZ`xo9P1iivKJB_ie2N5!} zbHs)#pr4g>yGpr`q)&?-cJc)E`i6lQjp>|j>>r;nV5}@HMvw61WOQsnfS^Eyp~(&e z7A3>A(zc0_Vtm36ehTva$K!t$wZE9%|I&gD?niB@0*~teg!exic4{+MnfD#$`@4V! zw5|VH^ZC&dvHtQg{c^Q*Hv56irS<6PbMNZ0`MbbUH=E$fwh~xGSN7i($Vrg1=tb4vJo1ok)rZ51pL!*xwA; zV6=QCO?m6ngZV&%I1eY?rDjKul_*Sbgo1#PBu&s{4;LeuqgF%s5i_!v!0h>$78eK9 z0Q_HKLi-~%3E(5B3~Qm-VdBO1cchSzg2MZCAS#X7F~fsMnVF#g#!tEf#U3m&$Xo`+ z1FiVgn8uSmB<4C9j-d!9-ehB+8QJ>KmohQ*s$VF;7=2fTNPLnMAsrVlzU(JUEbVl< z{t1zWWKM`tM4yRz25hJV#eA6|(j&{%TCTL;Ol@!(TCZEzC@G%5E;3kMNuK%HS1oq6 z(mEo=3z6`80~~_GEYp=l{lRoNqr}2XnP3fBWMtN&fr}MK#9&FTSyFe$z$`9E+nOd4fSW3?8uvB)0q_ z`X^6R>-s}U9`D;Y{WqqV32`|`5C;FKGzx+v-Lqx{*fD6Qmr8+ji-F9W!n7vkAQ7}d zRw*0lj-Z4hFgGUI4h{E>_-b!p10uZ?=LoCM&p6Z|1}<_}7@m(_R1B+3eVHi%-QG>C zR%mPLixjY1Kiu>~J$?mQ+=qtZ=PVckTDw;|kA-=QH3is|j<H@D?}CPJQum}j~d|RJi+}5}6?%4|P^YQfa@%8ue_4W4# z5Z)hFC(^)R%Rpz!MlsOl&GQ||+}9BVcOIb1N*l4UTZ~hmdB8^fX5pbRp(7g>8@92g zYwktarW7}I6ryUSNOMX{p{Hu~D7U0K_Dc8MD>uyc(=lcL!FfX<$2E2TA#%WS>G5}{ z7&tPSaX%JcWzr)eLIrf_hyGk(%F+wkIFk@x;aS~DSkRA;m;m}i!XGQJBI18H^S@>S3`OXf|&>^1T-5KYo-xBHkxf2?(T+! z?cA9vc`A+Z+ttQx{$Hxj<+cQ&L8m7e33f$M`6eVsUld@5Rr+piP3u!!CvhO@*k+%B z?dCFb+S>v#=(N*;_B>|{_DFX2@bti%qDy;>ex^9>muj@?SV_jeab0&a#uk;as!0fk zWt?c<3N}fdXp#aVdwR~92jVXlyc29d*a=qS@qVuFhN|34>MwL3y2Jgc@v)_izO{c3 z#zq$9tvx($o%-Oc=sM9j>#{iO6To7i)NfzW?q1R7-v*Xe#ihd%YRfqTCX8D*P#tN| z=3Q&6CNjt&*3Z4r%e`3aV~M*PSXT$_{ZfW*=obWIu|(f)zH$uA`?JNlO=Q1L<+@`< zNX;yS^edu|#Udf8@7}z&1Xm7yduf^p#r^I!Qn+MimWCXYU~@Al%-!h}vkBOqe~5Jw z@xaFiyNU7&0&9O34m%b}e_>1vB1gMiWn75l$azI4K!Wn4_J900ORP>l$ez8#K~L@a zU3`Mzcjz8d!|!hUm(M_XN43bky`#z7zy8y4y|t%&Tlc#|P2i^$(~P15iu+^pQp>VN z?>Wy+*;Tu~-KF62bxl@_Mr=`+UdyHgRdQgJITsT6X?T zZ2-z3vCf?Tx8xhqG0`kYF3?@<(ofW$>$K?4v04^H-2Zz*V?gAE?%Vz?hsMC^SSUhH~e|li3*=QYfi-aFyZ4F#=iG&kyjBEI-IdkwTpKhM(4lSSna35n5BI6T}$VeGOUu&LFErpR4R z?(rg0&lh+`j;)g6wgu0Y%$>yq-*?Oa!NqOG`*Iq4=rPj1burBfQ2HdZO9HmN4VP%3 z`@`Obai@mN%@~{jo@4(Zw#lY(j83RqbS)9f^w)kbZ>Osz)PH&+l{%4kQSkmWG$d5e zhlBYspoF~;RuLr$I65h13L5$mX!4UlD6EuV5tx$EKwKiwKrp(d6hb_$QZGq%t`a^3 z<8f3-N@e%YOx(g$f49hWAwG-U#$m1-CoJ0XzTzMeW5f6&J~?PA?%wZl?kW%oL10Tt znBk*Cq-Xz_P2AJ@`A6x`%1A)4P@r$617pv72k!0ApdL81lzdSYIi+CuC>Bz9MzR6G z(~J)w_xQ=mslU3&5SY~pQ@>XjZamojQIVc+qfY3Zw6s5Weqc6cLL!8Uv5*K@ejCm? zhB2RS3XYUaFTZYj7NUzkm@y9VrSMmToqMaUAn+&C0xVNG7i#Vrh&C?eVa}$U z#OdRn(b6~xk&&y;$~L6-OcXh6T1<{9>Tr{X?+th}u5;YU&QrfO8>~EN%WtY&Ng2mJ@dUJdNm&Ul;f&<4b7G>LCG+XG!Ht(P zS)50tV#tB8GA|yp3e%hhJPU542^e|!Yez=YTp2DIz$wG06~{|w^=V96&zZBKHG0j6 zofEYY-HP0l91$ka)ky9N442@Y0uWAL_HHA5J7@Z3kr}H z=#dj-%9p-D40ibf^+hC>yph$dtv5E&{}s|XN$kCPdk;6}`86?S*K`Ez^z|DF_FgU* zfmFRkpyqku>0se<*sS#`_!)m~U_e~WID@}9|1xyiH+=-;-@N?o-&*p1-}`s?pYrtZ z(e5-~)>QU#cKh&4xl2<=n}7vBK?$yS9}xx|maDY`5wj8lN%n1}?LiX!_PFOwq3H&w zD4>3I>oSvco`QVu|MG=q1D{ zcz%OImNZPHCP0W4Ed&U5AtJ>49Q^wn^m$-Di6bAn{4jc%Cu^)w0h*K;5=^uhs1BDl zQRpi=H5UO2xTJ8$C>ML4yvCR}@;gG63O&w))UzB~#CXXrt|uQa?rpiIK<$)E1jdpNajgt zEX@xS=gyLNT-@D5-QO93_DeNW+9d@AM4w=rrKK;hmf(<^rA6MaWB!C3TtcW{GK{_s z6p^kSSazUas+j0mSE`0N{bpw5SSsp!eU%1hpeQSWX<85x94aOA!4zvjx=u38F|Je% zb@@?i&$9Hj@7XjoFc^-0tSPt$4GVtqBRnNA7$MLD9O`1I-G?PtKc?m}ji)w&K7zSOUG%{rc>=CCkj#P5fLa7!`k&Xaqo#b9yDjsKoFQ zU8coYt_z*1N#|6h-$PpoFcL{Zx|s7oXITBdWS&AXNRdh(`Y9TLH#fT<`mUN$@ibCD z1Y~676(1Ys-YbhU(NtB0@gLy+FcOWAiE{^@e@kh=IZp&>yMe^=QcjXVT>zmDy?-$7 zgkV=u1Bigah0rKDUdHjPL+T6WnpNy`4t zc1Wlnxy~t5uz&crxV5M1c6>f{+R_nSc#5a_;b(n&eY-A(&od`<-yeF!8l;|uVowXUFvxoI#LaC zqBWvEMCNjTD3FWp|LE217feM;pCfeFjbyUA4Gt8FdK4aE($8A7y zITk^cZ8Gl9q9qmKEJdioX)PqfCS}FLB2GtUBW@ZJBT#sjfqMeD8!2JDB^L=)1!p*^ z0salZwXrGLK5=vh44|S5nC4EjPO#Xleal2n2R?G1sk)}*Sj>Z6FX=jY|L|OPXPu1;lia3{H(j`w<<^vA3-ICKMfOpp=tZUQSGGcRLBb?uXVLQ-cwxpK&fA_NS zvUc#hazvDpApnYIq28UUf?ERXdRlpODM>+Ue{vC40kTfT8~tj-cK&nn%K6mP=E~9p zyR}d!PhhJu+m1=iBh`j?0yrwNBZ1vcpB-*Vyc>SuD&^g<2fyvnK+!(Q`d@*Oy4wG znp^<iSIj&vJIr`A-4$KN9#%{=^aS{{^^_A6+vepF=q^qJ z;rJ*XEx=kE!i;a3dOe4MTgn&p?d;JQE&lGTwS26YljlE7veU!tq@e*+NE4WHdJqRc zF@^>{g$+Jlh{q{}-j9Xe;*DW0$r`qadPzyk9uEFWCb!z%1|PAY2lp4jnG!%p3=Z(@ z0*4YJ@m@ew1M-TNcH?zF62k)!2L)q7e38@|^$v)CJhNf0!G{R%D8V5i1c{I;;X?7% zispk1;~+rjabiNdj&Mk8&_V7ZhI$}!sJL*_S!SsEFEGz@tGDyVaXtQ5Z{?6n;C;Ob zV(ht5MSp&<;|Ilv=L0){6!i|>yfiuXPYKc;7C2mdm_9N?S9Hfy`lI?m-PDwsq`w*H zj8$pk#>vXA1fjB`vTdgDY1F&u|C}G50zDfI^3zz@jiV&Q@DkX<7ccq*Uh$VcNgd9;uD)&3_n|82y&0ZoWMVBM7aRXO(4@5%9Vf*o z#JJKR=Jp4RKN=6u1i#$5>ciqy0EG|+}UQ~mDFO4 zL7(pPE5hm--1yf|7)E53z~lFo80@sgT^DZ=|3J;B@4YTJ82D1+kmc-BG^i>r+A65s^G_)0hwB58B=A(o6>Nf}JLb{+a zqHIhBb+kEZ$buob?4mICPfMn#I-M`69hf$$ z32OScuK0BbynZ-7zZZP?2RwUwJbQ0@2DCpvJUqRh-#tDax1^1fj&vLY^WB$6B1W>Z z)+de@hZYZ47Z0V2+&#UzU7R}o>pNUqwYW9&1UAxnHp{cGrwA)?)Q^qtN_t(Fa-tO} zgH4=1r6vWFZsLE1{IVU*j#o%QZ!S+U;XJQC;A^m2cI{_Lc2%Fddd~I`IL=YvQrS|T z5UR-z*-h+dEuI!2@>d(eQ+0wllnY6LSsO6HuU@2f2VfqV48Zt893II7!&q%@^QnkQ z!*s4M%<@BaL!(eq1M^k1d(M;EF>-+4#lVb4oGJ~WyGq8jZii7!e)Yyt_G{aXCXIcD zf|do_gUpiF7*DBcvva?8jQr8pRNq0B7=={hX5G=Ghpcg@b&)N>JjBW4U01R zBI~O3>C#?qvB=P{9D*dAz2?)HiWKY38H$VN^d?XXLrQQK;^~lcYqs-ugrJg)r#V+& zC!S`YS1W76o)Nn_O*SifDE7JkMc3btv8PFGORwVX_iE1K>N|42>Yk_1v!~57P}#Kg zxcqBb;a%IUsUXgek&)oijk~Q)Ph>wySUJEu+86-gt zxgXfk+Z^g+gd42*c^WwI8y!)anhPAfWcLq0W?_PO8UhzWoe(1cEUTWFZxf22QNeB@ zM({Uw71`+&Xnzlk6Ll$f|J4qX?Ott7|9{KNuhbuBL#tQ`w^jUGoCZYpc~{lfnQpZl z5OVSWfM=!Q00Xc-AKsg^1h+S}t8xhiHosL^M67?A7=h)Tnn0|zzWnWu;(z1T<-Pv0 z%<$w@Z7l?Ud$t$6d+ez2+7IO967#Mi1_bx$ir4MB#~Aie6N`s&b=ra?wUY zF8)H&0A%AoT#s?aoV$NhUN80goq?$*^E+?vfe_lhO0r1jqqE@FlS0vWCoGU(IeQ~d zPm~!LDhr^#4+f$WEA51QGU`hGi2i-!#34}7N5$USivLB`h|KS#7J@LTKvcz5DGFYu zj+6#O6*(Fty<3Zf0|ml6Jr8S9fh~(9_;US~d{L;>L0ev~0t*anQkCHGUA+st)gEwmS)yp~o!rDDlz`>Y7(NUx7P26SX0k$!^ofVLqSRCU!9%Rgkxzf(YQItDPF~(O2JI_$*6pG zlKCUYhz?9q=Mb1#a2tksLUBt$`0R`MP|?$q}`8AWneqQk8ynMHt;tC?!yp z_TfhHY&4W+#x|8Nnr z=ZIqPF0fOA&|d&>d>-D1h9~1Tz6laNtd;_YfN7+%f#%q?UmpPV;QiG=8e&$QuNXVu zYE=+yzZc$dTX3=`A;zcd9i66NxrQCzUCAtQCpRlnRFyo5(FkZMto%}q%V=!C&4DVt zW(~SMEjB5~)nyDzlTFMC+xT!Uz;w}sJ+vkjmlBl%V&t+38}VqpwvD;j0XzFq=RDpw zpf^+##evZ@^;h9M-nA|ZlKnly47mnf#{Ki#l8Tj2TW6c5b{<{j_rK>ZVV8$iwK98# zE=~a^Mh<@6-=903+dE*)BXz!8o-c;npUSP6aUPLfb^SaIXs)R`XETez^I&di3{sX?*Cx+Rme>uE)jC*U`m&fp4{j*xn%L0-|bw z;ijqyeL&+lf&^rs5&y*k765c{jPE30XDf63p!Uuu?y`oN0^FM20+8R{9_~M2Y&9W+ zaBT_wEf=<~sy{#eKDm1!>#qed3~5-5^j2=xd~u7NFPhj7ks;;fW~JVDIq^gyjNes~ z?y?O}S^j!d56zE68Zl(S<|w5(G7~^*th^J*79wIgPxD4Z883fae_~8(P@Zt>MUbJ^ z+0*k1bR-GK3kE&q0Ru~X=veC-y5J#h0sY0L!W}t=hyAw&(3jNIV3J_3(?A#~x={%b z_A7SlQpLw9iOYYM0q2&ej$y*CFpF!}Fc-T=heNkTPcBv$m0$pa7__oxhB2F+JC?%qf%8Y3*0O0v-JPk;%raxm=YN-a9Z<-p)V zdMJ!$jI1TI69?^D1QH#{h?|vOQXF%o44wG;E9K&WnjpoZqI8)Q3p6RYIBZ}Rx0q6J z%qR=sGpQaN!qOCSmeYZU<}4U2R!fh8$y-K~g*p2NGI0<6j%PN7G#hZZW&p){+t20W z72Lr*ol97th^#UWgZ^Y}mI7|m{u5W1>ExA@bYT^R0kzo4mx1KgNU(l(Se|*-0}nVwKeR_^5XLA@N#L^HIv77 zt^?pf-zKWr&b9C95_r2jzXKfT0X{yyUhQo?Rok34-!yQhUbKq*0oSj!I%~hn4 z#oguE?Aqw85T|RVYU1$Ob)9p zA!rEhff}UkPjz;6<~)R=>74Vf*S(qfb@?1wo?WX}{}2}JQ+J|A?P<;ym&(Go+FsV6 zQD5DbZ6R=-GXZ`Y*XqM{`AvR^5Yg-NMb6fOw5ub1Gk2ykrAWGFjFm+BZzKe*E<^E3 zI3~^KlWt!RI~GiaC*^sD3~%XN^$-nMWLl|-OW4jF=AR$UTlkDxc{6tOm_j65+Vpml zSWCwUU+#u-ey$Ewl@!_KYhD_Pr@vrL$I+QPlH`lTl&{Mt{rL}?X>?aRV zfwrL*9AGIl9|0plP?mlva?*hzTr(J4Rq0+;>0ec;d#HbY1=TD*aMqx>JH(+nfRhN6 z5nr+^J_aT=HN2nQUYSk6!^ke#TT`{9l>$f(2FknQU;?@)mZpKiOTGoNWop?bFcATl zYX>~=>7)I2E^`ZPBttj?*B6E7znDqXDjHtLv}%86xQF`9#zz`4W-;$`f=R#kX>{GyfiAn?wtej~tiP#eMsl1jEQUD* z1|t_pjS$66A`L#q4GXC(oTOFpdtmE$%V)aH;5crq(s*_8{G#J}vui{%;2*(t8R7L;I-K|$1Eco@M@$4vuaiV45Okv{dN{qV|Tk=3Y3j8Zo2}U95?%*c z00=Yy8~nTrc*{$}S*@6GA#tw)AFTHC@_M_RSZB)9?=3`TR>p*VrrHvEjuNkT^xY=cAJ)8thMo4S9Vj zEacti4@;JCJGXwnkIFCTcVRhj{f_=wBJ_sZu=vr+x4dd{PF;T;)Y^arn+sKt8b}%3 z;dFh!9~XwR6#^Uq)F5IbN!@}em6X_9)g*;5`kXr+gZj3$Qa?T52MJeS{qp~MT;K9v zL86A{8-lEPP@`J6@y5VF;Bc<2OI^xj-y;C@B^eKFq-5}f+ntk+ybMSSs?nE zD2*dh0FP_=ZDxit`5?zMPTjRa+%7n zsSCfdYApxNn?@Vy+3Dfqe!iz-6^QcgZ6`{gm?ef}{Hb2(;keQ#cB=ewVZB=(<)G}W znA%!Odo_kWQfQimMcJOs@P`1D%&U^tEfQU2Z{^dD$<#D634{ zOme)EPj16E=PhT6fn>c0bYenAv*24fF2n)=)g zY$O=G$7LkQI;C(+G=*+ara9y~R5Z;rnRZbq5Ow~z9p3_1js}`v4A*_1w!qGmLIsH^ zvM2*pc;2ba93sIqOT-8LlzB-trB={)mYz>Ih@5{$E4l1gqlioiR|DlsK9V>{Tmkig z5$hfli3!P?#{$kZp^Z3=fhzx%Uz6%I8b$9XsZ13O1@v(t`;OE=v>9Jz(NRPkQ^X2if zLD1jWk+jlb(F$jcp6-gD*VZK+-nZTQo@Ix`)@`q6W<@F8-AD$My0?L=0nOL!4lBqu zr7u7;WtiUOL7YT=#m|c>#bz7&BZi1^wvaWG*_W#Jd_OwF^}jkTouye@7<&1!{Z7k9 z8*aGum#s+n`$zrZy7XVnkysKT+0!G#GO<{M!aTLsYEu5ukar$h1)1wNlHxcp#5z<^ zx~EdW+RP76LBH-IzzqsSPn-Q&LDkT;JA)=&v0DiChgU*JS#?h$^5Zm=X^jtFvda@c z=5X+w1m;40sXZ^O&Pn%SI$J|r;oLNjoo_v3t$MC%k97HV#U0}lS6CgA?>ACyz+p#6 zFp^nz$9(xsPona$@s(#^`gKZSU^vL!-pkywGmmdnj7i}p-px6}Y13glwl%(x$ZynZ zr{U7GN@z`D!6h3dhw|;HY$O3G+q5XI+3Ja&PyjOMiR_9yzMaiTgYsfrVnbt$#4w>X zGL3OB%$7dy2Uh*WnxbB(G@CHTc-BUx+R)QeT zY-Dw&fqUJ`L|Jy{F$qSk9+@RZ47)@wl<|QUoG~7_!J#)3K<^v>CZpl;?Rms~bj|Lz za7#V7&#UZb-{>wU==f?)Z;Axu!8h0gyH|6yJMC)?E9vWR8FXYwlH5ut_;xq{?ogv> zm=BfSu+&boDEmC34c)o3`|vBXM=tEGV{LI3ygN{w*pMyU^I{hK<6tzwR+o4c6VnN|K_*f%ZG1fB~VWxeSRG?HSvIu zZ}=a;TW_RhHJuOJwW*B%bjC51+!SqCvThL)Y(A^fF41NT6!OiLf#S3O>6<7)R=BIg zPOwr4IllyliwQ9Y3E}i5>=QAl6*;o!4z;sI(RbP6Hb>!&7-~=9lAx9QQNZ@8qlu3m zLb5+exPrwK+_LOsfvbn9`n5>vjnK#=uvNA5kr31~^YaxIoJC0u_WUx)_pSVOq{r{+ z#zaFA2MR`*WY^M?sk0Oj;xeef2n?YmD=+99;s1QnLTj`KG5P$ zBtXhyFd5SQ%C%AiVM0dpD{=@SF;vDoQkou2_%L6MSX{}1#7XOE#IQ4Z$@VqL>9azO zl4tp7oAZLMEq0*j-{A6CX^dxL?+%muSK&YY!NEf9Ej|aiJ@32}8k*F7YVuz3Xd`K< zi%?m=R$mBlG*;kp0clV6GLR$DXbr5kYEKVl7GF%T@Bh@*8!#OcGC5DlzCUmzN`Av% z!GCm!_2C?}s0b;Q^_?eMXP)6xcD}Ig)|+ZzbWuoM!3JCshM9**4cT5~7J0N>>J-b} zgDzz+*|goNi`Odm9jQ;%B?4(l=PI>1(UT2cnRclVp(zXrIniqI!AHtU{0Q|r3hs;v z7pzHcnWk9<*;8{lceXQRGo>eYG+z49GhL%@ldM(qDf2XQr6cJpfMm_t0` z%?e41C4nw2Q$-66c$qG#SD7Z>*qXV}%@#q2xfbomc+*<=`KQgwD*~dm@)*;m_tE3#|RO+NH6h)9ZZD}cEYqE`kJkv zq(HHN0l&znz!?c2Xl4xOvyuzh%a1g|XpLeV zhHPN;Rei-ELvu>B=I@^hJ9-#D%uElV&ef&xN0{4Jvb|kq!(lE^@}ne8N0F)Fh*L^E zhs<_r{ln4Azj4xu%)vS~V&@A{mq1u=8`O=osnY^{Thkqqg zg9ZZNO=5ZaR|bKWIWiUMwwu^%za4iA)LVfupB355vSV2jj*O?$(260`UrWV3oXa@v zCxF>>56c!0jjBHQr@89&J&fE7@`Mg!az2QqV4#}TDVuIpyWU@jYt14Lm-&9YrrU9C zD02d$;}($}C|$phCz^d7wAyJg#>M_AqqwL4KyP4aAPe`lHgwZ&Wu;M)ewI!4y{~lC z6DU-Tvtv@cs8S%Zwm`~4r1FuC+y5T#H4xB_S8MOZ@P)Bx*hK#^$F^PmT%orX-1mZa z^Q($_1m(WK~gMEDW6VO5znG7H#YhM{m{UDC@uP{I&j zr?lQ

    -EZIxg6MwS$&Fe9 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 diff --git a/docs/static/img/usage/header.png b/docs/static/img/usage/header.png index 0115f6e5882f1bcddbc69f0148c069eafd0690c9..74459b6aa76a36e07810cd34d3007fac05791922 100644 GIT binary patch literal 48886 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�* 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 literal 27618 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≪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 z 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