commit a355dccd45b5eb1748fed989e00d478e84a7d876 Author: Галингер Р.С. Date: Tue Jul 7 17:55:52 2026 +0700 Initial commit: MIB bot diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a823796 --- /dev/null +++ b/.gitignore @@ -0,0 +1,14 @@ +.env +env-org +venv/ +.venv/ +__pycache__/ +*.pyc +bot_database.db +tmp/ +gitea-mcp +.idea/ +*.zip +*.tar.gz +downloads/ +img/ diff --git a/README.md b/README.md new file mode 100644 index 0000000..674da7b --- /dev/null +++ b/README.md @@ -0,0 +1,150 @@ +# 🤖 Telegram Multi-Tool Bot + +![Python](https://img.shields.io/badge/Python-3.10+-blue) +![aiogram](https://img.shields.io/badge/aiogram-3.x-green) +![License](https://img.shields.io/badge/license-MIT-lightgrey) + +Многофункциональный Telegram-бот на базе **aiogram 3**, который умеет: + +- 🌤️ Показывать погоду +- 📥 Скачивать файлы с Яндекс.Диска +- 🎤 Распознавать голосовые сообщения (Yandex SpeechKit) +- 🔄 Восстанавливать раскладку клавиатуры +- 🚫 Защищать чат от спама +- 🗂️ Кешировать файлы через SQLite + +--- + +## 🚀 Возможности + +### 📌 Команды + +| Команда | Описание | +|--------------|--------| +| `/start` | Приветствие | +| `/help` | Информация о боте | +| `/get_id` | Узнать свой ID | +| `/weather` | Погода (`/weather Москва`) | +| `/ydf` | Скачать файл с Яндекс.Диска | +| `/res` | Восстановить раскладку | +| `/info_ban` | Информация о бане | + +--- + +## ⚙️ Установка + +```bash +git clone +cd bot +pip install -r requirements.txt +``` + +--- + +## 🔐 Настройка + +Создай `.env`: + +```bash +cp .env.example .env +``` + +Заполни: + +```env +BOT_TOKEN=your_bot_token + +YSK_API_KEY=your_yandex_speechkit_key +API_WEATHER=your_openweather_key + +ACCESS_KEY=your_s3_access_key +SECRET_KEY=your_s3_secret_key +BUCKET_NAME=your_bucket + +PROXY_URL=socks5://login:password@host:port + +DB_PATH=bot_database.db +``` + +--- + +## 🌐 Прокси + +Поддерживаются: + +- HTTP +- SOCKS5 (рекомендуется) + +Пример: + +```env +PROXY_URL=socks5://user:pass@127.0.0.1:1080 +``` + +--- + +## ▶️ Запуск + +```bash +python main.py +``` + +--- + +## 🗂️ Структура проекта + +``` +. +├── main.py +├── config.py +├── database.py +├── functions.py +├── antispam.py +├── download_files.py +├── yandex_cloud_sk.py +├── switching_en_ru.py +├── requirements.txt +├── .env.example +``` + +--- + +## 🎤 SpeechKit + +Используется библиотека: + +``` +yandex-speechkit +``` + +--- + +## 🛡️ Безопасность + +- ❌ Не коммить `.env` +- 🔑 Перевыпускай ключи при утечке +- 🔒 Храни секреты только в окружении + +--- + +## ⚡ Особенности + +- Асинхронный код +- Поддержка прокси +- Безопасная обработка голосовых +- Кеширование файлов +- SQLite база данных + +--- + +## 📈 Планы + +- Redis +- Docker +- Web UI + +--- + +## 👨‍💻 Автор + +Сделано с ❤️ diff --git a/antispam.py b/antispam.py new file mode 100755 index 0000000..ffb4ab9 --- /dev/null +++ b/antispam.py @@ -0,0 +1,125 @@ +import logging +import time + +from aiogram.exceptions import TelegramBadRequest + +from config import bot +from database import get_user_data, get_user_data_ban, save_user_data, save_user_data_ban + +logger = logging.getLogger("antispam") + +STICKER_LIMIT = 15 +STICKER_WINDOW_SECONDS = 60 +STICKER_BAN_SECONDS = 300 + +COMMAND_WARNING_AT = 3 +COMMAND_MUTE_AT = 5 +COMMAND_WINDOW_SECONDS = 60 +COMMAND_MUTE_SECONDS = 600 + + +async def anti_DuDo(user_id: int, message, now: float) -> None: + chat_id = message.chat.id + username = message.from_user.username or message.from_user.full_name + user_info = get_user_data(user_id, chat_id) + + if not user_info: + save_user_data( + user_id=user_id, + chat_id=chat_id, + count=0, + start_time=now, + ban_trigger=False, + ban_time=0, + username=username, + ) + user_info = get_user_data(user_id, chat_id) + + count = user_info[2] + start_time = user_info[3] + ban_trigger = bool(user_info[4]) + ban_time = user_info[5] + + if username != user_info[6]: + save_user_data(user_id, chat_id, username=username) + + if ban_trigger: + if now - ban_time >= STICKER_BAN_SECONDS: + save_user_data( + user_id, + chat_id, + count=0, + start_time=now, + ban_trigger=False, + ban_time=0, + username=username, + ) + await bot.send_message(chat_id, f"Надеюсь, {username}, твое злобное дудо остыло...") + ban_trigger = False + count = 0 + else: + try: + await message.delete() + except TelegramBadRequest: + pass + return + + if now - start_time >= STICKER_WINDOW_SECONDS: + count = 0 + start_time = now + + count += 1 + save_user_data(user_id, chat_id, count=count, start_time=start_time, username=username) + + if count >= STICKER_LIMIT: + save_user_data(user_id, chat_id, ban_trigger=True, ban_time=now, username=username) + await bot.send_message( + chat_id, + ( + f"⚠️ {username}, отдохни 5 минут, лови АнтиДудо!\n\n" + "Хочешь узнать время своего бана — жми /info_ban" + ), + ) + try: + await message.delete() + except TelegramBadRequest: + pass + + +async def call_verification(user_id: int, message, command: str) -> None: + now = time.time() + chat_id = message.chat.id + username = message.from_user.username or message.from_user.full_name + + user_ban_info = get_user_data_ban(user_id, chat_id, command) + if not user_ban_info: + save_user_data_ban(user_id, chat_id, command, count=1, ban_time_inf=now) + return + + count = user_ban_info[3] + last_time = user_ban_info[4] + + if now - last_time >= COMMAND_WINDOW_SECONDS: + count = 0 + + count += 1 + save_user_data_ban(user_id, chat_id, command, count=count, ban_time_inf=now) + + if count == COMMAND_WARNING_AT: + await bot.send_message(chat_id, f"⚠️ {username}, не злоупотребляй командой /{command}") + + if count >= COMMAND_MUTE_AT: + member = await bot.get_chat_member(chat_id, user_id) + if member.status in ["administrator", "creator"]: + await bot.send_message( + chat_id, + f"❗️ {username} нельзя замутить: статус {member.status}.", + ) + return + + await bot.restrict_chat_member(chat_id, user_id, until_date=int(now + COMMAND_MUTE_SECONDS)) + await bot.send_message( + chat_id, + f"{username} был замучен на 10 минут за злоупотребление командой /{command}.", + ) + save_user_data_ban(user_id, chat_id, command, count=0, ban_time_inf=now) diff --git a/config.py b/config.py new file mode 100755 index 0000000..7e8191f --- /dev/null +++ b/config.py @@ -0,0 +1,250 @@ +import asyncio +import contextlib +import logging +import os +import re + +import aiohttp +from aiogram import Bot +from aiogram.client.session.aiohttp import AiohttpSession +from dotenv import load_dotenv + +try: + from aiohttp_socks import ProxyConnector +except ImportError: # pragma: no cover + ProxyConnector = None + +load_dotenv() + +logging.basicConfig(level=logging.INFO) +logger = logging.getLogger("config") + +BOT_TOKEN = os.getenv("BOT_TOKEN", "").strip() +YSK_API_KEY = os.getenv("YSK_API_KEY", "").strip() +API_WEATHER = os.getenv("API_WEATHER", "").strip() + +ACCESS_KEY = os.getenv("ACCESS_KEY", "").strip() +SECRET_KEY = os.getenv("SECRET_KEY", "").strip() +BUCKET_NAME = os.getenv("BUCKET_NAME", "").strip() + +DB_PATH = os.getenv("DB_PATH", "bot_database.db").strip() or "bot_database.db" + +# Можно использовать старую переменную PROXY_URL или новую PROXY_URLS. +# Примеры: +# PROXY_URL=socks5://127.0.0.1:12553 +# PROXY_URLS=socks5://127.0.0.1:12553,socks5://127.0.0.1:12554 +_PROXY_RAW = ( + os.getenv("PROXY_URLS", "").strip() + or os.getenv("PROXY_URL", "").strip() +) + + +class NetworkUnavailableError(RuntimeError): + """Нет рабочего подключения ни через прокси, ни напрямую.""" + + +def _parse_proxy_urls(raw_value: str) -> list[str]: + """Разбирает список прокси из .env. + + Поддерживаются разделители: + - запятая + - точка с запятой + - перенос строки + + Важно: AiohttpSession принимает только один proxy URL за раз, + поэтому список нужно разбирать и проверять по очереди. + """ + if not raw_value: + return [] + + items = [] + for item in re.split(r"[,;\r\n]+", raw_value): + proxy = item.strip().strip("'\"") + if proxy: + items.append(proxy) + + # Убираем дубли, но сохраняем порядок. + result = [] + seen = set() + for proxy in items: + if proxy not in seen: + result.append(proxy) + seen.add(proxy) + + return result + + +PROXY_URLS = _parse_proxy_urls(_PROXY_RAW) + +# Оставляем PROXY_URL для обратной совместимости со старым кодом. +# Но новый код должен брать именно get_active_proxy_url(). +PROXY_URL = PROXY_URLS[0] if PROXY_URLS else None + +_ACTIVE_PROXY_URL: str | None = None +_CONNECTION_READY = False + +if not BOT_TOKEN: + raise RuntimeError("BOT_TOKEN is not set. Put it into .env") + + +def _mask_proxy(proxy_url: str | None) -> str: + """Прячет логин/пароль в логах.""" + if not proxy_url: + return "напрямую" + + return re.sub( + r"(://)([^:/@\s]+):([^/@\s]+)@", + r"\1***:***@", + proxy_url, + ) + + +def _is_socks_proxy(proxy_url: str | None) -> bool: + if not proxy_url: + return False + return proxy_url.lower().startswith(("socks4://", "socks5://", "socks5h://")) + + +def get_active_proxy_url() -> str | None: + """Возвращает прокси, который реально прошёл проверку. + + Если подключение выбрано напрямую, вернёт None. + Это нужно для других модулей, которые используют aiohttp. + """ + return _ACTIVE_PROXY_URL + + +def ensure_connection_ready() -> None: + """Защита от сетевых вызовов до setup_bot_connection().""" + if not _CONNECTION_READY: + raise NetworkUnavailableError( + "Подключение к Telegram не настроено. Сначала вызовите setup_bot_connection()." + ) + + +def create_aiohttp_session(timeout: aiohttp.ClientTimeout | None = None) -> aiohttp.ClientSession: + """Создаёт aiohttp-сессию с учётом активного прокси. + + Почему так: + - aiogram.AiohttpSession умеет SOCKS-прокси сам; + - обычный aiohttp не должен получать socks5:// через параметр proxy=; + - для SOCKS в aiohttp нужен aiohttp_socks.ProxyConnector. + """ + ensure_connection_ready() + + proxy_url = get_active_proxy_url() + if not proxy_url: + return aiohttp.ClientSession(timeout=timeout) + + if _is_socks_proxy(proxy_url): + if ProxyConnector is None: + raise RuntimeError( + "Для SOCKS-прокси нужен пакет aiohttp-socks. Установите: pip install aiohttp-socks" + ) + connector = ProxyConnector.from_url(proxy_url) + return aiohttp.ClientSession(timeout=timeout, connector=connector) + + # Для HTTP/HTTPS-прокси aiohttp использует параметр proxy= в конкретном запросе. + return aiohttp.ClientSession(timeout=timeout) + + +def get_aiohttp_request_kwargs() -> dict: + """Аргументы для session.get/post у обычного aiohttp. + + SOCKS-прокси уже встроен в connector внутри create_aiohttp_session(), + поэтому proxy= для socks5:// здесь не передаём. + """ + proxy_url = get_active_proxy_url() + if proxy_url and not _is_socks_proxy(proxy_url): + return {"proxy": proxy_url} + return {} + + +async def _close_session_safely(session: AiohttpSession | None) -> None: + if session is None: + return + + with contextlib.suppress(Exception): + await session.close() + + +async def _build_checked_session(proxy_url: str | None) -> AiohttpSession: + """Создаёт сессию и проверяет связь с Telegram методом get_me().""" + session = AiohttpSession(proxy=proxy_url) if proxy_url else AiohttpSession() + test_bot = Bot(token=BOT_TOKEN, session=session) + + try: + await test_bot.get_me() + except Exception: + await _close_session_safely(session) + raise + + return session + + +async def setup_bot_connection() -> bool: + """Подбирает рабочее подключение для bot. + + Алгоритм: + 1. Проверить все прокси из .env по очереди. + 2. Если ни один не подошёл — попробовать прямое подключение. + 3. Если прямое подключение тоже не работает — вернуть False. + + Функция не бросает исключение наружу из-за нерабочей сети/прокси. + main.py сможет аккуратно завершить работу без traceback. + """ + global _ACTIVE_PROXY_URL, _CONNECTION_READY + + _CONNECTION_READY = False + + for proxy_url in PROXY_URLS: + shown_proxy = _mask_proxy(proxy_url) + logger.info("Пробую подключиться через прокси %s", shown_proxy) + + try: + checked_session = await _build_checked_session(proxy_url) + except Exception as exc: + logger.warning( + "Связь через прокси %s не удалась: %s. Пробую следующий вариант подключения.", + shown_proxy, + exc, + ) + continue + + old_session = bot.session + bot.session = checked_session + await _close_session_safely(old_session) + + _ACTIVE_PROXY_URL = proxy_url + _CONNECTION_READY = True + logger.info("Подключение через прокси %s успешно.", shown_proxy) + return True + + if PROXY_URLS: + logger.warning("Ни один прокси не помог. Пробую подключиться напрямую.") + else: + logger.info("Прокси не указаны. Пробую подключиться напрямую.") + + try: + checked_session = await _build_checked_session(None) + except Exception as exc: + _ACTIVE_PROXY_URL = None + _CONNECTION_READY = False + logger.error("Прямое подключение не удалось: %s", exc) + logger.error("Нет возможности соединиться с Telegram. Завершаю работу.") + return False + + old_session = bot.session + bot.session = checked_session + await _close_session_safely(old_session) + + _ACTIVE_PROXY_URL = None + _CONNECTION_READY = True + logger.info("Прямое подключение успешно.") + return True + + +# Важно: не создаём AiohttpSession(proxy=PROXY_URL) на импорте. +# Если PROXY_URL кривой, программа должна не падать при импорте, +# а аккуратно проверить все варианты в setup_bot_connection(). +bot = Bot(token=BOT_TOKEN, session=AiohttpSession()) diff --git a/database.py b/database.py new file mode 100755 index 0000000..64d06aa --- /dev/null +++ b/database.py @@ -0,0 +1,222 @@ +import logging +import sqlite3 +from contextlib import closing + +from config import DB_PATH + +logging.basicConfig(level=logging.INFO) +logger = logging.getLogger("database") + + +def create_connection() -> sqlite3.Connection: + conn = sqlite3.connect(DB_PATH) + conn.row_factory = sqlite3.Row + return conn + + +def create_tables() -> None: + with closing(create_connection()) as conn: + cursor = conn.cursor() + + cursor.execute( + ''' + CREATE TABLE IF NOT EXISTS file_ids ( + file_key TEXT PRIMARY KEY, + file_id TEXT + ) + ''' + ) + + cursor.execute( + ''' + CREATE TABLE IF NOT EXISTS user_data ( + user_id INTEGER, + chat_id INTEGER, + count INTEGER NOT NULL DEFAULT 0, + start_time REAL NOT NULL DEFAULT 0, + ban_trigger INTEGER NOT NULL DEFAULT 0, + ban_time REAL NOT NULL DEFAULT 0, + username TEXT, + PRIMARY KEY (user_id, chat_id) + ) + ''' + ) + + cursor.execute( + ''' + CREATE TABLE IF NOT EXISTS user_data_ban ( + user_id INTEGER, + chat_id INTEGER, + command TEXT, + count INTEGER NOT NULL DEFAULT 0, + ban_time_inf REAL NOT NULL DEFAULT 0, + PRIMARY KEY (user_id, chat_id, command) + ) + ''' + ) + + conn.commit() + + +def get_file_id(file_key: str) -> str | None: + try: + with closing(create_connection()) as conn: + cursor = conn.cursor() + cursor.execute("SELECT file_id FROM file_ids WHERE file_key = ?", (file_key,)) + row = cursor.fetchone() + return row["file_id"] if row and row["file_id"] else None + except Exception as exc: + logger.error("Ошибка при получении file_id: %s", exc) + return None + + +def save_file_id(file_key: str, file_id: str | None) -> None: + try: + with closing(create_connection()) as conn: + cursor = conn.cursor() + if file_id is None: + cursor.execute("DELETE FROM file_ids WHERE file_key = ?", (file_key,)) + else: + cursor.execute( + "REPLACE INTO file_ids (file_key, file_id) VALUES (?, ?)", + (file_key, file_id), + ) + conn.commit() + except Exception as exc: + logger.error("Ошибка при сохранении file_id: %s", exc) + + +def get_user_data(user_id: int, chat_id: int): + try: + with closing(create_connection()) as conn: + cursor = conn.cursor() + cursor.execute( + "SELECT * FROM user_data WHERE user_id = ? AND chat_id = ?", + (user_id, chat_id), + ) + row = cursor.fetchone() + return tuple(row) if row else None + except Exception as exc: + logger.error("Ошибка при получении данных пользователя: %s", exc) + return None + + +def save_user_data( + user_id: int, + chat_id: int, + count: int | None = None, + start_time: float | None = None, + ban_trigger: bool | None = None, + ban_time: float | None = None, + username: str | None = None, +) -> None: + try: + with closing(create_connection()) as conn: + cursor = conn.cursor() + existing = get_user_data(user_id, chat_id) + + if existing is None: + cursor.execute( + ''' + INSERT INTO user_data (user_id, chat_id, count, start_time, ban_trigger, ban_time, username) + VALUES (?, ?, ?, ?, ?, ?, ?) + ''', + ( + user_id, + chat_id, + count or 0, + start_time or 0, + int(bool(ban_trigger)) if ban_trigger is not None else 0, + ban_time or 0, + username, + ), + ) + else: + updates = [] + params = [] + if count is not None: + updates.append("count = ?") + params.append(count) + if start_time is not None: + updates.append("start_time = ?") + params.append(start_time) + if ban_trigger is not None: + updates.append("ban_trigger = ?") + params.append(int(bool(ban_trigger))) + if ban_time is not None: + updates.append("ban_time = ?") + params.append(ban_time) + if username is not None: + updates.append("username = ?") + params.append(username) + + if updates: + params.extend([user_id, chat_id]) + cursor.execute( + f"UPDATE user_data SET {', '.join(updates)} WHERE user_id = ? AND chat_id = ?", + params, + ) + + conn.commit() + except Exception as exc: + logger.error("Ошибка при сохранении данных пользователя: %s", exc) + + +def get_user_data_ban(user_id: int, chat_id: int, command: str): + try: + with closing(create_connection()) as conn: + cursor = conn.cursor() + cursor.execute( + "SELECT * FROM user_data_ban WHERE user_id = ? AND chat_id = ? AND command = ?", + (user_id, chat_id, command), + ) + row = cursor.fetchone() + return tuple(row) if row else None + except Exception as exc: + logger.error("Ошибка при получении данных о блокировке пользователя: %s", exc) + return None + + +def save_user_data_ban( + user_id: int, + chat_id: int, + command: str, + count: int | None = None, + ban_time_inf: float | None = None, +) -> None: + try: + with closing(create_connection()) as conn: + cursor = conn.cursor() + existing = get_user_data_ban(user_id, chat_id, command) + + if existing is None: + cursor.execute( + ''' + INSERT INTO user_data_ban (user_id, chat_id, command, count, ban_time_inf) + VALUES (?, ?, ?, ?, ?) + ''', + (user_id, chat_id, command, count or 0, ban_time_inf or 0), + ) + else: + updates = [] + params = [] + if count is not None: + updates.append("count = ?") + params.append(count) + if ban_time_inf is not None: + updates.append("ban_time_inf = ?") + params.append(ban_time_inf) + + if updates: + params.extend([user_id, chat_id, command]) + cursor.execute( + f"UPDATE user_data_ban SET {', '.join(updates)} WHERE user_id = ? AND chat_id = ? AND command = ?", + params, + ) + + conn.commit() + except Exception as exc: + logger.error("Ошибка при сохранении данных о блокировке пользователя: %s", exc) + + +create_tables() diff --git a/download_files.py b/download_files.py new file mode 100755 index 0000000..5f45cdb --- /dev/null +++ b/download_files.py @@ -0,0 +1,63 @@ +import os +import re +import tempfile +from pathlib import Path +from urllib.parse import urlencode, unquote + +import aiohttp + +from config import create_aiohttp_session, get_aiohttp_request_kwargs + +DOWNLOAD_DIR = Path("downloads") +DOWNLOAD_DIR.mkdir(exist_ok=True) + + +def sanitize_filename(filename: str) -> str: + filename = os.path.basename(filename).strip() + filename = re.sub(r"[\\/:*?\"<>|]+", "_", filename) + return filename or "downloaded_file" + + +async def download_yandex_files(public_url: str, progress_callback=None) -> str: + base_url = "https://cloud-api.yandex.net/v1/disk/public/resources/download?" + final_url = base_url + urlencode({"public_key": public_url}) + + timeout = aiohttp.ClientTimeout(total=None, sock_connect=30, sock_read=300) + + async with create_aiohttp_session(timeout=timeout) as session: + request_kwargs = get_aiohttp_request_kwargs() + + async with session.get(final_url, **request_kwargs) as response: + response.raise_for_status() + payload = await response.json() + download_url = payload["href"] + + async with session.get(download_url, **request_kwargs) as response: + response.raise_for_status() + + content_disposition = response.headers.get("Content-Disposition", "") + filename = download_url.split("/")[-1] + + if "filename*" in content_disposition: + try: + encoded = content_disposition.split("filename*=")[1].strip() + parts = encoded.split("''", 1) + if len(parts) == 2: + filename = unquote(parts[1], encoding=parts[0] or "utf-8") + except Exception: + pass + + filename = sanitize_filename(filename) + suffix = Path(filename).suffix or ".bin" + + with tempfile.NamedTemporaryFile(delete=False, suffix=suffix, dir=DOWNLOAD_DIR) as tmp_file: + total_size = int(response.headers.get("Content-Length", 0)) + downloaded_size = 0 + + async for chunk in response.content.iter_chunked(1024 * 64): + tmp_file.write(chunk) + downloaded_size += len(chunk) + if progress_callback: + await progress_callback(downloaded_size, total_size) + + return tmp_file.name diff --git a/env.example b/env.example new file mode 100644 index 0000000..4e2d362 --- /dev/null +++ b/env.example @@ -0,0 +1,10 @@ +BOT_TOKEN=your_telegram_bot_token +YSK_API_KEY=your_yandex_speechkit_api_key +API_WEATHER=your_openweather_api_key +ACCESS_KEY=your_yandex_object_storage_access_key +SECRET_KEY=your_yandex_object_storage_secret_key +BUCKET_NAME=ydf-storage +PROXY_URL=http://user:password@host:port +# Примеры: +# PROXY_URL=socks5://user:password@host:port +# PROXY_URL=http://user:password@host:port diff --git a/functions.py b/functions.py new file mode 100755 index 0000000..bdf26fd --- /dev/null +++ b/functions.py @@ -0,0 +1,282 @@ +import asyncio +import logging +import os +import re +import time +from datetime import datetime +from urllib.parse import urljoin + +import aiohttp +import boto3 +from aiogram.exceptions import TelegramBadRequest, TelegramRetryAfter +from aiogram.types import FSInputFile + +from config import ACCESS_KEY, API_WEATHER, BUCKET_NAME, SECRET_KEY, bot +from database import get_file_id, get_user_data, save_file_id +from download_files import download_yandex_files + +logging.basicConfig(level=logging.INFO) +logger = logging.getLogger("functions") + + +async def send_photo_with_caption(chat_id: int, file_key: str, file_path: str, caption: str) -> None: + file_id = get_file_id(file_key) + + if file_id: + try: + await bot.send_photo(chat_id, file_id, caption=caption) + return + except Exception as exc: + logger.error("Ошибка при отправке файла по ID: %s", exc) + + try: + sent_message = await bot.send_photo(chat_id, FSInputFile(file_path), caption=caption) + save_file_id(file_key, sent_message.photo[-1].file_id) + except Exception as exc: + logger.error("Ошибка при загрузке файла: %s", exc) + + +async def info_ban_status(message) -> None: + user_id = message.from_user.id + chat_id = message.chat.id + user_info = get_user_data(user_id, chat_id) + + if not user_info or not bool(user_info[4]): + await send_photo_with_caption(chat_id, "clear_robot", "img/clear_robot.jpg", "Не переживай, ты чист и невинен!") + return + + username = user_info[6] or message.from_user.full_name + ban_until = user_info[5] + 300 + ban_until_txt = time.strftime("%d %b %Y %H:%M:%S", time.localtime(ban_until)) + await send_photo_with_caption( + chat_id, + "time_robot", + "img/time_robot.jpg", + f"{username}\nТвой бан на стикеры и гифки будет снят {ban_until_txt}", + ) + + +def escape_markdown(text: str) -> str: + return re.sub(r"([_\*\[\]\(\)~`>#\+\-=\|{}\.!])", r"\\\1", text) + + +async def edit_message_with_retry(message, text: str, **kwargs): + while True: + try: + return await message.edit_text(text, **kwargs) + except TelegramRetryAfter as exc: + logger.warning("Превышен лимит на редактирование сообщений. Жду %s сек.", exc.retry_after) + await asyncio.sleep(exc.retry_after) + except TelegramBadRequest as exc: + logger.error("Ошибка редактирования сообщения: %s", exc) + return None + + +async def send_message_with_retry(message, text: str, **kwargs) -> None: + while True: + try: + await message.answer(text, **kwargs) + return + except TelegramRetryAfter as exc: + logger.warning("Превышен лимит на отправку сообщений. Жду %s сек.", exc.retry_after) + await asyncio.sleep(exc.retry_after) + + +def get_wind_direction(deg: float) -> str: + if deg >= 337.5 or deg < 22.5: + return "Север" + if deg < 67.5: + return "Северо-восток" + if deg < 112.5: + return "Восток" + if deg < 157.5: + return "Юго-восток" + if deg < 202.5: + return "Юг" + if deg < 247.5: + return "Юго-запад" + if deg < 292.5: + return "Запад" + return "Северо-запад" + + +async def get_weather(message) -> None: + if len(message.text.split(maxsplit=1)) == 1: + await bot.send_message(message.chat.id, "Пожалуйста, укажите город.") + return + + city = message.text.split(maxsplit=1)[1].strip() + url = "https://api.openweathermap.org/data/2.5/weather" + params = {"q": city, "appid": API_WEATHER, "units": "metric", "lang": "ru"} + + timeout = aiohttp.ClientTimeout(total=30, sock_connect=15, sock_read=15) + + try: + async with aiohttp.ClientSession(timeout=timeout) as session: + async with session.get(url, params=params) as response: + if response.status == 404: + await bot.send_message(message.chat.id, "Город не найден. Пожалуйста, уточните запрос.") + return + response.raise_for_status() + weather_data = await response.json() + + weather_description = weather_data["weather"][0]["description"] + temperature = weather_data["main"]["temp"] + feels_like = weather_data["main"]["feels_like"] + temp_min = weather_data["main"]["temp_min"] + temp_max = weather_data["main"]["temp_max"] + humidity = weather_data["main"]["humidity"] + pressure = int(weather_data["main"]["pressure"] / 1.333) + wind_speed = weather_data["wind"]["speed"] + wind_deg = weather_data["wind"].get("deg", 0) + wind_direction = get_wind_direction(wind_deg) + rain_1h = weather_data.get("rain", {}).get("1h", 0) + clouds_all = weather_data["clouds"]["all"] + visibility = weather_data.get("visibility", 0) + sunrise_time = datetime.fromtimestamp(weather_data["sys"]["sunrise"]).strftime("%H:%M") + sunset_time = datetime.fromtimestamp(weather_data["sys"]["sunset"]).strftime("%H:%M") + + weather_message = ( + f"🌆 Погода в городе {city}:\n\n" + f"☁️ Описание: {weather_description}\n" + f"🌡️ Температура: {temperature}°C (ощущается как {feels_like}°C)\n" + f"📉 Минимальная температура: {temp_min}°C\n" + f"📈 Максимальная температура: {temp_max}°C\n" + f"💧 Влажность: {humidity}%\n" + f"🌬️ Давление: {pressure} мм рт.ст\n" + f"💨 Скорость ветра: {wind_speed} м/с, направление: {wind_direction}\n" + f"🌧️ Осадки за последний час: {rain_1h} мм\n" + f"☁️ Облачность: {clouds_all}%\n" + f"👁️ Видимость: {visibility} м\n" + f"🌅 Восход: {sunrise_time}, закат: {sunset_time}" + ) + await bot.send_message(message.chat.id, weather_message) + except aiohttp.ClientResponseError as exc: + logger.error("HTTP ошибка погоды: %s", exc) + await bot.send_message(message.chat.id, "При получении данных произошла ошибка, попробуйте еще раз.") + except aiohttp.ClientError as exc: + logger.error("Ошибка запроса погоды: %s", exc) + await bot.send_message(message.chat.id, "Не удалось связаться с погодным сервисом.") + except Exception as exc: + logger.exception("Неожиданная ошибка погоды: %s", exc) + await bot.send_message(message.chat.id, "Произошла ошибка при обработке погоды.") + + +def _build_s3_client(): + endpoint_url = "https://storage.yandexcloud.net" + return boto3.client( + "s3", + endpoint_url=endpoint_url, + aws_access_key_id=ACCESS_KEY, + aws_secret_access_key=SECRET_KEY, + ) + + +def is_valid_yandex_public_link(value: str) -> bool: + value = value.strip().lower() + return ( + value.startswith("https://disk.yandex.") + or value.startswith("http://disk.yandex.") + or value.startswith("https://yadi.sk/") + or value.startswith("http://yadi.sk/") + ) + + +async def download_yd(message) -> None: + text = (message.text or "").strip() + + parts = text.split(maxsplit=1) + command_part = parts[0] if parts else "" + argument = parts[1].strip() if len(parts) > 1 else "" + + command_name = command_part.split("@", 1)[0].lower() + + if command_name != "/ydf": + await message.answer("Некорректная команда.") + return + + if not argument: + await message.answer("Не указана ссылка. Используйте: /ydf [ссылка]") + return + + files_down = argument + + if files_down.startswith("(new)"): + files_down = files_down.replace("(new)", "", 1).strip() + if not files_down: + await message.answer("После (new) нужно указать ссылку: /ydf (new) [ссылка]") + return + save_file_id(files_down, None) + + if not is_valid_yandex_public_link(files_down): + await message.answer("Похоже, это не публичная ссылка Яндекс.Диска.") + return + + file_id = get_file_id(files_down) + if file_id: + await message.answer_document( + file_id, + caption="Файл отправлен из кэша Telegram. Для повторной загрузки: /ydf (new) [ссылка]", + ) + return + + initial_message = await message.answer("Найдена ссылка, начинаю загрузку") + last_message_text = "Найдена ссылка, начинаю загрузку" + + async def progress_callback(downloaded_size: int, total_size: int) -> None: + nonlocal last_message_text + if total_size <= 0: + return + + percent = int(downloaded_size / total_size * 100) + new_message_text = f"Загрузка файла: {percent}%" + if new_message_text != last_message_text and percent % 5 == 0: + await edit_message_with_retry(initial_message, new_message_text) + last_message_text = new_message_text + + try: + file_name = await download_yandex_files(files_down, progress_callback=progress_callback) + except aiohttp.ClientResponseError as exc: + if exc.status == 404: + await initial_message.edit_text("Ссылка не найдена или недоступна для скачивания.") + else: + await initial_message.edit_text(f"Ошибка загрузки: HTTP {exc.status}") + return + except aiohttp.ClientError: + await initial_message.edit_text("Ошибка сети при обращении к Яндекс.Диску.") + return + except Exception: + logger.exception("Ошибка при скачивании файла") + await initial_message.edit_text("Произошла ошибка при скачивании файла.") + return + + try: + if os.path.getsize(file_name) < 50 * 1024 * 1024: + document = FSInputFile(file_name) + response = await message.answer_document(document) + save_file_id(files_down, response.document.file_id) + else: + s3 = await asyncio.to_thread(_build_s3_client) + key_name = os.path.basename(file_name) + await asyncio.to_thread(s3.upload_file, file_name, BUCKET_NAME, key_name) + + endpoint_url = "https://storage.yandexcloud.net" + file_url = urljoin(endpoint_url, f"/{BUCKET_NAME}/{key_name}") + escaped_file_name = escape_markdown(key_name) + escaped_file_url = escape_markdown(file_url) + + await send_message_with_retry( + message, + f"Ваш файл доступен для скачивания [{escaped_file_name}]({escaped_file_url})", + parse_mode="MarkdownV2", + ) + finally: + try: + os.remove(file_name) + except OSError: + pass + + try: + await initial_message.delete() + except TelegramBadRequest: + pass diff --git a/info.txt b/info.txt new file mode 100755 index 0000000..28e3484 --- /dev/null +++ b/info.txt @@ -0,0 +1,15 @@ +Я - М.И.Б (МультиИнструмент-Бот), и я здесь, чтобы помочь тебе с твоими задачами. + +Я помогу получить твой ID пользователя. Отправь мне /get_id. + +Скачать файл с Яндекс Диска по команде /ydf. + +Могу рассказать о погоде в твоем или другом городе. Просто отправь команду /weather с названием города. + +Также, по команде /res, я могу восстановить эти (gjqltv gbnm gbdj) крокозябры в нормальные слова (пойдем пить пиво). + +Также я умею модерировать стикеры (режим АнтитДудо). Если их будет много, то я позабочусь, чтобы они вас не беспокоили. Если вдруг вы попадете под мои “лапы”, просто напишите мне /info_ban и я все тебе расскажу. + +Кроме того, я использую SpeechKit для обработки твоих голосовых сообщений. Чтобы в твоем чате все ленивые смогли прочесть сообщение и не слушать его. И вы могли лучше понять друг друга. + +Если у вас возникнут вопросы или потребуется помощь, пожалуйста, не стесняйтесь обращаться ко мне. diff --git a/main.py b/main.py new file mode 100755 index 0000000..c6c0692 --- /dev/null +++ b/main.py @@ -0,0 +1,106 @@ +import asyncio +import logging +import time + +from aiogram import Dispatcher, F, types +from aiogram.filters import Command + +from antispam import anti_DuDo, call_verification +from config import bot, setup_bot_connection +from functions import download_yd, get_weather, info_ban_status, send_photo_with_caption +from switching_en_ru import convert_layout +from yandex_cloud_sk import get_text_from_speech + +logging.basicConfig(level=logging.INFO) +logger = logging.getLogger("main") + +router = Dispatcher() + + +@router.message(Command("start")) +async def welcome_start(message: types.Message): + caption = ( + f"Приветствую тебя {message.from_user.username or message.from_user.full_name}\n" + "Для получения дополнительной информации отправь мне /help" + ) + await send_photo_with_caption(message.chat.id, "welcome_robot", "img/welcome_robot.jpeg", caption) + await call_verification(message.from_user.id, message, "start") + + +@router.message(Command("help")) +async def welcome_help(message: types.Message): + with open("info.txt", "r", encoding="utf-8") as file: + info = file.read() + await message.reply(f"Привет {message.from_user.username or message.from_user.full_name}.\n{info}") + await call_verification(message.from_user.id, message, "help") + + +@router.message(Command("get_id")) +async def get_me_id(message: types.Message): + await message.answer(f"ID пользователя: {message.from_user.id}") + await call_verification(message.from_user.id, message, "get_id") + + +@router.message(Command("weather")) +async def weather(message: types.Message): + await get_weather(message) + await call_verification(message.from_user.id, message, "weather") + + +@router.message(Command("ydf")) +async def yandex_down_files(message: types.Message): + await download_yd(message) + await call_verification(message.from_user.id, message, "ydf") + + +@router.message(Command("res")) +async def restoring_layout(message: types.Message): + if message.reply_to_message and message.reply_to_message.text: + restored_text = convert_layout(message.reply_to_message.text) + await message.answer(restored_text) + else: + await message.answer("Пожалуйста, ответьте командой /res на сообщение с текстом.") + await call_verification(message.from_user.id, message, "res") + + +@router.message(Command("info_ban")) +async def info_ban(message: types.Message): + await info_ban_status(message) + await call_verification(message.from_user.id, message, "info_ban") + + +@router.message(F.sticker | F.animation) +async def handle_sticker(message: types.Message): + user_id = message.from_user.id + now = time.time() + await anti_DuDo(user_id, message, now) + + +@router.message(F.voice) +async def handle_voice(message: types.Message): + voice: types.Voice = message.voice + voice_file = await bot.get_file(voice.file_id) + file_base_url = f"https://api.telegram.org/file/bot{bot.token}/{voice_file.file_path}" + + try: + text = await get_text_from_speech(file_base_url) + if not text: + text = "Не удалось распознать текст." + except Exception as exc: + logger.error("Ошибка при распознавании текста: %s", exc) + text = "Произошла ошибка при обработке голосового сообщения." + + await message.answer(f"{message.from_user.username or message.from_user.full_name} изрек:\n{text}") + + +async def main(): + connected = await setup_bot_connection() + if not connected: + # Завершаем работу штатно: без traceback и без падения процесса. + return + + await router.start_polling(bot) + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/mudrost.txt b/mudrost.txt new file mode 100755 index 0000000..1cda56a --- /dev/null +++ b/mudrost.txt @@ -0,0 +1,5 @@ +Кто не слушает мудрость старших, тот платит собственной глупостью! +Пренебрежение предупреждающим советом - путь к неприятностям! +Не уважие к мудрым словам - первый шаг к своей гибели! +Кто игнорирует предупреждение, тот неизбежно столкнется с неприятностями! +Подчинение мудрости - ключ к избежанию наказаний! diff --git a/opencode.json b/opencode.json new file mode 100644 index 0000000..325ea18 --- /dev/null +++ b/opencode.json @@ -0,0 +1,16 @@ +{ + "$schema": "https://opencode.ai/config.json", + "references": { + "mib-new": "." + }, + "mcp": { + "gitea": { + "type": "local", + "command": ["./gitea-mcp", "-t", "stdio", "--host", "https://git.hidosi.ru", "--token", "${GITEA_TOKEN}"], + "enabled": true + } + }, + "permission": { + "bash": { "git *": "allow", "*": "ask" } + } +} diff --git a/requirements.txt b/requirements.txt new file mode 100755 index 0000000..36462d3 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,6 @@ +aiogram>=3.4,<4.0 +aiohttp>=3.9,<4.0 +python-dotenv>=1.0,<2.0 +boto3>=1.34,<2.0 +yandex-speechkit +aiohttp-socks>=0.8,<1.0 diff --git a/strudura.md b/strudura.md new file mode 100644 index 0000000..b23ca12 --- /dev/null +++ b/strudura.md @@ -0,0 +1,7611 @@ +. +├── antispam.py +├── bot_database.db +├── bot_fixed_archive.zip +├── bot_fixed_v2_archive.zip +├── config.py +├── database.py +├── download_files.py +├── downloads +├── env.example +├── env-org +├── functions.py +├── gitignore +├── img +│   ├── blank_robot.jpg +│   ├── clear_robot.jpg +│   ├── sad_robot.jpeg +│   ├── time_robot.jpg +│   └── welcome_robot.jpeg +├── info.txt +├── main.py +├── mudrost.txt +├── __pycache__ +│   ├── antispam.cpython-311.pyc +│   ├── config.cpython-311.pyc +│   ├── database.cpython-311.pyc +│   ├── download_files.cpython-311.pyc +│   ├── functions.cpython-311.pyc +│   ├── switching_en_ru.cpython-311.pyc +│   └── yandex_cloud_sk.cpython-311.pyc +├── README.md +├── requirements.txt +├── strudura.md +├── switching_en_ru.py +├── test_genapi_nano.sh +├── venv +│   ├── bin +│   │   ├── activate +│   │   ├── activate.csh +│   │   ├── activate.fish +│   │   ├── activate.nu +│   │   ├── activate.ps1 +│   │   ├── activate_this.py +│   │   ├── dotenv +│   │   ├── jp.py +│   │   ├── normalizer +│   │   ├── pip +│   │   ├── pip3 +│   │   ├── pip-3.11 +│   │   ├── pip3.11 +│   │   ├── __pycache__ +│   │   │   └── jp.cpython-311.pyc +│   │   ├── python -> /usr/bin/python3.11 +│   │   ├── python3 -> python +│   │   ├── python3.11 -> python +│   │   ├── wheel +│   │   ├── wheel3 +│   │   ├── wheel-3.11 +│   │   └── wheel3.11 +│   ├── lib +│   │   └── python3.11 +│   │   └── site-packages +│   │   ├── 81d243bd2c585b0f4821__mypyc.cpython-311-x86_64-linux-gnu.so +│   │   ├── aiofiles +│   │   │   ├── base.py +│   │   │   ├── __init__.py +│   │   │   ├── ospath.py +│   │   │   ├── os.py +│   │   │   ├── __pycache__ +│   │   │   │   ├── base.cpython-311.pyc +│   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   ├── os.cpython-311.pyc +│   │   │   │   └── ospath.cpython-311.pyc +│   │   │   ├── tempfile +│   │   │   │   ├── __init__.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   └── temptypes.cpython-311.pyc +│   │   │   │   └── temptypes.py +│   │   │   └── threadpool +│   │   │   ├── binary.py +│   │   │   ├── __init__.py +│   │   │   ├── __pycache__ +│   │   │   │   ├── binary.cpython-311.pyc +│   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   ├── text.cpython-311.pyc +│   │   │   │   └── utils.cpython-311.pyc +│   │   │   ├── text.py +│   │   │   └── utils.py +│   │   ├── aiofiles-25.1.0.dist-info +│   │   │   ├── INSTALLER +│   │   │   ├── licenses +│   │   │   │   ├── LICENSE +│   │   │   │   └── NOTICE +│   │   │   ├── METADATA +│   │   │   ├── RECORD +│   │   │   └── WHEEL +│   │   ├── aiogram +│   │   │   ├── client +│   │   │   │   ├── bot.py +│   │   │   │   ├── context_controller.py +│   │   │   │   ├── default.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── bot.cpython-311.pyc +│   │   │   │   │   ├── context_controller.cpython-311.pyc +│   │   │   │   │   ├── default.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   └── telegram.cpython-311.pyc +│   │   │   │   ├── session +│   │   │   │   │   ├── aiohttp.py +│   │   │   │   │   ├── base.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── middlewares +│   │   │   │   │   │   ├── base.py +│   │   │   │   │   │   ├── __init__.py +│   │   │   │   │   │   ├── manager.py +│   │   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   │   ├── base.cpython-311.pyc +│   │   │   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   │   │   ├── manager.cpython-311.pyc +│   │   │   │   │   │   │   └── request_logging.cpython-311.pyc +│   │   │   │   │   │   └── request_logging.py +│   │   │   │   │   └── __pycache__ +│   │   │   │   │   ├── aiohttp.cpython-311.pyc +│   │   │   │   │   ├── base.cpython-311.pyc +│   │   │   │   │   └── __init__.cpython-311.pyc +│   │   │   │   └── telegram.py +│   │   │   ├── dispatcher +│   │   │   │   ├── dispatcher.py +│   │   │   │   ├── event +│   │   │   │   │   ├── bases.py +│   │   │   │   │   ├── event.py +│   │   │   │   │   ├── handler.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   ├── bases.cpython-311.pyc +│   │   │   │   │   │   ├── event.cpython-311.pyc +│   │   │   │   │   │   ├── handler.cpython-311.pyc +│   │   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   │   └── telegram.cpython-311.pyc +│   │   │   │   │   └── telegram.py +│   │   │   │   ├── flags.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── middlewares +│   │   │   │   │   ├── base.py +│   │   │   │   │   ├── data.py +│   │   │   │   │   ├── error.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── manager.py +│   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   ├── base.cpython-311.pyc +│   │   │   │   │   │   ├── data.cpython-311.pyc +│   │   │   │   │   │   ├── error.cpython-311.pyc +│   │   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   │   ├── manager.cpython-311.pyc +│   │   │   │   │   │   └── user_context.cpython-311.pyc +│   │   │   │   │   └── user_context.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── dispatcher.cpython-311.pyc +│   │   │   │   │   ├── flags.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   └── router.cpython-311.pyc +│   │   │   │   └── router.py +│   │   │   ├── enums +│   │   │   │   ├── bot_command_scope_type.py +│   │   │   │   ├── button_style.py +│   │   │   │   ├── chat_action.py +│   │   │   │   ├── chat_boost_source_type.py +│   │   │   │   ├── chat_member_status.py +│   │   │   │   ├── chat_type.py +│   │   │   │   ├── content_type.py +│   │   │   │   ├── currency.py +│   │   │   │   ├── dice_emoji.py +│   │   │   │   ├── encrypted_passport_element.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── inline_query_result_type.py +│   │   │   │   ├── input_media_type.py +│   │   │   │   ├── input_paid_media_type.py +│   │   │   │   ├── input_profile_photo_type.py +│   │   │   │   ├── input_story_content_type.py +│   │   │   │   ├── keyboard_button_poll_type_type.py +│   │   │   │   ├── mask_position_point.py +│   │   │   │   ├── menu_button_type.py +│   │   │   │   ├── message_entity_type.py +│   │   │   │   ├── message_origin_type.py +│   │   │   │   ├── owned_gift_type.py +│   │   │   │   ├── paid_media_type.py +│   │   │   │   ├── parse_mode.py +│   │   │   │   ├── passport_element_error_type.py +│   │   │   │   ├── poll_type.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── bot_command_scope_type.cpython-311.pyc +│   │   │   │   │   ├── button_style.cpython-311.pyc +│   │   │   │   │   ├── chat_action.cpython-311.pyc +│   │   │   │   │   ├── chat_boost_source_type.cpython-311.pyc +│   │   │   │   │   ├── chat_member_status.cpython-311.pyc +│   │   │   │   │   ├── chat_type.cpython-311.pyc +│   │   │   │   │   ├── content_type.cpython-311.pyc +│   │   │   │   │   ├── currency.cpython-311.pyc +│   │   │   │   │   ├── dice_emoji.cpython-311.pyc +│   │   │   │   │   ├── encrypted_passport_element.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── inline_query_result_type.cpython-311.pyc +│   │   │   │   │   ├── input_media_type.cpython-311.pyc +│   │   │   │   │   ├── input_paid_media_type.cpython-311.pyc +│   │   │   │   │   ├── input_profile_photo_type.cpython-311.pyc +│   │   │   │   │   ├── input_story_content_type.cpython-311.pyc +│   │   │   │   │   ├── keyboard_button_poll_type_type.cpython-311.pyc +│   │   │   │   │   ├── mask_position_point.cpython-311.pyc +│   │   │   │   │   ├── menu_button_type.cpython-311.pyc +│   │   │   │   │   ├── message_entity_type.cpython-311.pyc +│   │   │   │   │   ├── message_origin_type.cpython-311.pyc +│   │   │   │   │   ├── owned_gift_type.cpython-311.pyc +│   │   │   │   │   ├── paid_media_type.cpython-311.pyc +│   │   │   │   │   ├── parse_mode.cpython-311.pyc +│   │   │   │   │   ├── passport_element_error_type.cpython-311.pyc +│   │   │   │   │   ├── poll_type.cpython-311.pyc +│   │   │   │   │   ├── reaction_type_type.cpython-311.pyc +│   │   │   │   │   ├── revenue_withdrawal_state_type.cpython-311.pyc +│   │   │   │   │   ├── sticker_format.cpython-311.pyc +│   │   │   │   │   ├── sticker_type.cpython-311.pyc +│   │   │   │   │   ├── story_area_type_type.cpython-311.pyc +│   │   │   │   │   ├── topic_icon_color.cpython-311.pyc +│   │   │   │   │   ├── transaction_partner_type.cpython-311.pyc +│   │   │   │   │   ├── transaction_partner_user_transaction_type_enum.cpython-311.pyc +│   │   │   │   │   └── update_type.cpython-311.pyc +│   │   │   │   ├── reaction_type_type.py +│   │   │   │   ├── revenue_withdrawal_state_type.py +│   │   │   │   ├── sticker_format.py +│   │   │   │   ├── sticker_type.py +│   │   │   │   ├── story_area_type_type.py +│   │   │   │   ├── topic_icon_color.py +│   │   │   │   ├── transaction_partner_type.py +│   │   │   │   ├── transaction_partner_user_transaction_type_enum.py +│   │   │   │   └── update_type.py +│   │   │   ├── exceptions.py +│   │   │   ├── filters +│   │   │   │   ├── base.py +│   │   │   │   ├── callback_data.py +│   │   │   │   ├── chat_member_updated.py +│   │   │   │   ├── command.py +│   │   │   │   ├── exception.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── logic.py +│   │   │   │   ├── magic_data.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── base.cpython-311.pyc +│   │   │   │   │   ├── callback_data.cpython-311.pyc +│   │   │   │   │   ├── chat_member_updated.cpython-311.pyc +│   │   │   │   │   ├── command.cpython-311.pyc +│   │   │   │   │   ├── exception.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── logic.cpython-311.pyc +│   │   │   │   │   ├── magic_data.cpython-311.pyc +│   │   │   │   │   └── state.cpython-311.pyc +│   │   │   │   └── state.py +│   │   │   ├── fsm +│   │   │   │   ├── context.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── middleware.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── context.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── middleware.cpython-311.pyc +│   │   │   │   │   ├── scene.cpython-311.pyc +│   │   │   │   │   ├── state.cpython-311.pyc +│   │   │   │   │   └── strategy.cpython-311.pyc +│   │   │   │   ├── scene.py +│   │   │   │   ├── state.py +│   │   │   │   ├── storage +│   │   │   │   │   ├── base.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── memory.py +│   │   │   │   │   ├── mongo.py +│   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   ├── base.cpython-311.pyc +│   │   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   │   ├── memory.cpython-311.pyc +│   │   │   │   │   │   ├── mongo.cpython-311.pyc +│   │   │   │   │   │   ├── pymongo.cpython-311.pyc +│   │   │   │   │   │   └── redis.cpython-311.pyc +│   │   │   │   │   ├── pymongo.py +│   │   │   │   │   └── redis.py +│   │   │   │   └── strategy.py +│   │   │   ├── handlers +│   │   │   │   ├── base.py +│   │   │   │   ├── callback_query.py +│   │   │   │   ├── chat_member.py +│   │   │   │   ├── chosen_inline_result.py +│   │   │   │   ├── error.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── inline_query.py +│   │   │   │   ├── message.py +│   │   │   │   ├── poll.py +│   │   │   │   ├── pre_checkout_query.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── base.cpython-311.pyc +│   │   │   │   │   ├── callback_query.cpython-311.pyc +│   │   │   │   │   ├── chat_member.cpython-311.pyc +│   │   │   │   │   ├── chosen_inline_result.cpython-311.pyc +│   │   │   │   │   ├── error.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── inline_query.cpython-311.pyc +│   │   │   │   │   ├── message.cpython-311.pyc +│   │   │   │   │   ├── poll.cpython-311.pyc +│   │   │   │   │   ├── pre_checkout_query.cpython-311.pyc +│   │   │   │   │   └── shipping_query.cpython-311.pyc +│   │   │   │   └── shipping_query.py +│   │   │   ├── __init__.py +│   │   │   ├── loggers.py +│   │   │   ├── __meta__.py +│   │   │   ├── methods +│   │   │   │   ├── add_sticker_to_set.py +│   │   │   │   ├── answer_callback_query.py +│   │   │   │   ├── answer_inline_query.py +│   │   │   │   ├── answer_pre_checkout_query.py +│   │   │   │   ├── answer_shipping_query.py +│   │   │   │   ├── answer_web_app_query.py +│   │   │   │   ├── approve_chat_join_request.py +│   │   │   │   ├── approve_suggested_post.py +│   │   │   │   ├── ban_chat_member.py +│   │   │   │   ├── ban_chat_sender_chat.py +│   │   │   │   ├── base.py +│   │   │   │   ├── close_forum_topic.py +│   │   │   │   ├── close_general_forum_topic.py +│   │   │   │   ├── close.py +│   │   │   │   ├── convert_gift_to_stars.py +│   │   │   │   ├── copy_message.py +│   │   │   │   ├── copy_messages.py +│   │   │   │   ├── create_chat_invite_link.py +│   │   │   │   ├── create_chat_subscription_invite_link.py +│   │   │   │   ├── create_forum_topic.py +│   │   │   │   ├── create_invoice_link.py +│   │   │   │   ├── create_new_sticker_set.py +│   │   │   │   ├── decline_chat_join_request.py +│   │   │   │   ├── decline_suggested_post.py +│   │   │   │   ├── delete_business_messages.py +│   │   │   │   ├── delete_chat_photo.py +│   │   │   │   ├── delete_chat_sticker_set.py +│   │   │   │   ├── delete_forum_topic.py +│   │   │   │   ├── delete_message.py +│   │   │   │   ├── delete_messages.py +│   │   │   │   ├── delete_my_commands.py +│   │   │   │   ├── delete_sticker_from_set.py +│   │   │   │   ├── delete_sticker_set.py +│   │   │   │   ├── delete_story.py +│   │   │   │   ├── delete_webhook.py +│   │   │   │   ├── edit_chat_invite_link.py +│   │   │   │   ├── edit_chat_subscription_invite_link.py +│   │   │   │   ├── edit_forum_topic.py +│   │   │   │   ├── edit_general_forum_topic.py +│   │   │   │   ├── edit_message_caption.py +│   │   │   │   ├── edit_message_checklist.py +│   │   │   │   ├── edit_message_live_location.py +│   │   │   │   ├── edit_message_media.py +│   │   │   │   ├── edit_message_reply_markup.py +│   │   │   │   ├── edit_message_text.py +│   │   │   │   ├── edit_story.py +│   │   │   │   ├── edit_user_star_subscription.py +│   │   │   │   ├── export_chat_invite_link.py +│   │   │   │   ├── forward_message.py +│   │   │   │   ├── forward_messages.py +│   │   │   │   ├── get_available_gifts.py +│   │   │   │   ├── get_business_account_gifts.py +│   │   │   │   ├── get_business_account_star_balance.py +│   │   │   │   ├── get_business_connection.py +│   │   │   │   ├── get_chat_administrators.py +│   │   │   │   ├── get_chat_gifts.py +│   │   │   │   ├── get_chat_member_count.py +│   │   │   │   ├── get_chat_member.py +│   │   │   │   ├── get_chat_menu_button.py +│   │   │   │   ├── get_chat.py +│   │   │   │   ├── get_custom_emoji_stickers.py +│   │   │   │   ├── get_file.py +│   │   │   │   ├── get_forum_topic_icon_stickers.py +│   │   │   │   ├── get_game_high_scores.py +│   │   │   │   ├── get_me.py +│   │   │   │   ├── get_my_commands.py +│   │   │   │   ├── get_my_default_administrator_rights.py +│   │   │   │   ├── get_my_description.py +│   │   │   │   ├── get_my_name.py +│   │   │   │   ├── get_my_short_description.py +│   │   │   │   ├── get_my_star_balance.py +│   │   │   │   ├── get_star_transactions.py +│   │   │   │   ├── get_sticker_set.py +│   │   │   │   ├── get_updates.py +│   │   │   │   ├── get_user_chat_boosts.py +│   │   │   │   ├── get_user_gifts.py +│   │   │   │   ├── get_user_profile_audios.py +│   │   │   │   ├── get_user_profile_photos.py +│   │   │   │   ├── get_webhook_info.py +│   │   │   │   ├── gift_premium_subscription.py +│   │   │   │   ├── hide_general_forum_topic.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── leave_chat.py +│   │   │   │   ├── log_out.py +│   │   │   │   ├── pin_chat_message.py +│   │   │   │   ├── post_story.py +│   │   │   │   ├── promote_chat_member.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── add_sticker_to_set.cpython-311.pyc +│   │   │   │   │   ├── answer_callback_query.cpython-311.pyc +│   │   │   │   │   ├── answer_inline_query.cpython-311.pyc +│   │   │   │   │   ├── answer_pre_checkout_query.cpython-311.pyc +│   │   │   │   │   ├── answer_shipping_query.cpython-311.pyc +│   │   │   │   │   ├── answer_web_app_query.cpython-311.pyc +│   │   │   │   │   ├── approve_chat_join_request.cpython-311.pyc +│   │   │   │   │   ├── approve_suggested_post.cpython-311.pyc +│   │   │   │   │   ├── ban_chat_member.cpython-311.pyc +│   │   │   │   │   ├── ban_chat_sender_chat.cpython-311.pyc +│   │   │   │   │   ├── base.cpython-311.pyc +│   │   │   │   │   ├── close.cpython-311.pyc +│   │   │   │   │   ├── close_forum_topic.cpython-311.pyc +│   │   │   │   │   ├── close_general_forum_topic.cpython-311.pyc +│   │   │   │   │   ├── convert_gift_to_stars.cpython-311.pyc +│   │   │   │   │   ├── copy_message.cpython-311.pyc +│   │   │   │   │   ├── copy_messages.cpython-311.pyc +│   │   │   │   │   ├── create_chat_invite_link.cpython-311.pyc +│   │   │   │   │   ├── create_chat_subscription_invite_link.cpython-311.pyc +│   │   │   │   │   ├── create_forum_topic.cpython-311.pyc +│   │   │   │   │   ├── create_invoice_link.cpython-311.pyc +│   │   │   │   │   ├── create_new_sticker_set.cpython-311.pyc +│   │   │   │   │   ├── decline_chat_join_request.cpython-311.pyc +│   │   │   │   │   ├── decline_suggested_post.cpython-311.pyc +│   │   │   │   │   ├── delete_business_messages.cpython-311.pyc +│   │   │   │   │   ├── delete_chat_photo.cpython-311.pyc +│   │   │   │   │   ├── delete_chat_sticker_set.cpython-311.pyc +│   │   │   │   │   ├── delete_forum_topic.cpython-311.pyc +│   │   │   │   │   ├── delete_message.cpython-311.pyc +│   │   │   │   │   ├── delete_messages.cpython-311.pyc +│   │   │   │   │   ├── delete_my_commands.cpython-311.pyc +│   │   │   │   │   ├── delete_sticker_from_set.cpython-311.pyc +│   │   │   │   │   ├── delete_sticker_set.cpython-311.pyc +│   │   │   │   │   ├── delete_story.cpython-311.pyc +│   │   │   │   │   ├── delete_webhook.cpython-311.pyc +│   │   │   │   │   ├── edit_chat_invite_link.cpython-311.pyc +│   │   │   │   │   ├── edit_chat_subscription_invite_link.cpython-311.pyc +│   │   │   │   │   ├── edit_forum_topic.cpython-311.pyc +│   │   │   │   │   ├── edit_general_forum_topic.cpython-311.pyc +│   │   │   │   │   ├── edit_message_caption.cpython-311.pyc +│   │   │   │   │   ├── edit_message_checklist.cpython-311.pyc +│   │   │   │   │   ├── edit_message_live_location.cpython-311.pyc +│   │   │   │   │   ├── edit_message_media.cpython-311.pyc +│   │   │   │   │   ├── edit_message_reply_markup.cpython-311.pyc +│   │   │   │   │   ├── edit_message_text.cpython-311.pyc +│   │   │   │   │   ├── edit_story.cpython-311.pyc +│   │   │   │   │   ├── edit_user_star_subscription.cpython-311.pyc +│   │   │   │   │   ├── export_chat_invite_link.cpython-311.pyc +│   │   │   │   │   ├── forward_message.cpython-311.pyc +│   │   │   │   │   ├── forward_messages.cpython-311.pyc +│   │   │   │   │   ├── get_available_gifts.cpython-311.pyc +│   │   │   │   │   ├── get_business_account_gifts.cpython-311.pyc +│   │   │   │   │   ├── get_business_account_star_balance.cpython-311.pyc +│   │   │   │   │   ├── get_business_connection.cpython-311.pyc +│   │   │   │   │   ├── get_chat_administrators.cpython-311.pyc +│   │   │   │   │   ├── get_chat.cpython-311.pyc +│   │   │   │   │   ├── get_chat_gifts.cpython-311.pyc +│   │   │   │   │   ├── get_chat_member_count.cpython-311.pyc +│   │   │   │   │   ├── get_chat_member.cpython-311.pyc +│   │   │   │   │   ├── get_chat_menu_button.cpython-311.pyc +│   │   │   │   │   ├── get_custom_emoji_stickers.cpython-311.pyc +│   │   │   │   │   ├── get_file.cpython-311.pyc +│   │   │   │   │   ├── get_forum_topic_icon_stickers.cpython-311.pyc +│   │   │   │   │   ├── get_game_high_scores.cpython-311.pyc +│   │   │   │   │   ├── get_me.cpython-311.pyc +│   │   │   │   │   ├── get_my_commands.cpython-311.pyc +│   │   │   │   │   ├── get_my_default_administrator_rights.cpython-311.pyc +│   │   │   │   │   ├── get_my_description.cpython-311.pyc +│   │   │   │   │   ├── get_my_name.cpython-311.pyc +│   │   │   │   │   ├── get_my_short_description.cpython-311.pyc +│   │   │   │   │   ├── get_my_star_balance.cpython-311.pyc +│   │   │   │   │   ├── get_star_transactions.cpython-311.pyc +│   │   │   │   │   ├── get_sticker_set.cpython-311.pyc +│   │   │   │   │   ├── get_updates.cpython-311.pyc +│   │   │   │   │   ├── get_user_chat_boosts.cpython-311.pyc +│   │   │   │   │   ├── get_user_gifts.cpython-311.pyc +│   │   │   │   │   ├── get_user_profile_audios.cpython-311.pyc +│   │   │   │   │   ├── get_user_profile_photos.cpython-311.pyc +│   │   │   │   │   ├── get_webhook_info.cpython-311.pyc +│   │   │   │   │   ├── gift_premium_subscription.cpython-311.pyc +│   │   │   │   │   ├── hide_general_forum_topic.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── leave_chat.cpython-311.pyc +│   │   │   │   │   ├── log_out.cpython-311.pyc +│   │   │   │   │   ├── pin_chat_message.cpython-311.pyc +│   │   │   │   │   ├── post_story.cpython-311.pyc +│   │   │   │   │   ├── promote_chat_member.cpython-311.pyc +│   │   │   │   │   ├── read_business_message.cpython-311.pyc +│   │   │   │   │   ├── refund_star_payment.cpython-311.pyc +│   │   │   │   │   ├── remove_business_account_profile_photo.cpython-311.pyc +│   │   │   │   │   ├── remove_chat_verification.cpython-311.pyc +│   │   │   │   │   ├── remove_my_profile_photo.cpython-311.pyc +│   │   │   │   │   ├── remove_user_verification.cpython-311.pyc +│   │   │   │   │   ├── reopen_forum_topic.cpython-311.pyc +│   │   │   │   │   ├── reopen_general_forum_topic.cpython-311.pyc +│   │   │   │   │   ├── replace_sticker_in_set.cpython-311.pyc +│   │   │   │   │   ├── repost_story.cpython-311.pyc +│   │   │   │   │   ├── restrict_chat_member.cpython-311.pyc +│   │   │   │   │   ├── revoke_chat_invite_link.cpython-311.pyc +│   │   │   │   │   ├── save_prepared_inline_message.cpython-311.pyc +│   │   │   │   │   ├── send_animation.cpython-311.pyc +│   │   │   │   │   ├── send_audio.cpython-311.pyc +│   │   │   │   │   ├── send_chat_action.cpython-311.pyc +│   │   │   │   │   ├── send_checklist.cpython-311.pyc +│   │   │   │   │   ├── send_contact.cpython-311.pyc +│   │   │   │   │   ├── send_dice.cpython-311.pyc +│   │   │   │   │   ├── send_document.cpython-311.pyc +│   │   │   │   │   ├── send_game.cpython-311.pyc +│   │   │   │   │   ├── send_gift.cpython-311.pyc +│   │   │   │   │   ├── send_invoice.cpython-311.pyc +│   │   │   │   │   ├── send_location.cpython-311.pyc +│   │   │   │   │   ├── send_media_group.cpython-311.pyc +│   │   │   │   │   ├── send_message.cpython-311.pyc +│   │   │   │   │   ├── send_message_draft.cpython-311.pyc +│   │   │   │   │   ├── send_paid_media.cpython-311.pyc +│   │   │   │   │   ├── send_photo.cpython-311.pyc +│   │   │   │   │   ├── send_poll.cpython-311.pyc +│   │   │   │   │   ├── send_sticker.cpython-311.pyc +│   │   │   │   │   ├── send_venue.cpython-311.pyc +│   │   │   │   │   ├── send_video.cpython-311.pyc +│   │   │   │   │   ├── send_video_note.cpython-311.pyc +│   │   │   │   │   ├── send_voice.cpython-311.pyc +│   │   │   │   │   ├── set_business_account_bio.cpython-311.pyc +│   │   │   │   │   ├── set_business_account_gift_settings.cpython-311.pyc +│   │   │   │   │   ├── set_business_account_name.cpython-311.pyc +│   │   │   │   │   ├── set_business_account_profile_photo.cpython-311.pyc +│   │   │   │   │   ├── set_business_account_username.cpython-311.pyc +│   │   │   │   │   ├── set_chat_administrator_custom_title.cpython-311.pyc +│   │   │   │   │   ├── set_chat_description.cpython-311.pyc +│   │   │   │   │   ├── set_chat_member_tag.cpython-311.pyc +│   │   │   │   │   ├── set_chat_menu_button.cpython-311.pyc +│   │   │   │   │   ├── set_chat_permissions.cpython-311.pyc +│   │   │   │   │   ├── set_chat_photo.cpython-311.pyc +│   │   │   │   │   ├── set_chat_sticker_set.cpython-311.pyc +│   │   │   │   │   ├── set_chat_title.cpython-311.pyc +│   │   │   │   │   ├── set_custom_emoji_sticker_set_thumbnail.cpython-311.pyc +│   │   │   │   │   ├── set_game_score.cpython-311.pyc +│   │   │   │   │   ├── set_message_reaction.cpython-311.pyc +│   │   │   │   │   ├── set_my_commands.cpython-311.pyc +│   │   │   │   │   ├── set_my_default_administrator_rights.cpython-311.pyc +│   │   │   │   │   ├── set_my_description.cpython-311.pyc +│   │   │   │   │   ├── set_my_name.cpython-311.pyc +│   │   │   │   │   ├── set_my_profile_photo.cpython-311.pyc +│   │   │   │   │   ├── set_my_short_description.cpython-311.pyc +│   │   │   │   │   ├── set_passport_data_errors.cpython-311.pyc +│   │   │   │   │   ├── set_sticker_emoji_list.cpython-311.pyc +│   │   │   │   │   ├── set_sticker_keywords.cpython-311.pyc +│   │   │   │   │   ├── set_sticker_mask_position.cpython-311.pyc +│   │   │   │   │   ├── set_sticker_position_in_set.cpython-311.pyc +│   │   │   │   │   ├── set_sticker_set_thumbnail.cpython-311.pyc +│   │   │   │   │   ├── set_sticker_set_title.cpython-311.pyc +│   │   │   │   │   ├── set_user_emoji_status.cpython-311.pyc +│   │   │   │   │   ├── set_webhook.cpython-311.pyc +│   │   │   │   │   ├── stop_message_live_location.cpython-311.pyc +│   │   │   │   │   ├── stop_poll.cpython-311.pyc +│   │   │   │   │   ├── transfer_business_account_stars.cpython-311.pyc +│   │   │   │   │   ├── transfer_gift.cpython-311.pyc +│   │   │   │   │   ├── unban_chat_member.cpython-311.pyc +│   │   │   │   │   ├── unban_chat_sender_chat.cpython-311.pyc +│   │   │   │   │   ├── unhide_general_forum_topic.cpython-311.pyc +│   │   │   │   │   ├── unpin_all_chat_messages.cpython-311.pyc +│   │   │   │   │   ├── unpin_all_forum_topic_messages.cpython-311.pyc +│   │   │   │   │   ├── unpin_all_general_forum_topic_messages.cpython-311.pyc +│   │   │   │   │   ├── unpin_chat_message.cpython-311.pyc +│   │   │   │   │   ├── upgrade_gift.cpython-311.pyc +│   │   │   │   │   ├── upload_sticker_file.cpython-311.pyc +│   │   │   │   │   ├── verify_chat.cpython-311.pyc +│   │   │   │   │   └── verify_user.cpython-311.pyc +│   │   │   │   ├── read_business_message.py +│   │   │   │   ├── refund_star_payment.py +│   │   │   │   ├── remove_business_account_profile_photo.py +│   │   │   │   ├── remove_chat_verification.py +│   │   │   │   ├── remove_my_profile_photo.py +│   │   │   │   ├── remove_user_verification.py +│   │   │   │   ├── reopen_forum_topic.py +│   │   │   │   ├── reopen_general_forum_topic.py +│   │   │   │   ├── replace_sticker_in_set.py +│   │   │   │   ├── repost_story.py +│   │   │   │   ├── restrict_chat_member.py +│   │   │   │   ├── revoke_chat_invite_link.py +│   │   │   │   ├── save_prepared_inline_message.py +│   │   │   │   ├── send_animation.py +│   │   │   │   ├── send_audio.py +│   │   │   │   ├── send_chat_action.py +│   │   │   │   ├── send_checklist.py +│   │   │   │   ├── send_contact.py +│   │   │   │   ├── send_dice.py +│   │   │   │   ├── send_document.py +│   │   │   │   ├── send_game.py +│   │   │   │   ├── send_gift.py +│   │   │   │   ├── send_invoice.py +│   │   │   │   ├── send_location.py +│   │   │   │   ├── send_media_group.py +│   │   │   │   ├── send_message_draft.py +│   │   │   │   ├── send_message.py +│   │   │   │   ├── send_paid_media.py +│   │   │   │   ├── send_photo.py +│   │   │   │   ├── send_poll.py +│   │   │   │   ├── send_sticker.py +│   │   │   │   ├── send_venue.py +│   │   │   │   ├── send_video_note.py +│   │   │   │   ├── send_video.py +│   │   │   │   ├── send_voice.py +│   │   │   │   ├── set_business_account_bio.py +│   │   │   │   ├── set_business_account_gift_settings.py +│   │   │   │   ├── set_business_account_name.py +│   │   │   │   ├── set_business_account_profile_photo.py +│   │   │   │   ├── set_business_account_username.py +│   │   │   │   ├── set_chat_administrator_custom_title.py +│   │   │   │   ├── set_chat_description.py +│   │   │   │   ├── set_chat_member_tag.py +│   │   │   │   ├── set_chat_menu_button.py +│   │   │   │   ├── set_chat_permissions.py +│   │   │   │   ├── set_chat_photo.py +│   │   │   │   ├── set_chat_sticker_set.py +│   │   │   │   ├── set_chat_title.py +│   │   │   │   ├── set_custom_emoji_sticker_set_thumbnail.py +│   │   │   │   ├── set_game_score.py +│   │   │   │   ├── set_message_reaction.py +│   │   │   │   ├── set_my_commands.py +│   │   │   │   ├── set_my_default_administrator_rights.py +│   │   │   │   ├── set_my_description.py +│   │   │   │   ├── set_my_name.py +│   │   │   │   ├── set_my_profile_photo.py +│   │   │   │   ├── set_my_short_description.py +│   │   │   │   ├── set_passport_data_errors.py +│   │   │   │   ├── set_sticker_emoji_list.py +│   │   │   │   ├── set_sticker_keywords.py +│   │   │   │   ├── set_sticker_mask_position.py +│   │   │   │   ├── set_sticker_position_in_set.py +│   │   │   │   ├── set_sticker_set_thumbnail.py +│   │   │   │   ├── set_sticker_set_title.py +│   │   │   │   ├── set_user_emoji_status.py +│   │   │   │   ├── set_webhook.py +│   │   │   │   ├── stop_message_live_location.py +│   │   │   │   ├── stop_poll.py +│   │   │   │   ├── transfer_business_account_stars.py +│   │   │   │   ├── transfer_gift.py +│   │   │   │   ├── unban_chat_member.py +│   │   │   │   ├── unban_chat_sender_chat.py +│   │   │   │   ├── unhide_general_forum_topic.py +│   │   │   │   ├── unpin_all_chat_messages.py +│   │   │   │   ├── unpin_all_forum_topic_messages.py +│   │   │   │   ├── unpin_all_general_forum_topic_messages.py +│   │   │   │   ├── unpin_chat_message.py +│   │   │   │   ├── upgrade_gift.py +│   │   │   │   ├── upload_sticker_file.py +│   │   │   │   ├── verify_chat.py +│   │   │   │   └── verify_user.py +│   │   │   ├── __pycache__ +│   │   │   │   ├── exceptions.cpython-311.pyc +│   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   ├── loggers.cpython-311.pyc +│   │   │   │   └── __meta__.cpython-311.pyc +│   │   │   ├── py.typed +│   │   │   ├── types +│   │   │   │   ├── accepted_gift_types.py +│   │   │   │   ├── affiliate_info.py +│   │   │   │   ├── animation.py +│   │   │   │   ├── audio.py +│   │   │   │   ├── background_fill_freeform_gradient.py +│   │   │   │   ├── background_fill_gradient.py +│   │   │   │   ├── background_fill.py +│   │   │   │   ├── background_fill_solid.py +│   │   │   │   ├── background_fill_union.py +│   │   │   │   ├── background_type_chat_theme.py +│   │   │   │   ├── background_type_fill.py +│   │   │   │   ├── background_type_pattern.py +│   │   │   │   ├── background_type.py +│   │   │   │   ├── background_type_union.py +│   │   │   │   ├── background_type_wallpaper.py +│   │   │   │   ├── base.py +│   │   │   │   ├── birthdate.py +│   │   │   │   ├── bot_command.py +│   │   │   │   ├── bot_command_scope_all_chat_administrators.py +│   │   │   │   ├── bot_command_scope_all_group_chats.py +│   │   │   │   ├── bot_command_scope_all_private_chats.py +│   │   │   │   ├── bot_command_scope_chat_administrators.py +│   │   │   │   ├── bot_command_scope_chat_member.py +│   │   │   │   ├── bot_command_scope_chat.py +│   │   │   │   ├── bot_command_scope_default.py +│   │   │   │   ├── bot_command_scope.py +│   │   │   │   ├── bot_command_scope_union.py +│   │   │   │   ├── bot_description.py +│   │   │   │   ├── bot_name.py +│   │   │   │   ├── bot_short_description.py +│   │   │   │   ├── business_bot_rights.py +│   │   │   │   ├── business_connection.py +│   │   │   │   ├── business_intro.py +│   │   │   │   ├── business_location.py +│   │   │   │   ├── business_messages_deleted.py +│   │   │   │   ├── business_opening_hours_interval.py +│   │   │   │   ├── business_opening_hours.py +│   │   │   │   ├── callback_game.py +│   │   │   │   ├── callback_query.py +│   │   │   │   ├── chat_administrator_rights.py +│   │   │   │   ├── chat_background.py +│   │   │   │   ├── chat_boost_added.py +│   │   │   │   ├── chat_boost.py +│   │   │   │   ├── chat_boost_removed.py +│   │   │   │   ├── chat_boost_source_gift_code.py +│   │   │   │   ├── chat_boost_source_giveaway.py +│   │   │   │   ├── chat_boost_source_premium.py +│   │   │   │   ├── chat_boost_source.py +│   │   │   │   ├── chat_boost_source_union.py +│   │   │   │   ├── chat_boost_updated.py +│   │   │   │   ├── chat_full_info.py +│   │   │   │   ├── chat_id_union.py +│   │   │   │   ├── chat_invite_link.py +│   │   │   │   ├── chat_join_request.py +│   │   │   │   ├── chat_location.py +│   │   │   │   ├── chat_member_administrator.py +│   │   │   │   ├── chat_member_banned.py +│   │   │   │   ├── chat_member_left.py +│   │   │   │   ├── chat_member_member.py +│   │   │   │   ├── chat_member_owner.py +│   │   │   │   ├── chat_member.py +│   │   │   │   ├── chat_member_restricted.py +│   │   │   │   ├── chat_member_union.py +│   │   │   │   ├── chat_member_updated.py +│   │   │   │   ├── chat_owner_changed.py +│   │   │   │   ├── chat_owner_left.py +│   │   │   │   ├── chat_permissions.py +│   │   │   │   ├── chat_photo.py +│   │   │   │   ├── chat.py +│   │   │   │   ├── chat_shared.py +│   │   │   │   ├── checklist.py +│   │   │   │   ├── checklist_task.py +│   │   │   │   ├── checklist_tasks_added.py +│   │   │   │   ├── checklist_tasks_done.py +│   │   │   │   ├── chosen_inline_result.py +│   │   │   │   ├── contact.py +│   │   │   │   ├── copy_text_button.py +│   │   │   │   ├── custom.py +│   │   │   │   ├── date_time_union.py +│   │   │   │   ├── dice.py +│   │   │   │   ├── direct_message_price_changed.py +│   │   │   │   ├── direct_messages_topic.py +│   │   │   │   ├── document.py +│   │   │   │   ├── downloadable.py +│   │   │   │   ├── encrypted_credentials.py +│   │   │   │   ├── encrypted_passport_element.py +│   │   │   │   ├── error_event.py +│   │   │   │   ├── external_reply_info.py +│   │   │   │   ├── file.py +│   │   │   │   ├── force_reply.py +│   │   │   │   ├── forum_topic_closed.py +│   │   │   │   ├── forum_topic_created.py +│   │   │   │   ├── forum_topic_edited.py +│   │   │   │   ├── forum_topic.py +│   │   │   │   ├── forum_topic_reopened.py +│   │   │   │   ├── game_high_score.py +│   │   │   │   ├── game.py +│   │   │   │   ├── general_forum_topic_hidden.py +│   │   │   │   ├── general_forum_topic_unhidden.py +│   │   │   │   ├── gift_background.py +│   │   │   │   ├── gift_info.py +│   │   │   │   ├── gift.py +│   │   │   │   ├── gifts.py +│   │   │   │   ├── giveaway_completed.py +│   │   │   │   ├── giveaway_created.py +│   │   │   │   ├── giveaway.py +│   │   │   │   ├── giveaway_winners.py +│   │   │   │   ├── inaccessible_message.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── inline_keyboard_button.py +│   │   │   │   ├── inline_keyboard_markup.py +│   │   │   │   ├── inline_query.py +│   │   │   │   ├── inline_query_result_article.py +│   │   │   │   ├── inline_query_result_audio.py +│   │   │   │   ├── inline_query_result_cached_audio.py +│   │   │   │   ├── inline_query_result_cached_document.py +│   │   │   │   ├── inline_query_result_cached_gif.py +│   │   │   │   ├── inline_query_result_cached_mpeg4_gif.py +│   │   │   │   ├── inline_query_result_cached_photo.py +│   │   │   │   ├── inline_query_result_cached_sticker.py +│   │   │   │   ├── inline_query_result_cached_video.py +│   │   │   │   ├── inline_query_result_cached_voice.py +│   │   │   │   ├── inline_query_result_contact.py +│   │   │   │   ├── inline_query_result_document.py +│   │   │   │   ├── inline_query_result_game.py +│   │   │   │   ├── inline_query_result_gif.py +│   │   │   │   ├── inline_query_result_location.py +│   │   │   │   ├── inline_query_result_mpeg4_gif.py +│   │   │   │   ├── inline_query_result_photo.py +│   │   │   │   ├── inline_query_result.py +│   │   │   │   ├── inline_query_results_button.py +│   │   │   │   ├── inline_query_result_union.py +│   │   │   │   ├── inline_query_result_venue.py +│   │   │   │   ├── inline_query_result_video.py +│   │   │   │   ├── inline_query_result_voice.py +│   │   │   │   ├── input_checklist.py +│   │   │   │   ├── input_checklist_task.py +│   │   │   │   ├── input_contact_message_content.py +│   │   │   │   ├── input_file.py +│   │   │   │   ├── input_file_union.py +│   │   │   │   ├── input_invoice_message_content.py +│   │   │   │   ├── input_location_message_content.py +│   │   │   │   ├── input_media_animation.py +│   │   │   │   ├── input_media_audio.py +│   │   │   │   ├── input_media_document.py +│   │   │   │   ├── input_media_photo.py +│   │   │   │   ├── input_media.py +│   │   │   │   ├── input_media_union.py +│   │   │   │   ├── input_media_video.py +│   │   │   │   ├── input_message_content.py +│   │   │   │   ├── input_message_content_union.py +│   │   │   │   ├── input_paid_media_photo.py +│   │   │   │   ├── input_paid_media.py +│   │   │   │   ├── input_paid_media_union.py +│   │   │   │   ├── input_paid_media_video.py +│   │   │   │   ├── input_poll_option.py +│   │   │   │   ├── input_poll_option_union.py +│   │   │   │   ├── input_profile_photo_animated.py +│   │   │   │   ├── input_profile_photo.py +│   │   │   │   ├── input_profile_photo_static.py +│   │   │   │   ├── input_profile_photo_union.py +│   │   │   │   ├── input_sticker.py +│   │   │   │   ├── input_story_content_photo.py +│   │   │   │   ├── input_story_content.py +│   │   │   │   ├── input_story_content_union.py +│   │   │   │   ├── input_story_content_video.py +│   │   │   │   ├── input_text_message_content.py +│   │   │   │   ├── input_venue_message_content.py +│   │   │   │   ├── invoice.py +│   │   │   │   ├── keyboard_button_poll_type.py +│   │   │   │   ├── keyboard_button.py +│   │   │   │   ├── keyboard_button_request_chat.py +│   │   │   │   ├── keyboard_button_request_user.py +│   │   │   │   ├── keyboard_button_request_users.py +│   │   │   │   ├── labeled_price.py +│   │   │   │   ├── link_preview_options.py +│   │   │   │   ├── location_address.py +│   │   │   │   ├── location.py +│   │   │   │   ├── login_url.py +│   │   │   │   ├── mask_position.py +│   │   │   │   ├── maybe_inaccessible_message.py +│   │   │   │   ├── maybe_inaccessible_message_union.py +│   │   │   │   ├── media_union.py +│   │   │   │   ├── menu_button_commands.py +│   │   │   │   ├── menu_button_default.py +│   │   │   │   ├── menu_button.py +│   │   │   │   ├── menu_button_union.py +│   │   │   │   ├── menu_button_web_app.py +│   │   │   │   ├── message_auto_delete_timer_changed.py +│   │   │   │   ├── message_entity.py +│   │   │   │   ├── message_id.py +│   │   │   │   ├── message_origin_channel.py +│   │   │   │   ├── message_origin_chat.py +│   │   │   │   ├── message_origin_hidden_user.py +│   │   │   │   ├── message_origin.py +│   │   │   │   ├── message_origin_union.py +│   │   │   │   ├── message_origin_user.py +│   │   │   │   ├── message.py +│   │   │   │   ├── message_reaction_count_updated.py +│   │   │   │   ├── message_reaction_updated.py +│   │   │   │   ├── order_info.py +│   │   │   │   ├── owned_gift.py +│   │   │   │   ├── owned_gift_regular.py +│   │   │   │   ├── owned_gifts.py +│   │   │   │   ├── owned_gift_union.py +│   │   │   │   ├── owned_gift_unique.py +│   │   │   │   ├── paid_media_info.py +│   │   │   │   ├── paid_media_photo.py +│   │   │   │   ├── paid_media_preview.py +│   │   │   │   ├── paid_media_purchased.py +│   │   │   │   ├── paid_media.py +│   │   │   │   ├── paid_media_union.py +│   │   │   │   ├── paid_media_video.py +│   │   │   │   ├── paid_message_price_changed.py +│   │   │   │   ├── passport_data.py +│   │   │   │   ├── passport_element_error_data_field.py +│   │   │   │   ├── passport_element_error_file.py +│   │   │   │   ├── passport_element_error_files.py +│   │   │   │   ├── passport_element_error_front_side.py +│   │   │   │   ├── passport_element_error.py +│   │   │   │   ├── passport_element_error_reverse_side.py +│   │   │   │   ├── passport_element_error_selfie.py +│   │   │   │   ├── passport_element_error_translation_file.py +│   │   │   │   ├── passport_element_error_translation_files.py +│   │   │   │   ├── passport_element_error_union.py +│   │   │   │   ├── passport_element_error_unspecified.py +│   │   │   │   ├── passport_file.py +│   │   │   │   ├── photo_size.py +│   │   │   │   ├── poll_answer.py +│   │   │   │   ├── poll_option.py +│   │   │   │   ├── poll.py +│   │   │   │   ├── pre_checkout_query.py +│   │   │   │   ├── prepared_inline_message.py +│   │   │   │   ├── proximity_alert_triggered.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── accepted_gift_types.cpython-311.pyc +│   │   │   │   │   ├── affiliate_info.cpython-311.pyc +│   │   │   │   │   ├── animation.cpython-311.pyc +│   │   │   │   │   ├── audio.cpython-311.pyc +│   │   │   │   │   ├── background_fill.cpython-311.pyc +│   │   │   │   │   ├── background_fill_freeform_gradient.cpython-311.pyc +│   │   │   │   │   ├── background_fill_gradient.cpython-311.pyc +│   │   │   │   │   ├── background_fill_solid.cpython-311.pyc +│   │   │   │   │   ├── background_fill_union.cpython-311.pyc +│   │   │   │   │   ├── background_type_chat_theme.cpython-311.pyc +│   │   │   │   │   ├── background_type.cpython-311.pyc +│   │   │   │   │   ├── background_type_fill.cpython-311.pyc +│   │   │   │   │   ├── background_type_pattern.cpython-311.pyc +│   │   │   │   │   ├── background_type_union.cpython-311.pyc +│   │   │   │   │   ├── background_type_wallpaper.cpython-311.pyc +│   │   │   │   │   ├── base.cpython-311.pyc +│   │   │   │   │   ├── birthdate.cpython-311.pyc +│   │   │   │   │   ├── bot_command.cpython-311.pyc +│   │   │   │   │   ├── bot_command_scope_all_chat_administrators.cpython-311.pyc +│   │   │   │   │   ├── bot_command_scope_all_group_chats.cpython-311.pyc +│   │   │   │   │   ├── bot_command_scope_all_private_chats.cpython-311.pyc +│   │   │   │   │   ├── bot_command_scope_chat_administrators.cpython-311.pyc +│   │   │   │   │   ├── bot_command_scope_chat.cpython-311.pyc +│   │   │   │   │   ├── bot_command_scope_chat_member.cpython-311.pyc +│   │   │   │   │   ├── bot_command_scope.cpython-311.pyc +│   │   │   │   │   ├── bot_command_scope_default.cpython-311.pyc +│   │   │   │   │   ├── bot_command_scope_union.cpython-311.pyc +│   │   │   │   │   ├── bot_description.cpython-311.pyc +│   │   │   │   │   ├── bot_name.cpython-311.pyc +│   │   │   │   │   ├── bot_short_description.cpython-311.pyc +│   │   │   │   │   ├── business_bot_rights.cpython-311.pyc +│   │   │   │   │   ├── business_connection.cpython-311.pyc +│   │   │   │   │   ├── business_intro.cpython-311.pyc +│   │   │   │   │   ├── business_location.cpython-311.pyc +│   │   │   │   │   ├── business_messages_deleted.cpython-311.pyc +│   │   │   │   │   ├── business_opening_hours.cpython-311.pyc +│   │   │   │   │   ├── business_opening_hours_interval.cpython-311.pyc +│   │   │   │   │   ├── callback_game.cpython-311.pyc +│   │   │   │   │   ├── callback_query.cpython-311.pyc +│   │   │   │   │   ├── chat_administrator_rights.cpython-311.pyc +│   │   │   │   │   ├── chat_background.cpython-311.pyc +│   │   │   │   │   ├── chat_boost_added.cpython-311.pyc +│   │   │   │   │   ├── chat_boost.cpython-311.pyc +│   │   │   │   │   ├── chat_boost_removed.cpython-311.pyc +│   │   │   │   │   ├── chat_boost_source.cpython-311.pyc +│   │   │   │   │   ├── chat_boost_source_gift_code.cpython-311.pyc +│   │   │   │   │   ├── chat_boost_source_giveaway.cpython-311.pyc +│   │   │   │   │   ├── chat_boost_source_premium.cpython-311.pyc +│   │   │   │   │   ├── chat_boost_source_union.cpython-311.pyc +│   │   │   │   │   ├── chat_boost_updated.cpython-311.pyc +│   │   │   │   │   ├── chat.cpython-311.pyc +│   │   │   │   │   ├── chat_full_info.cpython-311.pyc +│   │   │   │   │   ├── chat_id_union.cpython-311.pyc +│   │   │   │   │   ├── chat_invite_link.cpython-311.pyc +│   │   │   │   │   ├── chat_join_request.cpython-311.pyc +│   │   │   │   │   ├── chat_location.cpython-311.pyc +│   │   │   │   │   ├── chat_member_administrator.cpython-311.pyc +│   │   │   │   │   ├── chat_member_banned.cpython-311.pyc +│   │   │   │   │   ├── chat_member.cpython-311.pyc +│   │   │   │   │   ├── chat_member_left.cpython-311.pyc +│   │   │   │   │   ├── chat_member_member.cpython-311.pyc +│   │   │   │   │   ├── chat_member_owner.cpython-311.pyc +│   │   │   │   │   ├── chat_member_restricted.cpython-311.pyc +│   │   │   │   │   ├── chat_member_union.cpython-311.pyc +│   │   │   │   │   ├── chat_member_updated.cpython-311.pyc +│   │   │   │   │   ├── chat_owner_changed.cpython-311.pyc +│   │   │   │   │   ├── chat_owner_left.cpython-311.pyc +│   │   │   │   │   ├── chat_permissions.cpython-311.pyc +│   │   │   │   │   ├── chat_photo.cpython-311.pyc +│   │   │   │   │   ├── chat_shared.cpython-311.pyc +│   │   │   │   │   ├── checklist.cpython-311.pyc +│   │   │   │   │   ├── checklist_task.cpython-311.pyc +│   │   │   │   │   ├── checklist_tasks_added.cpython-311.pyc +│   │   │   │   │   ├── checklist_tasks_done.cpython-311.pyc +│   │   │   │   │   ├── chosen_inline_result.cpython-311.pyc +│   │   │   │   │   ├── contact.cpython-311.pyc +│   │   │   │   │   ├── copy_text_button.cpython-311.pyc +│   │   │   │   │   ├── custom.cpython-311.pyc +│   │   │   │   │   ├── date_time_union.cpython-311.pyc +│   │   │   │   │   ├── dice.cpython-311.pyc +│   │   │   │   │   ├── direct_message_price_changed.cpython-311.pyc +│   │   │   │   │   ├── direct_messages_topic.cpython-311.pyc +│   │   │   │   │   ├── document.cpython-311.pyc +│   │   │   │   │   ├── downloadable.cpython-311.pyc +│   │   │   │   │   ├── encrypted_credentials.cpython-311.pyc +│   │   │   │   │   ├── encrypted_passport_element.cpython-311.pyc +│   │   │   │   │   ├── error_event.cpython-311.pyc +│   │   │   │   │   ├── external_reply_info.cpython-311.pyc +│   │   │   │   │   ├── file.cpython-311.pyc +│   │   │   │   │   ├── force_reply.cpython-311.pyc +│   │   │   │   │   ├── forum_topic_closed.cpython-311.pyc +│   │   │   │   │   ├── forum_topic.cpython-311.pyc +│   │   │   │   │   ├── forum_topic_created.cpython-311.pyc +│   │   │   │   │   ├── forum_topic_edited.cpython-311.pyc +│   │   │   │   │   ├── forum_topic_reopened.cpython-311.pyc +│   │   │   │   │   ├── game.cpython-311.pyc +│   │   │   │   │   ├── game_high_score.cpython-311.pyc +│   │   │   │   │   ├── general_forum_topic_hidden.cpython-311.pyc +│   │   │   │   │   ├── general_forum_topic_unhidden.cpython-311.pyc +│   │   │   │   │   ├── gift_background.cpython-311.pyc +│   │   │   │   │   ├── gift.cpython-311.pyc +│   │   │   │   │   ├── gift_info.cpython-311.pyc +│   │   │   │   │   ├── gifts.cpython-311.pyc +│   │   │   │   │   ├── giveaway_completed.cpython-311.pyc +│   │   │   │   │   ├── giveaway.cpython-311.pyc +│   │   │   │   │   ├── giveaway_created.cpython-311.pyc +│   │   │   │   │   ├── giveaway_winners.cpython-311.pyc +│   │   │   │   │   ├── inaccessible_message.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── inline_keyboard_button.cpython-311.pyc +│   │   │   │   │   ├── inline_keyboard_markup.cpython-311.pyc +│   │   │   │   │   ├── inline_query.cpython-311.pyc +│   │   │   │   │   ├── inline_query_result_article.cpython-311.pyc +│   │   │   │   │   ├── inline_query_result_audio.cpython-311.pyc +│   │   │   │   │   ├── inline_query_result_cached_audio.cpython-311.pyc +│   │   │   │   │   ├── inline_query_result_cached_document.cpython-311.pyc +│   │   │   │   │   ├── inline_query_result_cached_gif.cpython-311.pyc +│   │   │   │   │   ├── inline_query_result_cached_mpeg4_gif.cpython-311.pyc +│   │   │   │   │   ├── inline_query_result_cached_photo.cpython-311.pyc +│   │   │   │   │   ├── inline_query_result_cached_sticker.cpython-311.pyc +│   │   │   │   │   ├── inline_query_result_cached_video.cpython-311.pyc +│   │   │   │   │   ├── inline_query_result_cached_voice.cpython-311.pyc +│   │   │   │   │   ├── inline_query_result_contact.cpython-311.pyc +│   │   │   │   │   ├── inline_query_result.cpython-311.pyc +│   │   │   │   │   ├── inline_query_result_document.cpython-311.pyc +│   │   │   │   │   ├── inline_query_result_game.cpython-311.pyc +│   │   │   │   │   ├── inline_query_result_gif.cpython-311.pyc +│   │   │   │   │   ├── inline_query_result_location.cpython-311.pyc +│   │   │   │   │   ├── inline_query_result_mpeg4_gif.cpython-311.pyc +│   │   │   │   │   ├── inline_query_result_photo.cpython-311.pyc +│   │   │   │   │   ├── inline_query_results_button.cpython-311.pyc +│   │   │   │   │   ├── inline_query_result_union.cpython-311.pyc +│   │   │   │   │   ├── inline_query_result_venue.cpython-311.pyc +│   │   │   │   │   ├── inline_query_result_video.cpython-311.pyc +│   │   │   │   │   ├── inline_query_result_voice.cpython-311.pyc +│   │   │   │   │   ├── input_checklist.cpython-311.pyc +│   │   │   │   │   ├── input_checklist_task.cpython-311.pyc +│   │   │   │   │   ├── input_contact_message_content.cpython-311.pyc +│   │   │   │   │   ├── input_file.cpython-311.pyc +│   │   │   │   │   ├── input_file_union.cpython-311.pyc +│   │   │   │   │   ├── input_invoice_message_content.cpython-311.pyc +│   │   │   │   │   ├── input_location_message_content.cpython-311.pyc +│   │   │   │   │   ├── input_media_animation.cpython-311.pyc +│   │   │   │   │   ├── input_media_audio.cpython-311.pyc +│   │   │   │   │   ├── input_media.cpython-311.pyc +│   │   │   │   │   ├── input_media_document.cpython-311.pyc +│   │   │   │   │   ├── input_media_photo.cpython-311.pyc +│   │   │   │   │   ├── input_media_union.cpython-311.pyc +│   │   │   │   │   ├── input_media_video.cpython-311.pyc +│   │   │   │   │   ├── input_message_content.cpython-311.pyc +│   │   │   │   │   ├── input_message_content_union.cpython-311.pyc +│   │   │   │   │   ├── input_paid_media.cpython-311.pyc +│   │   │   │   │   ├── input_paid_media_photo.cpython-311.pyc +│   │   │   │   │   ├── input_paid_media_union.cpython-311.pyc +│   │   │   │   │   ├── input_paid_media_video.cpython-311.pyc +│   │   │   │   │   ├── input_poll_option.cpython-311.pyc +│   │   │   │   │   ├── input_poll_option_union.cpython-311.pyc +│   │   │   │   │   ├── input_profile_photo_animated.cpython-311.pyc +│   │   │   │   │   ├── input_profile_photo.cpython-311.pyc +│   │   │   │   │   ├── input_profile_photo_static.cpython-311.pyc +│   │   │   │   │   ├── input_profile_photo_union.cpython-311.pyc +│   │   │   │   │   ├── input_sticker.cpython-311.pyc +│   │   │   │   │   ├── input_story_content.cpython-311.pyc +│   │   │   │   │   ├── input_story_content_photo.cpython-311.pyc +│   │   │   │   │   ├── input_story_content_union.cpython-311.pyc +│   │   │   │   │   ├── input_story_content_video.cpython-311.pyc +│   │   │   │   │   ├── input_text_message_content.cpython-311.pyc +│   │   │   │   │   ├── input_venue_message_content.cpython-311.pyc +│   │   │   │   │   ├── invoice.cpython-311.pyc +│   │   │   │   │   ├── keyboard_button.cpython-311.pyc +│   │   │   │   │   ├── keyboard_button_poll_type.cpython-311.pyc +│   │   │   │   │   ├── keyboard_button_request_chat.cpython-311.pyc +│   │   │   │   │   ├── keyboard_button_request_user.cpython-311.pyc +│   │   │   │   │   ├── keyboard_button_request_users.cpython-311.pyc +│   │   │   │   │   ├── labeled_price.cpython-311.pyc +│   │   │   │   │   ├── link_preview_options.cpython-311.pyc +│   │   │   │   │   ├── location_address.cpython-311.pyc +│   │   │   │   │   ├── location.cpython-311.pyc +│   │   │   │   │   ├── login_url.cpython-311.pyc +│   │   │   │   │   ├── mask_position.cpython-311.pyc +│   │   │   │   │   ├── maybe_inaccessible_message.cpython-311.pyc +│   │   │   │   │   ├── maybe_inaccessible_message_union.cpython-311.pyc +│   │   │   │   │   ├── media_union.cpython-311.pyc +│   │   │   │   │   ├── menu_button_commands.cpython-311.pyc +│   │   │   │   │   ├── menu_button.cpython-311.pyc +│   │   │   │   │   ├── menu_button_default.cpython-311.pyc +│   │   │   │   │   ├── menu_button_union.cpython-311.pyc +│   │   │   │   │   ├── menu_button_web_app.cpython-311.pyc +│   │   │   │   │   ├── message_auto_delete_timer_changed.cpython-311.pyc +│   │   │   │   │   ├── message.cpython-311.pyc +│   │   │   │   │   ├── message_entity.cpython-311.pyc +│   │   │   │   │   ├── message_id.cpython-311.pyc +│   │   │   │   │   ├── message_origin_channel.cpython-311.pyc +│   │   │   │   │   ├── message_origin_chat.cpython-311.pyc +│   │   │   │   │   ├── message_origin.cpython-311.pyc +│   │   │   │   │   ├── message_origin_hidden_user.cpython-311.pyc +│   │   │   │   │   ├── message_origin_union.cpython-311.pyc +│   │   │   │   │   ├── message_origin_user.cpython-311.pyc +│   │   │   │   │   ├── message_reaction_count_updated.cpython-311.pyc +│   │   │   │   │   ├── message_reaction_updated.cpython-311.pyc +│   │   │   │   │   ├── order_info.cpython-311.pyc +│   │   │   │   │   ├── owned_gift.cpython-311.pyc +│   │   │   │   │   ├── owned_gift_regular.cpython-311.pyc +│   │   │   │   │   ├── owned_gifts.cpython-311.pyc +│   │   │   │   │   ├── owned_gift_union.cpython-311.pyc +│   │   │   │   │   ├── owned_gift_unique.cpython-311.pyc +│   │   │   │   │   ├── paid_media.cpython-311.pyc +│   │   │   │   │   ├── paid_media_info.cpython-311.pyc +│   │   │   │   │   ├── paid_media_photo.cpython-311.pyc +│   │   │   │   │   ├── paid_media_preview.cpython-311.pyc +│   │   │   │   │   ├── paid_media_purchased.cpython-311.pyc +│   │   │   │   │   ├── paid_media_union.cpython-311.pyc +│   │   │   │   │   ├── paid_media_video.cpython-311.pyc +│   │   │   │   │   ├── paid_message_price_changed.cpython-311.pyc +│   │   │   │   │   ├── passport_data.cpython-311.pyc +│   │   │   │   │   ├── passport_element_error.cpython-311.pyc +│   │   │   │   │   ├── passport_element_error_data_field.cpython-311.pyc +│   │   │   │   │   ├── passport_element_error_file.cpython-311.pyc +│   │   │   │   │   ├── passport_element_error_files.cpython-311.pyc +│   │   │   │   │   ├── passport_element_error_front_side.cpython-311.pyc +│   │   │   │   │   ├── passport_element_error_reverse_side.cpython-311.pyc +│   │   │   │   │   ├── passport_element_error_selfie.cpython-311.pyc +│   │   │   │   │   ├── passport_element_error_translation_file.cpython-311.pyc +│   │   │   │   │   ├── passport_element_error_translation_files.cpython-311.pyc +│   │   │   │   │   ├── passport_element_error_union.cpython-311.pyc +│   │   │   │   │   ├── passport_element_error_unspecified.cpython-311.pyc +│   │   │   │   │   ├── passport_file.cpython-311.pyc +│   │   │   │   │   ├── photo_size.cpython-311.pyc +│   │   │   │   │   ├── poll_answer.cpython-311.pyc +│   │   │   │   │   ├── poll.cpython-311.pyc +│   │   │   │   │   ├── poll_option.cpython-311.pyc +│   │   │   │   │   ├── pre_checkout_query.cpython-311.pyc +│   │   │   │   │   ├── prepared_inline_message.cpython-311.pyc +│   │   │   │   │   ├── proximity_alert_triggered.cpython-311.pyc +│   │   │   │   │   ├── reaction_count.cpython-311.pyc +│   │   │   │   │   ├── reaction_type.cpython-311.pyc +│   │   │   │   │   ├── reaction_type_custom_emoji.cpython-311.pyc +│   │   │   │   │   ├── reaction_type_emoji.cpython-311.pyc +│   │   │   │   │   ├── reaction_type_paid.cpython-311.pyc +│   │   │   │   │   ├── reaction_type_union.cpython-311.pyc +│   │   │   │   │   ├── refunded_payment.cpython-311.pyc +│   │   │   │   │   ├── reply_keyboard_markup.cpython-311.pyc +│   │   │   │   │   ├── reply_keyboard_remove.cpython-311.pyc +│   │   │   │   │   ├── reply_markup_union.cpython-311.pyc +│   │   │   │   │   ├── reply_parameters.cpython-311.pyc +│   │   │   │   │   ├── response_parameters.cpython-311.pyc +│   │   │   │   │   ├── result_chat_member_union.cpython-311.pyc +│   │   │   │   │   ├── result_menu_button_union.cpython-311.pyc +│   │   │   │   │   ├── revenue_withdrawal_state.cpython-311.pyc +│   │   │   │   │   ├── revenue_withdrawal_state_failed.cpython-311.pyc +│   │   │   │   │   ├── revenue_withdrawal_state_pending.cpython-311.pyc +│   │   │   │   │   ├── revenue_withdrawal_state_succeeded.cpython-311.pyc +│   │   │   │   │   ├── revenue_withdrawal_state_union.cpython-311.pyc +│   │   │   │   │   ├── sent_web_app_message.cpython-311.pyc +│   │   │   │   │   ├── shared_user.cpython-311.pyc +│   │   │   │   │   ├── shipping_address.cpython-311.pyc +│   │   │   │   │   ├── shipping_option.cpython-311.pyc +│   │   │   │   │   ├── shipping_query.cpython-311.pyc +│   │   │   │   │   ├── star_amount.cpython-311.pyc +│   │   │   │   │   ├── star_transaction.cpython-311.pyc +│   │   │   │   │   ├── star_transactions.cpython-311.pyc +│   │   │   │   │   ├── sticker.cpython-311.pyc +│   │   │   │   │   ├── sticker_set.cpython-311.pyc +│   │   │   │   │   ├── story_area.cpython-311.pyc +│   │   │   │   │   ├── story_area_position.cpython-311.pyc +│   │   │   │   │   ├── story_area_type.cpython-311.pyc +│   │   │   │   │   ├── story_area_type_link.cpython-311.pyc +│   │   │   │   │   ├── story_area_type_location.cpython-311.pyc +│   │   │   │   │   ├── story_area_type_suggested_reaction.cpython-311.pyc +│   │   │   │   │   ├── story_area_type_union.cpython-311.pyc +│   │   │   │   │   ├── story_area_type_unique_gift.cpython-311.pyc +│   │   │   │   │   ├── story_area_type_weather.cpython-311.pyc +│   │   │   │   │   ├── story.cpython-311.pyc +│   │   │   │   │   ├── successful_payment.cpython-311.pyc +│   │   │   │   │   ├── suggested_post_approval_failed.cpython-311.pyc +│   │   │   │   │   ├── suggested_post_approved.cpython-311.pyc +│   │   │   │   │   ├── suggested_post_declined.cpython-311.pyc +│   │   │   │   │   ├── suggested_post_info.cpython-311.pyc +│   │   │   │   │   ├── suggested_post_paid.cpython-311.pyc +│   │   │   │   │   ├── suggested_post_parameters.cpython-311.pyc +│   │   │   │   │   ├── suggested_post_price.cpython-311.pyc +│   │   │   │   │   ├── suggested_post_refunded.cpython-311.pyc +│   │   │   │   │   ├── switch_inline_query_chosen_chat.cpython-311.pyc +│   │   │   │   │   ├── text_quote.cpython-311.pyc +│   │   │   │   │   ├── transaction_partner_affiliate_program.cpython-311.pyc +│   │   │   │   │   ├── transaction_partner_chat.cpython-311.pyc +│   │   │   │   │   ├── transaction_partner.cpython-311.pyc +│   │   │   │   │   ├── transaction_partner_fragment.cpython-311.pyc +│   │   │   │   │   ├── transaction_partner_other.cpython-311.pyc +│   │   │   │   │   ├── transaction_partner_telegram_ads.cpython-311.pyc +│   │   │   │   │   ├── transaction_partner_telegram_api.cpython-311.pyc +│   │   │   │   │   ├── transaction_partner_union.cpython-311.pyc +│   │   │   │   │   ├── transaction_partner_user.cpython-311.pyc +│   │   │   │   │   ├── unique_gift_backdrop_colors.cpython-311.pyc +│   │   │   │   │   ├── unique_gift_backdrop.cpython-311.pyc +│   │   │   │   │   ├── unique_gift_colors.cpython-311.pyc +│   │   │   │   │   ├── unique_gift.cpython-311.pyc +│   │   │   │   │   ├── unique_gift_info.cpython-311.pyc +│   │   │   │   │   ├── unique_gift_model.cpython-311.pyc +│   │   │   │   │   ├── unique_gift_symbol.cpython-311.pyc +│   │   │   │   │   ├── update.cpython-311.pyc +│   │   │   │   │   ├── user_chat_boosts.cpython-311.pyc +│   │   │   │   │   ├── user.cpython-311.pyc +│   │   │   │   │   ├── user_profile_audios.cpython-311.pyc +│   │   │   │   │   ├── user_profile_photos.cpython-311.pyc +│   │   │   │   │   ├── user_rating.cpython-311.pyc +│   │   │   │   │   ├── user_shared.cpython-311.pyc +│   │   │   │   │   ├── users_shared.cpython-311.pyc +│   │   │   │   │   ├── venue.cpython-311.pyc +│   │   │   │   │   ├── video_chat_ended.cpython-311.pyc +│   │   │   │   │   ├── video_chat_participants_invited.cpython-311.pyc +│   │   │   │   │   ├── video_chat_scheduled.cpython-311.pyc +│   │   │   │   │   ├── video_chat_started.cpython-311.pyc +│   │   │   │   │   ├── video.cpython-311.pyc +│   │   │   │   │   ├── video_note.cpython-311.pyc +│   │   │   │   │   ├── video_quality.cpython-311.pyc +│   │   │   │   │   ├── voice.cpython-311.pyc +│   │   │   │   │   ├── web_app_data.cpython-311.pyc +│   │   │   │   │   ├── web_app_info.cpython-311.pyc +│   │   │   │   │   ├── webhook_info.cpython-311.pyc +│   │   │   │   │   └── write_access_allowed.cpython-311.pyc +│   │   │   │   ├── reaction_count.py +│   │   │   │   ├── reaction_type_custom_emoji.py +│   │   │   │   ├── reaction_type_emoji.py +│   │   │   │   ├── reaction_type_paid.py +│   │   │   │   ├── reaction_type.py +│   │   │   │   ├── reaction_type_union.py +│   │   │   │   ├── refunded_payment.py +│   │   │   │   ├── reply_keyboard_markup.py +│   │   │   │   ├── reply_keyboard_remove.py +│   │   │   │   ├── reply_markup_union.py +│   │   │   │   ├── reply_parameters.py +│   │   │   │   ├── response_parameters.py +│   │   │   │   ├── result_chat_member_union.py +│   │   │   │   ├── result_menu_button_union.py +│   │   │   │   ├── revenue_withdrawal_state_failed.py +│   │   │   │   ├── revenue_withdrawal_state_pending.py +│   │   │   │   ├── revenue_withdrawal_state.py +│   │   │   │   ├── revenue_withdrawal_state_succeeded.py +│   │   │   │   ├── revenue_withdrawal_state_union.py +│   │   │   │   ├── sent_web_app_message.py +│   │   │   │   ├── shared_user.py +│   │   │   │   ├── shipping_address.py +│   │   │   │   ├── shipping_option.py +│   │   │   │   ├── shipping_query.py +│   │   │   │   ├── star_amount.py +│   │   │   │   ├── star_transaction.py +│   │   │   │   ├── star_transactions.py +│   │   │   │   ├── sticker.py +│   │   │   │   ├── sticker_set.py +│   │   │   │   ├── story_area_position.py +│   │   │   │   ├── story_area.py +│   │   │   │   ├── story_area_type_link.py +│   │   │   │   ├── story_area_type_location.py +│   │   │   │   ├── story_area_type.py +│   │   │   │   ├── story_area_type_suggested_reaction.py +│   │   │   │   ├── story_area_type_union.py +│   │   │   │   ├── story_area_type_unique_gift.py +│   │   │   │   ├── story_area_type_weather.py +│   │   │   │   ├── story.py +│   │   │   │   ├── successful_payment.py +│   │   │   │   ├── suggested_post_approval_failed.py +│   │   │   │   ├── suggested_post_approved.py +│   │   │   │   ├── suggested_post_declined.py +│   │   │   │   ├── suggested_post_info.py +│   │   │   │   ├── suggested_post_paid.py +│   │   │   │   ├── suggested_post_parameters.py +│   │   │   │   ├── suggested_post_price.py +│   │   │   │   ├── suggested_post_refunded.py +│   │   │   │   ├── switch_inline_query_chosen_chat.py +│   │   │   │   ├── text_quote.py +│   │   │   │   ├── transaction_partner_affiliate_program.py +│   │   │   │   ├── transaction_partner_chat.py +│   │   │   │   ├── transaction_partner_fragment.py +│   │   │   │   ├── transaction_partner_other.py +│   │   │   │   ├── transaction_partner.py +│   │   │   │   ├── transaction_partner_telegram_ads.py +│   │   │   │   ├── transaction_partner_telegram_api.py +│   │   │   │   ├── transaction_partner_union.py +│   │   │   │   ├── transaction_partner_user.py +│   │   │   │   ├── unique_gift_backdrop_colors.py +│   │   │   │   ├── unique_gift_backdrop.py +│   │   │   │   ├── unique_gift_colors.py +│   │   │   │   ├── unique_gift_info.py +│   │   │   │   ├── unique_gift_model.py +│   │   │   │   ├── unique_gift.py +│   │   │   │   ├── unique_gift_symbol.py +│   │   │   │   ├── update.py +│   │   │   │   ├── user_chat_boosts.py +│   │   │   │   ├── user_profile_audios.py +│   │   │   │   ├── user_profile_photos.py +│   │   │   │   ├── user.py +│   │   │   │   ├── user_rating.py +│   │   │   │   ├── user_shared.py +│   │   │   │   ├── users_shared.py +│   │   │   │   ├── venue.py +│   │   │   │   ├── video_chat_ended.py +│   │   │   │   ├── video_chat_participants_invited.py +│   │   │   │   ├── video_chat_scheduled.py +│   │   │   │   ├── video_chat_started.py +│   │   │   │   ├── video_note.py +│   │   │   │   ├── video.py +│   │   │   │   ├── video_quality.py +│   │   │   │   ├── voice.py +│   │   │   │   ├── web_app_data.py +│   │   │   │   ├── web_app_info.py +│   │   │   │   ├── webhook_info.py +│   │   │   │   └── write_access_allowed.py +│   │   │   ├── utils +│   │   │   │   ├── auth_widget.py +│   │   │   │   ├── backoff.py +│   │   │   │   ├── callback_answer.py +│   │   │   │   ├── chat_action.py +│   │   │   │   ├── chat_member.py +│   │   │   │   ├── class_attrs_resolver.py +│   │   │   │   ├── dataclass.py +│   │   │   │   ├── deep_linking.py +│   │   │   │   ├── formatting.py +│   │   │   │   ├── i18n +│   │   │   │   │   ├── context.py +│   │   │   │   │   ├── core.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── lazy_proxy.py +│   │   │   │   │   ├── middleware.py +│   │   │   │   │   └── __pycache__ +│   │   │   │   │   ├── context.cpython-311.pyc +│   │   │   │   │   ├── core.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── lazy_proxy.cpython-311.pyc +│   │   │   │   │   └── middleware.cpython-311.pyc +│   │   │   │   ├── __init__.py +│   │   │   │   ├── keyboard.py +│   │   │   │   ├── link.py +│   │   │   │   ├── magic_filter.py +│   │   │   │   ├── markdown.py +│   │   │   │   ├── media_group.py +│   │   │   │   ├── mixins.py +│   │   │   │   ├── mypy_hacks.py +│   │   │   │   ├── payload.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── auth_widget.cpython-311.pyc +│   │   │   │   │   ├── backoff.cpython-311.pyc +│   │   │   │   │   ├── callback_answer.cpython-311.pyc +│   │   │   │   │   ├── chat_action.cpython-311.pyc +│   │   │   │   │   ├── chat_member.cpython-311.pyc +│   │   │   │   │   ├── class_attrs_resolver.cpython-311.pyc +│   │   │   │   │   ├── dataclass.cpython-311.pyc +│   │   │   │   │   ├── deep_linking.cpython-311.pyc +│   │   │   │   │   ├── formatting.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── keyboard.cpython-311.pyc +│   │   │   │   │   ├── link.cpython-311.pyc +│   │   │   │   │   ├── magic_filter.cpython-311.pyc +│   │   │   │   │   ├── markdown.cpython-311.pyc +│   │   │   │   │   ├── media_group.cpython-311.pyc +│   │   │   │   │   ├── mixins.cpython-311.pyc +│   │   │   │   │   ├── mypy_hacks.cpython-311.pyc +│   │   │   │   │   ├── payload.cpython-311.pyc +│   │   │   │   │   ├── serialization.cpython-311.pyc +│   │   │   │   │   ├── text_decorations.cpython-311.pyc +│   │   │   │   │   ├── token.cpython-311.pyc +│   │   │   │   │   ├── warnings.cpython-311.pyc +│   │   │   │   │   ├── web_app.cpython-311.pyc +│   │   │   │   │   └── web_app_signature.cpython-311.pyc +│   │   │   │   ├── serialization.py +│   │   │   │   ├── text_decorations.py +│   │   │   │   ├── token.py +│   │   │   │   ├── warnings.py +│   │   │   │   ├── web_app.py +│   │   │   │   └── web_app_signature.py +│   │   │   └── webhook +│   │   │   ├── aiohttp_server.py +│   │   │   ├── __init__.py +│   │   │   ├── __pycache__ +│   │   │   │   ├── aiohttp_server.cpython-311.pyc +│   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   └── security.cpython-311.pyc +│   │   │   └── security.py +│   │   ├── aiogram-3.26.0.dist-info +│   │   │   ├── INSTALLER +│   │   │   ├── licenses +│   │   │   │   └── LICENSE +│   │   │   ├── METADATA +│   │   │   ├── RECORD +│   │   │   ├── REQUESTED +│   │   │   └── WHEEL +│   │   ├── aiohappyeyeballs +│   │   │   ├── impl.py +│   │   │   ├── __init__.py +│   │   │   ├── __pycache__ +│   │   │   │   ├── impl.cpython-311.pyc +│   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   ├── _staggered.cpython-311.pyc +│   │   │   │   ├── types.cpython-311.pyc +│   │   │   │   └── utils.cpython-311.pyc +│   │   │   ├── py.typed +│   │   │   ├── _staggered.py +│   │   │   ├── types.py +│   │   │   └── utils.py +│   │   ├── aiohappyeyeballs-2.6.1.dist-info +│   │   │   ├── INSTALLER +│   │   │   ├── LICENSE +│   │   │   ├── METADATA +│   │   │   ├── RECORD +│   │   │   └── WHEEL +│   │   ├── aiohttp +│   │   │   ├── abc.py +│   │   │   ├── base_protocol.py +│   │   │   ├── client_exceptions.py +│   │   │   ├── client_middleware_digest_auth.py +│   │   │   ├── client_middlewares.py +│   │   │   ├── client_proto.py +│   │   │   ├── client.py +│   │   │   ├── client_reqrep.py +│   │   │   ├── client_ws.py +│   │   │   ├── compression_utils.py +│   │   │   ├── connector.py +│   │   │   ├── _cookie_helpers.py +│   │   │   ├── cookiejar.py +│   │   │   ├── _cparser.pxd +│   │   │   ├── _find_header.pxd +│   │   │   ├── formdata.py +│   │   │   ├── hdrs.py +│   │   │   ├── _headers.pxi +│   │   │   ├── helpers.py +│   │   │   ├── http_exceptions.py +│   │   │   ├── _http_parser.cpython-311-x86_64-linux-gnu.so +│   │   │   ├── http_parser.py +│   │   │   ├── _http_parser.pyx +│   │   │   ├── http.py +│   │   │   ├── http_websocket.py +│   │   │   ├── _http_writer.cpython-311-x86_64-linux-gnu.so +│   │   │   ├── http_writer.py +│   │   │   ├── _http_writer.pyx +│   │   │   ├── __init__.py +│   │   │   ├── log.py +│   │   │   ├── multipart.py +│   │   │   ├── payload.py +│   │   │   ├── payload_streamer.py +│   │   │   ├── __pycache__ +│   │   │   │   ├── abc.cpython-311.pyc +│   │   │   │   ├── base_protocol.cpython-311.pyc +│   │   │   │   ├── client.cpython-311.pyc +│   │   │   │   ├── client_exceptions.cpython-311.pyc +│   │   │   │   ├── client_middleware_digest_auth.cpython-311.pyc +│   │   │   │   ├── client_middlewares.cpython-311.pyc +│   │   │   │   ├── client_proto.cpython-311.pyc +│   │   │   │   ├── client_reqrep.cpython-311.pyc +│   │   │   │   ├── client_ws.cpython-311.pyc +│   │   │   │   ├── compression_utils.cpython-311.pyc +│   │   │   │   ├── connector.cpython-311.pyc +│   │   │   │   ├── _cookie_helpers.cpython-311.pyc +│   │   │   │   ├── cookiejar.cpython-311.pyc +│   │   │   │   ├── formdata.cpython-311.pyc +│   │   │   │   ├── hdrs.cpython-311.pyc +│   │   │   │   ├── helpers.cpython-311.pyc +│   │   │   │   ├── http.cpython-311.pyc +│   │   │   │   ├── http_exceptions.cpython-311.pyc +│   │   │   │   ├── http_parser.cpython-311.pyc +│   │   │   │   ├── http_websocket.cpython-311.pyc +│   │   │   │   ├── http_writer.cpython-311.pyc +│   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   ├── log.cpython-311.pyc +│   │   │   │   ├── multipart.cpython-311.pyc +│   │   │   │   ├── payload.cpython-311.pyc +│   │   │   │   ├── payload_streamer.cpython-311.pyc +│   │   │   │   ├── pytest_plugin.cpython-311.pyc +│   │   │   │   ├── resolver.cpython-311.pyc +│   │   │   │   ├── streams.cpython-311.pyc +│   │   │   │   ├── tcp_helpers.cpython-311.pyc +│   │   │   │   ├── test_utils.cpython-311.pyc +│   │   │   │   ├── tracing.cpython-311.pyc +│   │   │   │   ├── typedefs.cpython-311.pyc +│   │   │   │   ├── web_app.cpython-311.pyc +│   │   │   │   ├── web.cpython-311.pyc +│   │   │   │   ├── web_exceptions.cpython-311.pyc +│   │   │   │   ├── web_fileresponse.cpython-311.pyc +│   │   │   │   ├── web_log.cpython-311.pyc +│   │   │   │   ├── web_middlewares.cpython-311.pyc +│   │   │   │   ├── web_protocol.cpython-311.pyc +│   │   │   │   ├── web_request.cpython-311.pyc +│   │   │   │   ├── web_response.cpython-311.pyc +│   │   │   │   ├── web_routedef.cpython-311.pyc +│   │   │   │   ├── web_runner.cpython-311.pyc +│   │   │   │   ├── web_server.cpython-311.pyc +│   │   │   │   ├── web_urldispatcher.cpython-311.pyc +│   │   │   │   ├── web_ws.cpython-311.pyc +│   │   │   │   └── worker.cpython-311.pyc +│   │   │   ├── pytest_plugin.py +│   │   │   ├── py.typed +│   │   │   ├── resolver.py +│   │   │   ├── streams.py +│   │   │   ├── tcp_helpers.py +│   │   │   ├── test_utils.py +│   │   │   ├── tracing.py +│   │   │   ├── typedefs.py +│   │   │   ├── web_app.py +│   │   │   ├── web_exceptions.py +│   │   │   ├── web_fileresponse.py +│   │   │   ├── web_log.py +│   │   │   ├── web_middlewares.py +│   │   │   ├── web_protocol.py +│   │   │   ├── web.py +│   │   │   ├── web_request.py +│   │   │   ├── web_response.py +│   │   │   ├── web_routedef.py +│   │   │   ├── web_runner.py +│   │   │   ├── web_server.py +│   │   │   ├── _websocket +│   │   │   │   ├── helpers.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── mask.cpython-311-x86_64-linux-gnu.so +│   │   │   │   ├── mask.pxd +│   │   │   │   ├── mask.pyx +│   │   │   │   ├── models.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── helpers.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── models.cpython-311.pyc +│   │   │   │   │   ├── reader_c.cpython-311.pyc +│   │   │   │   │   ├── reader.cpython-311.pyc +│   │   │   │   │   ├── reader_py.cpython-311.pyc +│   │   │   │   │   └── writer.cpython-311.pyc +│   │   │   │   ├── reader_c.cpython-311-x86_64-linux-gnu.so +│   │   │   │   ├── reader_c.pxd +│   │   │   │   ├── reader_c.py +│   │   │   │   ├── reader.py +│   │   │   │   ├── reader_py.py +│   │   │   │   └── writer.py +│   │   │   ├── web_urldispatcher.py +│   │   │   ├── web_ws.py +│   │   │   └── worker.py +│   │   ├── aiohttp-3.13.3.dist-info +│   │   │   ├── INSTALLER +│   │   │   ├── licenses +│   │   │   │   ├── LICENSE.txt +│   │   │   │   └── vendor +│   │   │   │   └── llhttp +│   │   │   │   └── LICENSE +│   │   │   ├── METADATA +│   │   │   ├── RECORD +│   │   │   ├── top_level.txt +│   │   │   └── WHEEL +│   │   ├── aiohttp_socks +│   │   │   ├── connector.py +│   │   │   ├── _deprecated.py +│   │   │   ├── _errors.py +│   │   │   ├── __init__.py +│   │   │   ├── __pycache__ +│   │   │   │   ├── connector.cpython-311.pyc +│   │   │   │   ├── _deprecated.cpython-311.pyc +│   │   │   │   ├── _errors.cpython-311.pyc +│   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   └── utils.cpython-311.pyc +│   │   │   ├── py.typed +│   │   │   └── utils.py +│   │   ├── aiohttp_socks-0.11.0.dist-info +│   │   │   ├── INSTALLER +│   │   │   ├── licenses +│   │   │   │   └── LICENSE.txt +│   │   │   ├── METADATA +│   │   │   ├── RECORD +│   │   │   ├── REQUESTED +│   │   │   ├── top_level.txt +│   │   │   └── WHEEL +│   │   ├── aiosignal +│   │   │   ├── __init__.py +│   │   │   ├── __pycache__ +│   │   │   │   └── __init__.cpython-311.pyc +│   │   │   └── py.typed +│   │   ├── aiosignal-1.4.0.dist-info +│   │   │   ├── INSTALLER +│   │   │   ├── licenses +│   │   │   │   └── LICENSE +│   │   │   ├── METADATA +│   │   │   ├── RECORD +│   │   │   ├── top_level.txt +│   │   │   └── WHEEL +│   │   ├── annotated_types +│   │   │   ├── __init__.py +│   │   │   ├── __pycache__ +│   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   └── test_cases.cpython-311.pyc +│   │   │   ├── py.typed +│   │   │   └── test_cases.py +│   │   ├── annotated_types-0.7.0.dist-info +│   │   │   ├── INSTALLER +│   │   │   ├── licenses +│   │   │   │   └── LICENSE +│   │   │   ├── METADATA +│   │   │   ├── RECORD +│   │   │   └── WHEEL +│   │   ├── attr +│   │   │   ├── _cmp.py +│   │   │   ├── _cmp.pyi +│   │   │   ├── _compat.py +│   │   │   ├── _config.py +│   │   │   ├── converters.py +│   │   │   ├── converters.pyi +│   │   │   ├── exceptions.py +│   │   │   ├── exceptions.pyi +│   │   │   ├── filters.py +│   │   │   ├── filters.pyi +│   │   │   ├── _funcs.py +│   │   │   ├── __init__.py +│   │   │   ├── __init__.pyi +│   │   │   ├── _make.py +│   │   │   ├── _next_gen.py +│   │   │   ├── __pycache__ +│   │   │   │   ├── _cmp.cpython-311.pyc +│   │   │   │   ├── _compat.cpython-311.pyc +│   │   │   │   ├── _config.cpython-311.pyc +│   │   │   │   ├── converters.cpython-311.pyc +│   │   │   │   ├── exceptions.cpython-311.pyc +│   │   │   │   ├── filters.cpython-311.pyc +│   │   │   │   ├── _funcs.cpython-311.pyc +│   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   ├── _make.cpython-311.pyc +│   │   │   │   ├── _next_gen.cpython-311.pyc +│   │   │   │   ├── setters.cpython-311.pyc +│   │   │   │   ├── validators.cpython-311.pyc +│   │   │   │   └── _version_info.cpython-311.pyc +│   │   │   ├── py.typed +│   │   │   ├── setters.py +│   │   │   ├── setters.pyi +│   │   │   ├── _typing_compat.pyi +│   │   │   ├── validators.py +│   │   │   ├── validators.pyi +│   │   │   ├── _version_info.py +│   │   │   └── _version_info.pyi +│   │   ├── attrs +│   │   │   ├── converters.py +│   │   │   ├── exceptions.py +│   │   │   ├── filters.py +│   │   │   ├── __init__.py +│   │   │   ├── __init__.pyi +│   │   │   ├── __pycache__ +│   │   │   │   ├── converters.cpython-311.pyc +│   │   │   │   ├── exceptions.cpython-311.pyc +│   │   │   │   ├── filters.cpython-311.pyc +│   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   ├── setters.cpython-311.pyc +│   │   │   │   └── validators.cpython-311.pyc +│   │   │   ├── py.typed +│   │   │   ├── setters.py +│   │   │   └── validators.py +│   │   ├── attrs-25.4.0.dist-info +│   │   │   ├── INSTALLER +│   │   │   ├── licenses +│   │   │   │   └── LICENSE +│   │   │   ├── METADATA +│   │   │   ├── RECORD +│   │   │   └── WHEEL +│   │   ├── boto3 +│   │   │   ├── compat.py +│   │   │   ├── crt.py +│   │   │   ├── data +│   │   │   │   ├── cloudformation +│   │   │   │   │   └── 2010-05-15 +│   │   │   │   │   └── resources-1.json +│   │   │   │   ├── cloudwatch +│   │   │   │   │   └── 2010-08-01 +│   │   │   │   │   └── resources-1.json +│   │   │   │   ├── dynamodb +│   │   │   │   │   └── 2012-08-10 +│   │   │   │   │   └── resources-1.json +│   │   │   │   ├── ec2 +│   │   │   │   │   ├── 2014-10-01 +│   │   │   │   │   │   └── resources-1.json +│   │   │   │   │   ├── 2015-03-01 +│   │   │   │   │   │   └── resources-1.json +│   │   │   │   │   ├── 2015-04-15 +│   │   │   │   │   │   └── resources-1.json +│   │   │   │   │   ├── 2015-10-01 +│   │   │   │   │   │   └── resources-1.json +│   │   │   │   │   ├── 2016-04-01 +│   │   │   │   │   │   └── resources-1.json +│   │   │   │   │   ├── 2016-09-15 +│   │   │   │   │   │   └── resources-1.json +│   │   │   │   │   └── 2016-11-15 +│   │   │   │   │   └── resources-1.json +│   │   │   │   ├── glacier +│   │   │   │   │   └── 2012-06-01 +│   │   │   │   │   └── resources-1.json +│   │   │   │   ├── iam +│   │   │   │   │   └── 2010-05-08 +│   │   │   │   │   └── resources-1.json +│   │   │   │   ├── s3 +│   │   │   │   │   └── 2006-03-01 +│   │   │   │   │   └── resources-1.json +│   │   │   │   ├── sns +│   │   │   │   │   └── 2010-03-31 +│   │   │   │   │   └── resources-1.json +│   │   │   │   └── sqs +│   │   │   │   └── 2012-11-05 +│   │   │   │   └── resources-1.json +│   │   │   ├── docs +│   │   │   │   ├── action.py +│   │   │   │   ├── attr.py +│   │   │   │   ├── base.py +│   │   │   │   ├── client.py +│   │   │   │   ├── collection.py +│   │   │   │   ├── docstring.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── method.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── action.cpython-311.pyc +│   │   │   │   │   ├── attr.cpython-311.pyc +│   │   │   │   │   ├── base.cpython-311.pyc +│   │   │   │   │   ├── client.cpython-311.pyc +│   │   │   │   │   ├── collection.cpython-311.pyc +│   │   │   │   │   ├── docstring.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── method.cpython-311.pyc +│   │   │   │   │   ├── resource.cpython-311.pyc +│   │   │   │   │   ├── service.cpython-311.pyc +│   │   │   │   │   ├── subresource.cpython-311.pyc +│   │   │   │   │   ├── utils.cpython-311.pyc +│   │   │   │   │   └── waiter.cpython-311.pyc +│   │   │   │   ├── resource.py +│   │   │   │   ├── service.py +│   │   │   │   ├── subresource.py +│   │   │   │   ├── utils.py +│   │   │   │   └── waiter.py +│   │   │   ├── dynamodb +│   │   │   │   ├── conditions.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── conditions.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── table.cpython-311.pyc +│   │   │   │   │   ├── transform.cpython-311.pyc +│   │   │   │   │   └── types.cpython-311.pyc +│   │   │   │   ├── table.py +│   │   │   │   ├── transform.py +│   │   │   │   └── types.py +│   │   │   ├── ec2 +│   │   │   │   ├── createtags.py +│   │   │   │   ├── deletetags.py +│   │   │   │   ├── __init__.py +│   │   │   │   └── __pycache__ +│   │   │   │   ├── createtags.cpython-311.pyc +│   │   │   │   ├── deletetags.cpython-311.pyc +│   │   │   │   └── __init__.cpython-311.pyc +│   │   │   ├── examples +│   │   │   │   ├── cloudfront.rst +│   │   │   │   └── s3.rst +│   │   │   ├── exceptions.py +│   │   │   ├── __init__.py +│   │   │   ├── __pycache__ +│   │   │   │   ├── compat.cpython-311.pyc +│   │   │   │   ├── crt.cpython-311.pyc +│   │   │   │   ├── exceptions.cpython-311.pyc +│   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   ├── session.cpython-311.pyc +│   │   │   │   └── utils.cpython-311.pyc +│   │   │   ├── resources +│   │   │   │   ├── action.py +│   │   │   │   ├── base.py +│   │   │   │   ├── collection.py +│   │   │   │   ├── factory.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── model.py +│   │   │   │   ├── params.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── action.cpython-311.pyc +│   │   │   │   │   ├── base.cpython-311.pyc +│   │   │   │   │   ├── collection.cpython-311.pyc +│   │   │   │   │   ├── factory.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── model.cpython-311.pyc +│   │   │   │   │   ├── params.cpython-311.pyc +│   │   │   │   │   └── response.cpython-311.pyc +│   │   │   │   └── response.py +│   │   │   ├── s3 +│   │   │   │   ├── constants.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── inject.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── constants.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── inject.cpython-311.pyc +│   │   │   │   │   └── transfer.cpython-311.pyc +│   │   │   │   └── transfer.py +│   │   │   ├── session.py +│   │   │   └── utils.py +│   │   ├── boto3-1.42.70.dist-info +│   │   │   ├── INSTALLER +│   │   │   ├── LICENSE +│   │   │   ├── METADATA +│   │   │   ├── NOTICE +│   │   │   ├── RECORD +│   │   │   ├── REQUESTED +│   │   │   ├── top_level.txt +│   │   │   └── WHEEL +│   │   ├── botocore +│   │   │   ├── args.py +│   │   │   ├── auth.py +│   │   │   ├── awsrequest.py +│   │   │   ├── cacert.pem +│   │   │   ├── client.py +│   │   │   ├── compat.py +│   │   │   ├── compress.py +│   │   │   ├── configloader.py +│   │   │   ├── configprovider.py +│   │   │   ├── config.py +│   │   │   ├── context.py +│   │   │   ├── credentials.py +│   │   │   ├── crt +│   │   │   │   ├── auth.py +│   │   │   │   ├── __init__.py +│   │   │   │   └── __pycache__ +│   │   │   │   ├── auth.cpython-311.pyc +│   │   │   │   └── __init__.cpython-311.pyc +│   │   │   ├── data +│   │   │   │   ├── accessanalyzer +│   │   │   │   │   └── 2019-11-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── account +│   │   │   │   │   └── 2021-02-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── acm +│   │   │   │   │   └── 2015-12-08 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── acm-pca +│   │   │   │   │   └── 2017-08-22 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── aiops +│   │   │   │   │   └── 2018-05-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── amp +│   │   │   │   │   └── 2020-08-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── amplify +│   │   │   │   │   └── 2017-07-25 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── amplifybackend +│   │   │   │   │   └── 2020-08-11 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── amplifyuibuilder +│   │   │   │   │   └── 2021-08-11 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── apigateway +│   │   │   │   │   └── 2015-07-09 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── apigatewaymanagementapi +│   │   │   │   │   └── 2018-11-29 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── apigatewayv2 +│   │   │   │   │   └── 2018-11-29 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── appconfig +│   │   │   │   │   └── 2019-10-09 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── appconfigdata +│   │   │   │   │   └── 2021-11-11 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── appfabric +│   │   │   │   │   └── 2023-05-19 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── appflow +│   │   │   │   │   └── 2020-08-23 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── appintegrations +│   │   │   │   │   └── 2020-07-29 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── application-autoscaling +│   │   │   │   │   └── 2016-02-06 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── applicationcostprofiler +│   │   │   │   │   └── 2020-09-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── application-insights +│   │   │   │   │   └── 2018-11-25 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── application-signals +│   │   │   │   │   └── 2024-04-15 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── appmesh +│   │   │   │   │   ├── 2018-10-01 +│   │   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   │   ├── examples-1.json +│   │   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   │   └── service-2.json.gz +│   │   │   │   │   └── 2019-01-25 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── apprunner +│   │   │   │   │   └── 2020-05-15 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── appstream +│   │   │   │   │   └── 2016-12-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── appsync +│   │   │   │   │   └── 2017-07-25 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── arc-region-switch +│   │   │   │   │   └── 2022-07-26 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── arc-zonal-shift +│   │   │   │   │   └── 2022-10-30 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── artifact +│   │   │   │   │   └── 2018-05-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── athena +│   │   │   │   │   └── 2017-05-18 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── auditmanager +│   │   │   │   │   └── 2017-07-25 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── autoscaling +│   │   │   │   │   └── 2011-01-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── autoscaling-plans +│   │   │   │   │   └── 2018-01-06 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── b2bi +│   │   │   │   │   └── 2022-06-23 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── backup +│   │   │   │   │   └── 2018-11-15 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── backup-gateway +│   │   │   │   │   └── 2021-01-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── backupsearch +│   │   │   │   │   └── 2018-05-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── batch +│   │   │   │   │   └── 2016-08-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── bcm-dashboards +│   │   │   │   │   └── 2025-08-18 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── bcm-data-exports +│   │   │   │   │   └── 2023-11-26 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── bcm-pricing-calculator +│   │   │   │   │   └── 2024-06-19 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── bcm-recommended-actions +│   │   │   │   │   └── 2024-11-14 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── bedrock +│   │   │   │   │   └── 2023-04-20 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── bedrock-agent +│   │   │   │   │   └── 2023-06-05 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── bedrock-agentcore +│   │   │   │   │   └── 2024-02-28 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── bedrock-agentcore-control +│   │   │   │   │   └── 2023-06-05 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── bedrock-agent-runtime +│   │   │   │   │   └── 2023-07-26 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── bedrock-data-automation +│   │   │   │   │   └── 2023-07-26 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── bedrock-data-automation-runtime +│   │   │   │   │   └── 2024-06-13 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── bedrock-runtime +│   │   │   │   │   └── 2023-09-30 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── billing +│   │   │   │   │   └── 2023-09-07 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── billingconductor +│   │   │   │   │   └── 2021-07-30 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── braket +│   │   │   │   │   └── 2019-09-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── budgets +│   │   │   │   │   └── 2016-10-20 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── ce +│   │   │   │   │   └── 2017-10-25 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── chatbot +│   │   │   │   │   └── 2017-10-11 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── chime +│   │   │   │   │   └── 2018-05-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── chime-sdk-identity +│   │   │   │   │   └── 2021-04-20 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── chime-sdk-media-pipelines +│   │   │   │   │   └── 2021-07-15 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── chime-sdk-meetings +│   │   │   │   │   └── 2021-07-15 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── chime-sdk-messaging +│   │   │   │   │   └── 2021-05-15 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── chime-sdk-voice +│   │   │   │   │   └── 2022-08-03 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── cleanrooms +│   │   │   │   │   └── 2022-02-17 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── cleanroomsml +│   │   │   │   │   └── 2023-09-06 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── cloud9 +│   │   │   │   │   └── 2017-09-23 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── cloudcontrol +│   │   │   │   │   └── 2021-09-30 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── clouddirectory +│   │   │   │   │   ├── 2016-05-10 +│   │   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   │   ├── examples-1.json +│   │   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   │   └── service-2.json.gz +│   │   │   │   │   └── 2017-01-11 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── cloudformation +│   │   │   │   │   └── 2010-05-15 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── cloudfront +│   │   │   │   │   ├── 2014-05-31 +│   │   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   │   └── waiters-2.json +│   │   │   │   │   ├── 2014-10-21 +│   │   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   │   └── waiters-2.json +│   │   │   │   │   ├── 2014-11-06 +│   │   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   │   └── waiters-2.json +│   │   │   │   │   ├── 2015-04-17 +│   │   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   │   └── waiters-2.json +│   │   │   │   │   ├── 2015-07-27 +│   │   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   │   └── waiters-2.json +│   │   │   │   │   ├── 2015-09-17 +│   │   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   │   └── waiters-2.json +│   │   │   │   │   ├── 2016-01-13 +│   │   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   │   └── waiters-2.json +│   │   │   │   │   ├── 2016-01-28 +│   │   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   │   ├── examples-1.json +│   │   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   │   └── waiters-2.json +│   │   │   │   │   ├── 2016-08-01 +│   │   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   │   ├── examples-1.json +│   │   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   │   └── waiters-2.json +│   │   │   │   │   ├── 2016-08-20 +│   │   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   │   └── waiters-2.json +│   │   │   │   │   ├── 2016-09-07 +│   │   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   │   ├── examples-1.json +│   │   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   │   └── waiters-2.json +│   │   │   │   │   ├── 2016-09-29 +│   │   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   │   ├── examples-1.json +│   │   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   │   └── waiters-2.json +│   │   │   │   │   ├── 2016-11-25 +│   │   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   │   ├── examples-1.json +│   │   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   │   └── waiters-2.json +│   │   │   │   │   ├── 2017-03-25 +│   │   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   │   └── waiters-2.json +│   │   │   │   │   ├── 2017-10-30 +│   │   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   │   ├── examples-1.json +│   │   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   │   └── waiters-2.json +│   │   │   │   │   ├── 2018-06-18 +│   │   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   │   ├── examples-1.json +│   │   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   │   └── waiters-2.json +│   │   │   │   │   ├── 2018-11-05 +│   │   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   │   ├── examples-1.json +│   │   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   │   └── waiters-2.json +│   │   │   │   │   ├── 2019-03-26 +│   │   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   │   ├── examples-1.json +│   │   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   │   └── waiters-2.json +│   │   │   │   │   └── 2020-05-31 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── cloudfront-keyvaluestore +│   │   │   │   │   └── 2022-07-26 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── cloudhsm +│   │   │   │   │   └── 2014-05-30 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── cloudhsmv2 +│   │   │   │   │   └── 2017-04-28 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── cloudsearch +│   │   │   │   │   ├── 2011-02-01 +│   │   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   │   └── service-2.json.gz +│   │   │   │   │   └── 2013-01-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── cloudsearchdomain +│   │   │   │   │   └── 2013-01-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── cloudtrail +│   │   │   │   │   └── 2013-11-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── cloudtrail-data +│   │   │   │   │   └── 2021-08-11 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── cloudwatch +│   │   │   │   │   └── 2010-08-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── codeartifact +│   │   │   │   │   └── 2018-09-22 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── codebuild +│   │   │   │   │   └── 2016-10-06 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── codecatalyst +│   │   │   │   │   └── 2022-09-28 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── codecommit +│   │   │   │   │   └── 2015-04-13 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── codeconnections +│   │   │   │   │   └── 2023-12-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── codedeploy +│   │   │   │   │   └── 2014-10-06 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── codeguruprofiler +│   │   │   │   │   └── 2019-07-18 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── codeguru-reviewer +│   │   │   │   │   └── 2019-09-19 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── codeguru-security +│   │   │   │   │   └── 2018-05-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── codepipeline +│   │   │   │   │   └── 2015-07-09 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── codestar-connections +│   │   │   │   │   └── 2019-12-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── codestar-notifications +│   │   │   │   │   └── 2019-10-15 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── cognito-identity +│   │   │   │   │   └── 2014-06-30 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── cognito-idp +│   │   │   │   │   └── 2016-04-18 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── cognito-sync +│   │   │   │   │   └── 2014-06-30 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── comprehend +│   │   │   │   │   └── 2017-11-27 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── comprehendmedical +│   │   │   │   │   └── 2018-10-30 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── compute-optimizer +│   │   │   │   │   └── 2019-11-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── compute-optimizer-automation +│   │   │   │   │   └── 2025-09-22 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── config +│   │   │   │   │   └── 2014-11-12 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── connect +│   │   │   │   │   └── 2017-08-08 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── connectcampaigns +│   │   │   │   │   └── 2021-01-30 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── connectcampaignsv2 +│   │   │   │   │   └── 2024-04-23 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── connectcases +│   │   │   │   │   └── 2022-10-03 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── connect-contact-lens +│   │   │   │   │   └── 2020-08-21 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── connecthealth +│   │   │   │   │   └── 2025-01-29 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── connectparticipant +│   │   │   │   │   └── 2018-09-07 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── controlcatalog +│   │   │   │   │   └── 2018-05-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── controltower +│   │   │   │   │   └── 2018-05-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── cost-optimization-hub +│   │   │   │   │   └── 2022-07-26 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── cur +│   │   │   │   │   └── 2017-01-06 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── customer-profiles +│   │   │   │   │   └── 2020-08-15 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── databrew +│   │   │   │   │   └── 2017-07-25 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── dataexchange +│   │   │   │   │   └── 2017-07-25 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── datapipeline +│   │   │   │   │   └── 2012-10-29 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── datasync +│   │   │   │   │   └── 2018-11-09 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── datazone +│   │   │   │   │   └── 2018-05-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── dax +│   │   │   │   │   └── 2017-04-19 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── deadline +│   │   │   │   │   └── 2023-10-12 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── detective +│   │   │   │   │   └── 2018-10-26 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── devicefarm +│   │   │   │   │   └── 2015-06-23 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── devops-guru +│   │   │   │   │   └── 2020-12-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── directconnect +│   │   │   │   │   └── 2012-10-25 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── discovery +│   │   │   │   │   └── 2015-11-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── dlm +│   │   │   │   │   └── 2018-01-12 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── dms +│   │   │   │   │   └── 2016-01-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── docdb +│   │   │   │   │   └── 2014-10-31 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   ├── service-2.sdk-extras.json +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── docdb-elastic +│   │   │   │   │   └── 2022-11-28 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── drs +│   │   │   │   │   └── 2020-02-26 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── ds +│   │   │   │   │   └── 2015-04-16 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── ds-data +│   │   │   │   │   └── 2023-05-31 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── dsql +│   │   │   │   │   └── 2018-05-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── dynamodb +│   │   │   │   │   ├── 2011-12-05 +│   │   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   │   └── examples-1.json +│   │   │   │   │   └── 2012-08-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── dynamodbstreams +│   │   │   │   │   └── 2012-08-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── ebs +│   │   │   │   │   └── 2019-11-02 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── ec2 +│   │   │   │   │   ├── 2014-09-01 +│   │   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   │   └── waiters-2.json +│   │   │   │   │   ├── 2014-10-01 +│   │   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   │   └── waiters-2.json +│   │   │   │   │   ├── 2015-03-01 +│   │   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   │   └── waiters-2.json +│   │   │   │   │   ├── 2015-04-15 +│   │   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   │   └── waiters-2.json +│   │   │   │   │   ├── 2015-10-01 +│   │   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   │   ├── examples-1.json +│   │   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   │   └── waiters-2.json +│   │   │   │   │   ├── 2016-04-01 +│   │   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   │   ├── examples-1.json +│   │   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   │   └── waiters-2.json +│   │   │   │   │   ├── 2016-09-15 +│   │   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   │   ├── examples-1.json +│   │   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   │   └── waiters-2.json +│   │   │   │   │   └── 2016-11-15 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── ec2-instance-connect +│   │   │   │   │   └── 2018-04-02 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── ecr +│   │   │   │   │   └── 2015-09-21 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── ecr-public +│   │   │   │   │   └── 2020-10-30 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── ecs +│   │   │   │   │   └── 2014-11-13 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── efs +│   │   │   │   │   └── 2015-02-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── eks +│   │   │   │   │   └── 2017-11-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   ├── service-2.sdk-extras.json +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── eks-auth +│   │   │   │   │   └── 2023-11-26 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── elasticache +│   │   │   │   │   ├── 2014-09-30 +│   │   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   │   └── waiters-2.json +│   │   │   │   │   └── 2015-02-02 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── elasticbeanstalk +│   │   │   │   │   └── 2010-12-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── elb +│   │   │   │   │   └── 2012-06-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── elbv2 +│   │   │   │   │   └── 2015-12-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── elementalinference +│   │   │   │   │   └── 2018-11-14 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── emr +│   │   │   │   │   └── 2009-03-31 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── emr-containers +│   │   │   │   │   └── 2020-10-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── emr-serverless +│   │   │   │   │   └── 2021-07-13 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── endpoints.json +│   │   │   │   ├── entityresolution +│   │   │   │   │   └── 2018-05-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── es +│   │   │   │   │   └── 2015-01-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── events +│   │   │   │   │   ├── 2014-02-03 +│   │   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   │   └── service-2.json.gz +│   │   │   │   │   └── 2015-10-07 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── evs +│   │   │   │   │   └── 2023-07-27 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── finspace +│   │   │   │   │   └── 2021-03-12 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── finspace-data +│   │   │   │   │   └── 2020-07-13 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── firehose +│   │   │   │   │   └── 2015-08-04 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── fis +│   │   │   │   │   └── 2020-12-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── fms +│   │   │   │   │   └── 2018-01-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── forecast +│   │   │   │   │   └── 2018-06-26 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── forecastquery +│   │   │   │   │   └── 2018-06-26 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── frauddetector +│   │   │   │   │   └── 2019-11-15 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── freetier +│   │   │   │   │   └── 2023-09-07 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── fsx +│   │   │   │   │   └── 2018-03-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── gamelift +│   │   │   │   │   └── 2015-10-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── gameliftstreams +│   │   │   │   │   └── 2018-05-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── geo-maps +│   │   │   │   │   └── 2020-11-19 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── geo-places +│   │   │   │   │   └── 2020-11-19 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── geo-routes +│   │   │   │   │   └── 2020-11-19 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── glacier +│   │   │   │   │   └── 2012-06-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── globalaccelerator +│   │   │   │   │   └── 2018-08-08 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── glue +│   │   │   │   │   └── 2017-03-31 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── grafana +│   │   │   │   │   └── 2020-08-18 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── greengrass +│   │   │   │   │   └── 2017-06-07 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── greengrassv2 +│   │   │   │   │   └── 2020-11-30 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── groundstation +│   │   │   │   │   └── 2019-05-23 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── guardduty +│   │   │   │   │   └── 2017-11-28 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── health +│   │   │   │   │   └── 2016-08-04 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── healthlake +│   │   │   │   │   └── 2017-07-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── iam +│   │   │   │   │   └── 2010-05-08 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── identitystore +│   │   │   │   │   └── 2020-06-15 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── imagebuilder +│   │   │   │   │   └── 2019-12-02 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── importexport +│   │   │   │   │   └── 2010-06-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── inspector +│   │   │   │   │   ├── 2015-08-18 +│   │   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   │   └── service-2.json.gz +│   │   │   │   │   └── 2016-02-16 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── inspector2 +│   │   │   │   │   └── 2020-06-08 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── inspector-scan +│   │   │   │   │   └── 2023-08-08 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── internetmonitor +│   │   │   │   │   └── 2021-06-03 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── invoicing +│   │   │   │   │   └── 2024-12-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── iot +│   │   │   │   │   └── 2015-05-28 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── iot-data +│   │   │   │   │   └── 2015-05-28 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── iotdeviceadvisor +│   │   │   │   │   └── 2020-09-18 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── iotevents +│   │   │   │   │   └── 2018-07-27 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── iotevents-data +│   │   │   │   │   └── 2018-10-23 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── iotfleetwise +│   │   │   │   │   └── 2021-06-17 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── iot-jobs-data +│   │   │   │   │   └── 2017-09-29 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── iot-managed-integrations +│   │   │   │   │   └── 2025-03-03 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── iotsecuretunneling +│   │   │   │   │   └── 2018-10-05 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── iotsitewise +│   │   │   │   │   └── 2019-12-02 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── iotthingsgraph +│   │   │   │   │   └── 2018-09-06 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── iottwinmaker +│   │   │   │   │   └── 2021-11-29 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── iotwireless +│   │   │   │   │   └── 2020-11-22 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── ivs +│   │   │   │   │   └── 2020-07-14 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── ivschat +│   │   │   │   │   └── 2020-07-14 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── ivs-realtime +│   │   │   │   │   └── 2020-07-14 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── kafka +│   │   │   │   │   └── 2018-11-14 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── kafkaconnect +│   │   │   │   │   └── 2021-09-14 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── kendra +│   │   │   │   │   └── 2019-02-03 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── kendra-ranking +│   │   │   │   │   └── 2022-10-19 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── keyspaces +│   │   │   │   │   └── 2022-02-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── keyspacesstreams +│   │   │   │   │   └── 2024-09-09 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── kinesis +│   │   │   │   │   └── 2013-12-02 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── kinesisanalytics +│   │   │   │   │   └── 2015-08-14 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── kinesisanalyticsv2 +│   │   │   │   │   └── 2018-05-23 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── kinesisvideo +│   │   │   │   │   └── 2017-09-30 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── kinesis-video-archived-media +│   │   │   │   │   └── 2017-09-30 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── kinesis-video-media +│   │   │   │   │   └── 2017-09-30 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── kinesis-video-signaling +│   │   │   │   │   └── 2019-12-04 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── kinesis-video-webrtc-storage +│   │   │   │   │   └── 2018-05-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── kms +│   │   │   │   │   └── 2014-11-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── lakeformation +│   │   │   │   │   └── 2017-03-31 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── lambda +│   │   │   │   │   ├── 2014-11-11 +│   │   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   │   └── service-2.json.gz +│   │   │   │   │   └── 2015-03-31 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── launch-wizard +│   │   │   │   │   └── 2018-05-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── lex-models +│   │   │   │   │   └── 2017-04-19 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── lex-runtime +│   │   │   │   │   └── 2016-11-28 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── lexv2-models +│   │   │   │   │   └── 2020-08-07 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── lexv2-runtime +│   │   │   │   │   └── 2020-08-07 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── license-manager +│   │   │   │   │   └── 2018-08-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── license-manager-linux-subscriptions +│   │   │   │   │   └── 2018-05-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── license-manager-user-subscriptions +│   │   │   │   │   └── 2018-05-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── lightsail +│   │   │   │   │   └── 2016-11-28 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── location +│   │   │   │   │   └── 2020-11-19 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── logs +│   │   │   │   │   └── 2014-03-28 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── lookoutequipment +│   │   │   │   │   └── 2020-12-15 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── m2 +│   │   │   │   │   └── 2021-04-28 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── machinelearning +│   │   │   │   │   └── 2014-12-12 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── macie2 +│   │   │   │   │   └── 2020-01-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── mailmanager +│   │   │   │   │   └── 2023-10-17 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── managedblockchain +│   │   │   │   │   └── 2018-09-24 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── managedblockchain-query +│   │   │   │   │   └── 2023-05-04 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── marketplace-agreement +│   │   │   │   │   └── 2020-03-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── marketplace-catalog +│   │   │   │   │   └── 2018-09-17 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── marketplacecommerceanalytics +│   │   │   │   │   └── 2015-07-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── marketplace-deployment +│   │   │   │   │   └── 2023-01-25 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── marketplace-entitlement +│   │   │   │   │   └── 2017-01-11 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── marketplace-reporting +│   │   │   │   │   └── 2018-05-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── mediaconnect +│   │   │   │   │   └── 2018-11-14 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── mediaconvert +│   │   │   │   │   └── 2017-08-29 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── medialive +│   │   │   │   │   └── 2017-10-14 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── mediapackage +│   │   │   │   │   └── 2017-10-12 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── mediapackagev2 +│   │   │   │   │   └── 2022-12-25 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── mediapackage-vod +│   │   │   │   │   └── 2018-11-07 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── mediastore +│   │   │   │   │   └── 2017-09-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── mediastore-data +│   │   │   │   │   └── 2017-09-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── mediatailor +│   │   │   │   │   └── 2018-04-23 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── medical-imaging +│   │   │   │   │   └── 2023-07-19 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── memorydb +│   │   │   │   │   └── 2021-01-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── meteringmarketplace +│   │   │   │   │   └── 2016-01-14 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── mgh +│   │   │   │   │   └── 2017-05-31 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── mgn +│   │   │   │   │   └── 2020-02-26 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── migrationhub-config +│   │   │   │   │   └── 2019-06-30 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── migrationhuborchestrator +│   │   │   │   │   └── 2021-08-28 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── migration-hub-refactor-spaces +│   │   │   │   │   └── 2021-10-26 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── migrationhubstrategy +│   │   │   │   │   └── 2020-02-19 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── mpa +│   │   │   │   │   └── 2022-07-26 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── mq +│   │   │   │   │   └── 2017-11-27 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── mturk +│   │   │   │   │   └── 2017-01-17 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── mwaa +│   │   │   │   │   └── 2020-07-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── mwaa-serverless +│   │   │   │   │   └── 2024-07-26 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── neptune +│   │   │   │   │   └── 2014-10-31 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   ├── service-2.sdk-extras.json +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── neptunedata +│   │   │   │   │   └── 2023-08-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── neptune-graph +│   │   │   │   │   └── 2023-11-29 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── network-firewall +│   │   │   │   │   └── 2020-11-12 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── networkflowmonitor +│   │   │   │   │   └── 2023-04-19 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── networkmanager +│   │   │   │   │   └── 2019-07-05 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── networkmonitor +│   │   │   │   │   └── 2023-08-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── notifications +│   │   │   │   │   └── 2018-05-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── notificationscontacts +│   │   │   │   │   └── 2018-05-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── nova-act +│   │   │   │   │   └── 2025-08-22 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── oam +│   │   │   │   │   └── 2022-06-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── observabilityadmin +│   │   │   │   │   └── 2018-05-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── odb +│   │   │   │   │   └── 2024-08-20 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── omics +│   │   │   │   │   └── 2022-11-28 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── opensearch +│   │   │   │   │   └── 2021-01-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── opensearchserverless +│   │   │   │   │   └── 2021-11-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── organizations +│   │   │   │   │   └── 2016-11-28 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── osis +│   │   │   │   │   └── 2022-01-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── outposts +│   │   │   │   │   └── 2019-12-03 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── panorama +│   │   │   │   │   └── 2019-07-24 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── partitions.json +│   │   │   │   ├── partnercentral-account +│   │   │   │   │   └── 2025-04-04 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── partnercentral-benefits +│   │   │   │   │   └── 2018-05-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── partnercentral-channel +│   │   │   │   │   └── 2024-03-18 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── partnercentral-selling +│   │   │   │   │   └── 2022-07-26 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── payment-cryptography +│   │   │   │   │   └── 2021-09-14 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── payment-cryptography-data +│   │   │   │   │   └── 2022-02-03 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── pca-connector-ad +│   │   │   │   │   └── 2018-05-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── pca-connector-scep +│   │   │   │   │   └── 2018-05-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── pcs +│   │   │   │   │   └── 2023-02-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── personalize +│   │   │   │   │   └── 2018-05-22 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── personalize-events +│   │   │   │   │   └── 2018-03-22 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── personalize-runtime +│   │   │   │   │   └── 2018-05-22 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── pi +│   │   │   │   │   └── 2018-02-27 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── pinpoint +│   │   │   │   │   └── 2016-12-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── pinpoint-email +│   │   │   │   │   └── 2018-07-26 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── pinpoint-sms-voice +│   │   │   │   │   └── 2018-09-05 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── pinpoint-sms-voice-v2 +│   │   │   │   │   └── 2022-03-31 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── pipes +│   │   │   │   │   └── 2015-10-07 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── polly +│   │   │   │   │   └── 2016-06-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── pricing +│   │   │   │   │   └── 2017-10-15 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── proton +│   │   │   │   │   └── 2020-07-20 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── qapps +│   │   │   │   │   └── 2023-11-27 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── qbusiness +│   │   │   │   │   └── 2023-11-27 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── qconnect +│   │   │   │   │   └── 2020-10-19 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── quicksight +│   │   │   │   │   └── 2018-04-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── ram +│   │   │   │   │   └── 2018-01-04 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── rbin +│   │   │   │   │   └── 2021-06-15 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── rds +│   │   │   │   │   ├── 2014-09-01 +│   │   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   │   └── waiters-2.json +│   │   │   │   │   └── 2014-10-31 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   ├── service-2.sdk-extras.json +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── rds-data +│   │   │   │   │   └── 2018-08-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── redshift +│   │   │   │   │   └── 2012-12-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── redshift-data +│   │   │   │   │   └── 2019-12-20 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── redshift-serverless +│   │   │   │   │   └── 2021-04-21 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── rekognition +│   │   │   │   │   └── 2016-06-27 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── repostspace +│   │   │   │   │   └── 2022-05-13 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── resiliencehub +│   │   │   │   │   └── 2020-04-30 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── resource-explorer-2 +│   │   │   │   │   └── 2022-07-28 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── resource-groups +│   │   │   │   │   └── 2017-11-27 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── resourcegroupstaggingapi +│   │   │   │   │   └── 2017-01-26 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── _retry.json +│   │   │   │   ├── rolesanywhere +│   │   │   │   │   └── 2018-05-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── route53 +│   │   │   │   │   └── 2013-04-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── route53domains +│   │   │   │   │   └── 2014-05-15 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── route53globalresolver +│   │   │   │   │   └── 2022-09-27 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── route53profiles +│   │   │   │   │   └── 2018-05-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── route53-recovery-cluster +│   │   │   │   │   └── 2019-12-02 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── route53-recovery-control-config +│   │   │   │   │   └── 2020-11-02 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── route53-recovery-readiness +│   │   │   │   │   └── 2019-12-02 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── route53resolver +│   │   │   │   │   └── 2018-04-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── rtbfabric +│   │   │   │   │   └── 2023-05-15 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── rum +│   │   │   │   │   └── 2018-05-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── s3 +│   │   │   │   │   └── 2006-03-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   ├── service-2.sdk-extras.json +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── s3control +│   │   │   │   │   └── 2018-08-20 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── s3outposts +│   │   │   │   │   └── 2017-07-25 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── s3tables +│   │   │   │   │   └── 2018-05-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── s3vectors +│   │   │   │   │   └── 2025-07-15 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── sagemaker +│   │   │   │   │   └── 2017-07-24 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── sagemaker-a2i-runtime +│   │   │   │   │   └── 2019-11-07 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── sagemaker-edge +│   │   │   │   │   └── 2020-09-23 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── sagemaker-featurestore-runtime +│   │   │   │   │   └── 2020-07-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── sagemaker-geospatial +│   │   │   │   │   └── 2020-05-27 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── sagemaker-metrics +│   │   │   │   │   └── 2022-09-30 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── sagemaker-runtime +│   │   │   │   │   └── 2017-05-13 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── savingsplans +│   │   │   │   │   └── 2019-06-28 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── scheduler +│   │   │   │   │   └── 2021-06-30 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── schemas +│   │   │   │   │   └── 2019-12-02 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── sdb +│   │   │   │   │   └── 2009-04-15 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── sdk-default-configuration.json +│   │   │   │   ├── secretsmanager +│   │   │   │   │   └── 2017-10-17 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── service-2.sdk-extras.json +│   │   │   │   ├── securityhub +│   │   │   │   │   └── 2018-10-26 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── security-ir +│   │   │   │   │   └── 2018-05-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── securitylake +│   │   │   │   │   └── 2018-05-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── serverlessrepo +│   │   │   │   │   └── 2017-09-08 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── servicecatalog +│   │   │   │   │   └── 2015-12-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── servicecatalog-appregistry +│   │   │   │   │   └── 2020-06-24 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── servicediscovery +│   │   │   │   │   └── 2017-03-14 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── paginators-1.sdk-extras.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── service-quotas +│   │   │   │   │   └── 2019-06-24 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── ses +│   │   │   │   │   └── 2010-12-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── sesv2 +│   │   │   │   │   └── 2019-09-27 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── shield +│   │   │   │   │   └── 2016-06-02 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── signer +│   │   │   │   │   └── 2017-08-25 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── signer-data +│   │   │   │   │   └── 2017-08-25 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── signin +│   │   │   │   │   └── 2023-01-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── simpledbv2 +│   │   │   │   │   └── 2025-09-26 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── simspaceweaver +│   │   │   │   │   └── 2022-10-28 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── sms-voice +│   │   │   │   │   └── 2018-09-05 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── snowball +│   │   │   │   │   └── 2016-06-30 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── snow-device-management +│   │   │   │   │   └── 2021-08-04 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── sns +│   │   │   │   │   └── 2010-03-31 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── socialmessaging +│   │   │   │   │   └── 2024-01-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── sqs +│   │   │   │   │   └── 2012-11-05 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── ssm +│   │   │   │   │   └── 2014-11-06 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── ssm-contacts +│   │   │   │   │   └── 2021-05-03 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── ssm-guiconnect +│   │   │   │   │   └── 2021-05-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── ssm-incidents +│   │   │   │   │   └── 2018-05-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── ssm-quicksetup +│   │   │   │   │   └── 2018-05-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── ssm-sap +│   │   │   │   │   └── 2018-05-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── sso +│   │   │   │   │   └── 2019-06-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── sso-admin +│   │   │   │   │   └── 2020-07-20 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── sso-oidc +│   │   │   │   │   └── 2019-06-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── stepfunctions +│   │   │   │   │   └── 2016-11-23 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── storagegateway +│   │   │   │   │   └── 2013-06-30 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── sts +│   │   │   │   │   └── 2011-06-15 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── supplychain +│   │   │   │   │   └── 2024-01-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── support +│   │   │   │   │   └── 2013-04-15 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── support-app +│   │   │   │   │   └── 2021-08-20 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── swf +│   │   │   │   │   └── 2012-01-25 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── synthetics +│   │   │   │   │   └── 2017-10-11 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── taxsettings +│   │   │   │   │   └── 2018-05-10 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── textract +│   │   │   │   │   └── 2018-06-27 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── timestream-influxdb +│   │   │   │   │   └── 2023-01-27 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── timestream-query +│   │   │   │   │   └── 2018-11-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── timestream-write +│   │   │   │   │   └── 2018-11-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── tnb +│   │   │   │   │   └── 2008-10-21 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── transcribe +│   │   │   │   │   └── 2017-10-26 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── transfer +│   │   │   │   │   └── 2018-11-05 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── translate +│   │   │   │   │   └── 2017-07-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── trustedadvisor +│   │   │   │   │   └── 2022-09-15 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── verifiedpermissions +│   │   │   │   │   └── 2021-12-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── voice-id +│   │   │   │   │   └── 2021-09-27 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── vpc-lattice +│   │   │   │   │   └── 2022-11-30 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── waf +│   │   │   │   │   └── 2015-08-24 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── waf-regional +│   │   │   │   │   └── 2016-11-28 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── wafv2 +│   │   │   │   │   └── 2019-07-29 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── wellarchitected +│   │   │   │   │   └── 2020-03-31 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── wickr +│   │   │   │   │   └── 2024-02-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── wisdom +│   │   │   │   │   └── 2020-10-19 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── workdocs +│   │   │   │   │   └── 2016-05-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── workmail +│   │   │   │   │   └── 2017-10-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── workmailmessageflow +│   │   │   │   │   └── 2019-05-01 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── workspaces +│   │   │   │   │   └── 2015-04-08 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── workspaces-instances +│   │   │   │   │   └── 2022-07-26 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   ├── workspaces-thin-client +│   │   │   │   │   └── 2023-08-22 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   └── service-2.json.gz +│   │   │   │   ├── workspaces-web +│   │   │   │   │   └── 2020-07-08 +│   │   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   │   ├── examples-1.json +│   │   │   │   │   ├── paginators-1.json +│   │   │   │   │   ├── service-2.json.gz +│   │   │   │   │   └── waiters-2.json +│   │   │   │   └── xray +│   │   │   │   └── 2016-04-12 +│   │   │   │   ├── endpoint-rule-set-1.json.gz +│   │   │   │   ├── examples-1.json +│   │   │   │   ├── paginators-1.json +│   │   │   │   └── service-2.json.gz +│   │   │   ├── discovery.py +│   │   │   ├── docs +│   │   │   │   ├── bcdoc +│   │   │   │   │   ├── docstringparser.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   ├── docstringparser.cpython-311.pyc +│   │   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   │   ├── restdoc.cpython-311.pyc +│   │   │   │   │   │   └── style.cpython-311.pyc +│   │   │   │   │   ├── restdoc.py +│   │   │   │   │   └── style.py +│   │   │   │   ├── client.py +│   │   │   │   ├── docstring.py +│   │   │   │   ├── example.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── method.py +│   │   │   │   ├── paginator.py +│   │   │   │   ├── params.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── client.cpython-311.pyc +│   │   │   │   │   ├── docstring.cpython-311.pyc +│   │   │   │   │   ├── example.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── method.cpython-311.pyc +│   │   │   │   │   ├── paginator.cpython-311.pyc +│   │   │   │   │   ├── params.cpython-311.pyc +│   │   │   │   │   ├── service.cpython-311.pyc +│   │   │   │   │   ├── shape.cpython-311.pyc +│   │   │   │   │   ├── sharedexample.cpython-311.pyc +│   │   │   │   │   ├── translator.cpython-311.pyc +│   │   │   │   │   ├── utils.cpython-311.pyc +│   │   │   │   │   └── waiter.cpython-311.pyc +│   │   │   │   ├── service.py +│   │   │   │   ├── shape.py +│   │   │   │   ├── sharedexample.py +│   │   │   │   ├── translator.py +│   │   │   │   ├── utils.py +│   │   │   │   └── waiter.py +│   │   │   ├── endpoint_provider.py +│   │   │   ├── endpoint.py +│   │   │   ├── errorfactory.py +│   │   │   ├── eventstream.py +│   │   │   ├── exceptions.py +│   │   │   ├── handlers.py +│   │   │   ├── history.py +│   │   │   ├── hooks.py +│   │   │   ├── httpchecksum.py +│   │   │   ├── httpsession.py +│   │   │   ├── __init__.py +│   │   │   ├── loaders.py +│   │   │   ├── model.py +│   │   │   ├── monitoring.py +│   │   │   ├── paginate.py +│   │   │   ├── parsers.py +│   │   │   ├── plugin.py +│   │   │   ├── __pycache__ +│   │   │   │   ├── args.cpython-311.pyc +│   │   │   │   ├── auth.cpython-311.pyc +│   │   │   │   ├── awsrequest.cpython-311.pyc +│   │   │   │   ├── client.cpython-311.pyc +│   │   │   │   ├── compat.cpython-311.pyc +│   │   │   │   ├── compress.cpython-311.pyc +│   │   │   │   ├── config.cpython-311.pyc +│   │   │   │   ├── configloader.cpython-311.pyc +│   │   │   │   ├── configprovider.cpython-311.pyc +│   │   │   │   ├── context.cpython-311.pyc +│   │   │   │   ├── credentials.cpython-311.pyc +│   │   │   │   ├── discovery.cpython-311.pyc +│   │   │   │   ├── endpoint.cpython-311.pyc +│   │   │   │   ├── endpoint_provider.cpython-311.pyc +│   │   │   │   ├── errorfactory.cpython-311.pyc +│   │   │   │   ├── eventstream.cpython-311.pyc +│   │   │   │   ├── exceptions.cpython-311.pyc +│   │   │   │   ├── handlers.cpython-311.pyc +│   │   │   │   ├── history.cpython-311.pyc +│   │   │   │   ├── hooks.cpython-311.pyc +│   │   │   │   ├── httpchecksum.cpython-311.pyc +│   │   │   │   ├── httpsession.cpython-311.pyc +│   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   ├── loaders.cpython-311.pyc +│   │   │   │   ├── model.cpython-311.pyc +│   │   │   │   ├── monitoring.cpython-311.pyc +│   │   │   │   ├── paginate.cpython-311.pyc +│   │   │   │   ├── parsers.cpython-311.pyc +│   │   │   │   ├── plugin.cpython-311.pyc +│   │   │   │   ├── regions.cpython-311.pyc +│   │   │   │   ├── response.cpython-311.pyc +│   │   │   │   ├── retryhandler.cpython-311.pyc +│   │   │   │   ├── serialize.cpython-311.pyc +│   │   │   │   ├── session.cpython-311.pyc +│   │   │   │   ├── signers.cpython-311.pyc +│   │   │   │   ├── stub.cpython-311.pyc +│   │   │   │   ├── tokens.cpython-311.pyc +│   │   │   │   ├── translate.cpython-311.pyc +│   │   │   │   ├── useragent.cpython-311.pyc +│   │   │   │   ├── utils.cpython-311.pyc +│   │   │   │   ├── validate.cpython-311.pyc +│   │   │   │   └── waiter.cpython-311.pyc +│   │   │   ├── regions.py +│   │   │   ├── response.py +│   │   │   ├── retries +│   │   │   │   ├── adaptive.py +│   │   │   │   ├── base.py +│   │   │   │   ├── bucket.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── adaptive.cpython-311.pyc +│   │   │   │   │   ├── base.cpython-311.pyc +│   │   │   │   │   ├── bucket.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── quota.cpython-311.pyc +│   │   │   │   │   ├── special.cpython-311.pyc +│   │   │   │   │   ├── standard.cpython-311.pyc +│   │   │   │   │   └── throttling.cpython-311.pyc +│   │   │   │   ├── quota.py +│   │   │   │   ├── special.py +│   │   │   │   ├── standard.py +│   │   │   │   └── throttling.py +│   │   │   ├── retryhandler.py +│   │   │   ├── serialize.py +│   │   │   ├── session.py +│   │   │   ├── signers.py +│   │   │   ├── stub.py +│   │   │   ├── tokens.py +│   │   │   ├── translate.py +│   │   │   ├── useragent.py +│   │   │   ├── utils.py +│   │   │   ├── validate.py +│   │   │   ├── vendored +│   │   │   │   ├── __init__.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   └── six.cpython-311.pyc +│   │   │   │   ├── requests +│   │   │   │   │   ├── exceptions.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── packages +│   │   │   │   │   │   ├── __init__.py +│   │   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   │   └── __init__.cpython-311.pyc +│   │   │   │   │   │   └── urllib3 +│   │   │   │   │   │   ├── exceptions.py +│   │   │   │   │   │   ├── __init__.py +│   │   │   │   │   │   └── __pycache__ +│   │   │   │   │   │   ├── exceptions.cpython-311.pyc +│   │   │   │   │   │   └── __init__.cpython-311.pyc +│   │   │   │   │   └── __pycache__ +│   │   │   │   │   ├── exceptions.cpython-311.pyc +│   │   │   │   │   └── __init__.cpython-311.pyc +│   │   │   │   └── six.py +│   │   │   └── waiter.py +│   │   ├── botocore-1.42.70.dist-info +│   │   │   ├── INSTALLER +│   │   │   ├── LICENSE.txt +│   │   │   ├── METADATA +│   │   │   ├── NOTICE +│   │   │   ├── RECORD +│   │   │   ├── top_level.txt +│   │   │   └── WHEEL +│   │   ├── certifi +│   │   │   ├── cacert.pem +│   │   │   ├── core.py +│   │   │   ├── __init__.py +│   │   │   ├── __main__.py +│   │   │   ├── __pycache__ +│   │   │   │   ├── core.cpython-311.pyc +│   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   └── __main__.cpython-311.pyc +│   │   │   └── py.typed +│   │   ├── certifi-2026.2.25.dist-info +│   │   │   ├── INSTALLER +│   │   │   ├── licenses +│   │   │   │   └── LICENSE +│   │   │   ├── METADATA +│   │   │   ├── RECORD +│   │   │   ├── top_level.txt +│   │   │   └── WHEEL +│   │   ├── charset_normalizer +│   │   │   ├── api.py +│   │   │   ├── cd.cpython-311-x86_64-linux-gnu.so +│   │   │   ├── cd.py +│   │   │   ├── cli +│   │   │   │   ├── __init__.py +│   │   │   │   ├── __main__.py +│   │   │   │   └── __pycache__ +│   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   └── __main__.cpython-311.pyc +│   │   │   ├── constant.py +│   │   │   ├── __init__.py +│   │   │   ├── legacy.py +│   │   │   ├── __main__.py +│   │   │   ├── md.cpython-311-x86_64-linux-gnu.so +│   │   │   ├── md.py +│   │   │   ├── models.py +│   │   │   ├── __pycache__ +│   │   │   │   ├── api.cpython-311.pyc +│   │   │   │   ├── cd.cpython-311.pyc +│   │   │   │   ├── constant.cpython-311.pyc +│   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   ├── legacy.cpython-311.pyc +│   │   │   │   ├── __main__.cpython-311.pyc +│   │   │   │   ├── md.cpython-311.pyc +│   │   │   │   ├── models.cpython-311.pyc +│   │   │   │   ├── utils.cpython-311.pyc +│   │   │   │   └── version.cpython-311.pyc +│   │   │   ├── py.typed +│   │   │   ├── utils.py +│   │   │   └── version.py +│   │   ├── charset_normalizer-3.4.6.dist-info +│   │   │   ├── entry_points.txt +│   │   │   ├── INSTALLER +│   │   │   ├── licenses +│   │   │   │   └── LICENSE +│   │   │   ├── METADATA +│   │   │   ├── RECORD +│   │   │   ├── top_level.txt +│   │   │   └── WHEEL +│   │   ├── dateutil +│   │   │   ├── _common.py +│   │   │   ├── easter.py +│   │   │   ├── __init__.py +│   │   │   ├── parser +│   │   │   │   ├── __init__.py +│   │   │   │   ├── isoparser.py +│   │   │   │   ├── _parser.py +│   │   │   │   └── __pycache__ +│   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   ├── isoparser.cpython-311.pyc +│   │   │   │   └── _parser.cpython-311.pyc +│   │   │   ├── __pycache__ +│   │   │   │   ├── _common.cpython-311.pyc +│   │   │   │   ├── easter.cpython-311.pyc +│   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   ├── relativedelta.cpython-311.pyc +│   │   │   │   ├── rrule.cpython-311.pyc +│   │   │   │   ├── tzwin.cpython-311.pyc +│   │   │   │   ├── utils.cpython-311.pyc +│   │   │   │   └── _version.cpython-311.pyc +│   │   │   ├── relativedelta.py +│   │   │   ├── rrule.py +│   │   │   ├── tz +│   │   │   │   ├── _common.py +│   │   │   │   ├── _factories.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── _common.cpython-311.pyc +│   │   │   │   │   ├── _factories.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── tz.cpython-311.pyc +│   │   │   │   │   └── win.cpython-311.pyc +│   │   │   │   ├── tz.py +│   │   │   │   └── win.py +│   │   │   ├── tzwin.py +│   │   │   ├── utils.py +│   │   │   ├── _version.py +│   │   │   └── zoneinfo +│   │   │   ├── dateutil-zoneinfo.tar.gz +│   │   │   ├── __init__.py +│   │   │   ├── __pycache__ +│   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   └── rebuild.cpython-311.pyc +│   │   │   └── rebuild.py +│   │   ├── _distutils_hack +│   │   │   ├── __init__.py +│   │   │   ├── override.py +│   │   │   └── __pycache__ +│   │   │   └── __init__.cpython-311.pyc +│   │   ├── distutils-precedence.pth +│   │   ├── dotenv +│   │   │   ├── cli.py +│   │   │   ├── __init__.py +│   │   │   ├── ipython.py +│   │   │   ├── __main__.py +│   │   │   ├── main.py +│   │   │   ├── parser.py +│   │   │   ├── __pycache__ +│   │   │   │   ├── cli.cpython-311.pyc +│   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   ├── ipython.cpython-311.pyc +│   │   │   │   ├── __main__.cpython-311.pyc +│   │   │   │   ├── main.cpython-311.pyc +│   │   │   │   ├── parser.cpython-311.pyc +│   │   │   │   ├── variables.cpython-311.pyc +│   │   │   │   └── version.cpython-311.pyc +│   │   │   ├── py.typed +│   │   │   ├── variables.py +│   │   │   └── version.py +│   │   ├── frozenlist +│   │   │   ├── _frozenlist.cpython-311-x86_64-linux-gnu.so +│   │   │   ├── _frozenlist.pyx +│   │   │   ├── __init__.py +│   │   │   ├── __init__.pyi +│   │   │   ├── __pycache__ +│   │   │   │   └── __init__.cpython-311.pyc +│   │   │   └── py.typed +│   │   ├── frozenlist-1.8.0.dist-info +│   │   │   ├── INSTALLER +│   │   │   ├── licenses +│   │   │   │   └── LICENSE +│   │   │   ├── METADATA +│   │   │   ├── RECORD +│   │   │   ├── top_level.txt +│   │   │   └── WHEEL +│   │   ├── google +│   │   │   ├── api +│   │   │   │   ├── annotations_pb2_grpc.py +│   │   │   │   ├── annotations_pb2.py +│   │   │   │   ├── auth_pb2_grpc.py +│   │   │   │   ├── auth_pb2.py +│   │   │   │   ├── backend_pb2_grpc.py +│   │   │   │   ├── backend_pb2.py +│   │   │   │   ├── billing_pb2_grpc.py +│   │   │   │   ├── billing_pb2.py +│   │   │   │   ├── client_pb2_grpc.py +│   │   │   │   ├── client_pb2.py +│   │   │   │   ├── config_change_pb2_grpc.py +│   │   │   │   ├── config_change_pb2.py +│   │   │   │   ├── consumer_pb2_grpc.py +│   │   │   │   ├── consumer_pb2.py +│   │   │   │   ├── context_pb2_grpc.py +│   │   │   │   ├── context_pb2.py +│   │   │   │   ├── control_pb2_grpc.py +│   │   │   │   ├── control_pb2.py +│   │   │   │   ├── distribution_pb2_grpc.py +│   │   │   │   ├── distribution_pb2.py +│   │   │   │   ├── documentation_pb2_grpc.py +│   │   │   │   ├── documentation_pb2.py +│   │   │   │   ├── endpoint_pb2_grpc.py +│   │   │   │   ├── endpoint_pb2.py +│   │   │   │   ├── error_reason_pb2_grpc.py +│   │   │   │   ├── error_reason_pb2.py +│   │   │   │   ├── field_behavior_pb2_grpc.py +│   │   │   │   ├── field_behavior_pb2.py +│   │   │   │   ├── field_info_pb2_grpc.py +│   │   │   │   ├── field_info_pb2.py +│   │   │   │   ├── httpbody_pb2_grpc.py +│   │   │   │   ├── httpbody_pb2.py +│   │   │   │   ├── http_pb2_grpc.py +│   │   │   │   ├── http_pb2.py +│   │   │   │   ├── label_pb2_grpc.py +│   │   │   │   ├── label_pb2.py +│   │   │   │   ├── launch_stage_pb2_grpc.py +│   │   │   │   ├── launch_stage_pb2.py +│   │   │   │   ├── logging_pb2_grpc.py +│   │   │   │   ├── logging_pb2.py +│   │   │   │   ├── log_pb2_grpc.py +│   │   │   │   ├── log_pb2.py +│   │   │   │   ├── metric_pb2_grpc.py +│   │   │   │   ├── metric_pb2.py +│   │   │   │   ├── monitored_resource_pb2_grpc.py +│   │   │   │   ├── monitored_resource_pb2.py +│   │   │   │   ├── monitoring_pb2_grpc.py +│   │   │   │   ├── monitoring_pb2.py +│   │   │   │   ├── policy_pb2_grpc.py +│   │   │   │   ├── policy_pb2.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── annotations_pb2.cpython-311.pyc +│   │   │   │   │   ├── annotations_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── auth_pb2.cpython-311.pyc +│   │   │   │   │   ├── auth_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── backend_pb2.cpython-311.pyc +│   │   │   │   │   ├── backend_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── billing_pb2.cpython-311.pyc +│   │   │   │   │   ├── billing_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── client_pb2.cpython-311.pyc +│   │   │   │   │   ├── client_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── config_change_pb2.cpython-311.pyc +│   │   │   │   │   ├── config_change_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── consumer_pb2.cpython-311.pyc +│   │   │   │   │   ├── consumer_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── context_pb2.cpython-311.pyc +│   │   │   │   │   ├── context_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── control_pb2.cpython-311.pyc +│   │   │   │   │   ├── control_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── distribution_pb2.cpython-311.pyc +│   │   │   │   │   ├── distribution_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── documentation_pb2.cpython-311.pyc +│   │   │   │   │   ├── documentation_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── endpoint_pb2.cpython-311.pyc +│   │   │   │   │   ├── endpoint_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── error_reason_pb2.cpython-311.pyc +│   │   │   │   │   ├── error_reason_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── field_behavior_pb2.cpython-311.pyc +│   │   │   │   │   ├── field_behavior_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── field_info_pb2.cpython-311.pyc +│   │   │   │   │   ├── field_info_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── httpbody_pb2.cpython-311.pyc +│   │   │   │   │   ├── httpbody_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── http_pb2.cpython-311.pyc +│   │   │   │   │   ├── http_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── label_pb2.cpython-311.pyc +│   │   │   │   │   ├── label_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── launch_stage_pb2.cpython-311.pyc +│   │   │   │   │   ├── launch_stage_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── logging_pb2.cpython-311.pyc +│   │   │   │   │   ├── logging_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── log_pb2.cpython-311.pyc +│   │   │   │   │   ├── log_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── metric_pb2.cpython-311.pyc +│   │   │   │   │   ├── metric_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── monitored_resource_pb2.cpython-311.pyc +│   │   │   │   │   ├── monitored_resource_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── monitoring_pb2.cpython-311.pyc +│   │   │   │   │   ├── monitoring_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── policy_pb2.cpython-311.pyc +│   │   │   │   │   ├── policy_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── quota_pb2.cpython-311.pyc +│   │   │   │   │   ├── quota_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── resource_pb2.cpython-311.pyc +│   │   │   │   │   ├── resource_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── routing_pb2.cpython-311.pyc +│   │   │   │   │   ├── routing_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── service_pb2.cpython-311.pyc +│   │   │   │   │   ├── service_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── source_info_pb2.cpython-311.pyc +│   │   │   │   │   ├── source_info_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── system_parameter_pb2.cpython-311.pyc +│   │   │   │   │   ├── system_parameter_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── usage_pb2.cpython-311.pyc +│   │   │   │   │   ├── usage_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── visibility_pb2.cpython-311.pyc +│   │   │   │   │   └── visibility_pb2_grpc.cpython-311.pyc +│   │   │   │   ├── quota_pb2_grpc.py +│   │   │   │   ├── quota_pb2.py +│   │   │   │   ├── resource_pb2_grpc.py +│   │   │   │   ├── resource_pb2.py +│   │   │   │   ├── routing_pb2_grpc.py +│   │   │   │   ├── routing_pb2.py +│   │   │   │   ├── service_pb2_grpc.py +│   │   │   │   ├── service_pb2.py +│   │   │   │   ├── source_info_pb2_grpc.py +│   │   │   │   ├── source_info_pb2.py +│   │   │   │   ├── system_parameter_pb2_grpc.py +│   │   │   │   ├── system_parameter_pb2.py +│   │   │   │   ├── usage_pb2_grpc.py +│   │   │   │   ├── usage_pb2.py +│   │   │   │   ├── visibility_pb2_grpc.py +│   │   │   │   └── visibility_pb2.py +│   │   │   ├── protobuf +│   │   │   │   ├── any_pb2.py +│   │   │   │   ├── any.py +│   │   │   │   ├── api_pb2.py +│   │   │   │   ├── compiler +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── plugin_pb2.py +│   │   │   │   │   └── __pycache__ +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   └── plugin_pb2.cpython-311.pyc +│   │   │   │   ├── descriptor_database.py +│   │   │   │   ├── descriptor_pb2.py +│   │   │   │   ├── descriptor_pool.py +│   │   │   │   ├── descriptor.py +│   │   │   │   ├── duration_pb2.py +│   │   │   │   ├── duration.py +│   │   │   │   ├── empty_pb2.py +│   │   │   │   ├── field_mask_pb2.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── internal +│   │   │   │   │   ├── api_implementation.py +│   │   │   │   │   ├── builder.py +│   │   │   │   │   ├── containers.py +│   │   │   │   │   ├── decoder.py +│   │   │   │   │   ├── encoder.py +│   │   │   │   │   ├── enum_type_wrapper.py +│   │   │   │   │   ├── extension_dict.py +│   │   │   │   │   ├── field_mask.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── message_listener.py +│   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   ├── api_implementation.cpython-311.pyc +│   │   │   │   │   │   ├── builder.cpython-311.pyc +│   │   │   │   │   │   ├── containers.cpython-311.pyc +│   │   │   │   │   │   ├── decoder.cpython-311.pyc +│   │   │   │   │   │   ├── encoder.cpython-311.pyc +│   │   │   │   │   │   ├── enum_type_wrapper.cpython-311.pyc +│   │   │   │   │   │   ├── extension_dict.cpython-311.pyc +│   │   │   │   │   │   ├── field_mask.cpython-311.pyc +│   │   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   │   ├── message_listener.cpython-311.pyc +│   │   │   │   │   │   ├── python_edition_defaults.cpython-311.pyc +│   │   │   │   │   │   ├── python_message.cpython-311.pyc +│   │   │   │   │   │   ├── testing_refleaks.cpython-311.pyc +│   │   │   │   │   │   ├── type_checkers.cpython-311.pyc +│   │   │   │   │   │   ├── well_known_types.cpython-311.pyc +│   │   │   │   │   │   └── wire_format.cpython-311.pyc +│   │   │   │   │   ├── python_edition_defaults.py +│   │   │   │   │   ├── python_message.py +│   │   │   │   │   ├── testing_refleaks.py +│   │   │   │   │   ├── type_checkers.py +│   │   │   │   │   ├── well_known_types.py +│   │   │   │   │   └── wire_format.py +│   │   │   │   ├── json_format.py +│   │   │   │   ├── message_factory.py +│   │   │   │   ├── message.py +│   │   │   │   ├── proto_builder.py +│   │   │   │   ├── proto_json.py +│   │   │   │   ├── proto.py +│   │   │   │   ├── proto_text.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── any.cpython-311.pyc +│   │   │   │   │   ├── any_pb2.cpython-311.pyc +│   │   │   │   │   ├── api_pb2.cpython-311.pyc +│   │   │   │   │   ├── descriptor.cpython-311.pyc +│   │   │   │   │   ├── descriptor_database.cpython-311.pyc +│   │   │   │   │   ├── descriptor_pb2.cpython-311.pyc +│   │   │   │   │   ├── descriptor_pool.cpython-311.pyc +│   │   │   │   │   ├── duration.cpython-311.pyc +│   │   │   │   │   ├── duration_pb2.cpython-311.pyc +│   │   │   │   │   ├── empty_pb2.cpython-311.pyc +│   │   │   │   │   ├── field_mask_pb2.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── json_format.cpython-311.pyc +│   │   │   │   │   ├── message.cpython-311.pyc +│   │   │   │   │   ├── message_factory.cpython-311.pyc +│   │   │   │   │   ├── proto_builder.cpython-311.pyc +│   │   │   │   │   ├── proto.cpython-311.pyc +│   │   │   │   │   ├── proto_json.cpython-311.pyc +│   │   │   │   │   ├── proto_text.cpython-311.pyc +│   │   │   │   │   ├── reflection.cpython-311.pyc +│   │   │   │   │   ├── runtime_version.cpython-311.pyc +│   │   │   │   │   ├── service_reflection.cpython-311.pyc +│   │   │   │   │   ├── source_context_pb2.cpython-311.pyc +│   │   │   │   │   ├── struct_pb2.cpython-311.pyc +│   │   │   │   │   ├── symbol_database.cpython-311.pyc +│   │   │   │   │   ├── text_encoding.cpython-311.pyc +│   │   │   │   │   ├── text_format.cpython-311.pyc +│   │   │   │   │   ├── timestamp.cpython-311.pyc +│   │   │   │   │   ├── timestamp_pb2.cpython-311.pyc +│   │   │   │   │   ├── type_pb2.cpython-311.pyc +│   │   │   │   │   ├── unknown_fields.cpython-311.pyc +│   │   │   │   │   └── wrappers_pb2.cpython-311.pyc +│   │   │   │   ├── pyext +│   │   │   │   │   ├── cpp_message.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   └── __pycache__ +│   │   │   │   │   ├── cpp_message.cpython-311.pyc +│   │   │   │   │   └── __init__.cpython-311.pyc +│   │   │   │   ├── reflection.py +│   │   │   │   ├── runtime_version.py +│   │   │   │   ├── service_reflection.py +│   │   │   │   ├── source_context_pb2.py +│   │   │   │   ├── struct_pb2.py +│   │   │   │   ├── symbol_database.py +│   │   │   │   ├── testdata +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   └── __pycache__ +│   │   │   │   │   └── __init__.cpython-311.pyc +│   │   │   │   ├── text_encoding.py +│   │   │   │   ├── text_format.py +│   │   │   │   ├── timestamp_pb2.py +│   │   │   │   ├── timestamp.py +│   │   │   │   ├── type_pb2.py +│   │   │   │   ├── unknown_fields.py +│   │   │   │   ├── util +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   └── __pycache__ +│   │   │   │   │   └── __init__.cpython-311.pyc +│   │   │   │   └── wrappers_pb2.py +│   │   │   ├── rpc +│   │   │   │   ├── code_pb2_grpc.py +│   │   │   │   ├── code_pb2.py +│   │   │   │   ├── error_details_pb2_grpc.py +│   │   │   │   ├── error_details_pb2.py +│   │   │   │   ├── http_pb2_grpc.py +│   │   │   │   ├── http_pb2.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── code_pb2.cpython-311.pyc +│   │   │   │   │   ├── code_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── error_details_pb2.cpython-311.pyc +│   │   │   │   │   ├── error_details_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── http_pb2.cpython-311.pyc +│   │   │   │   │   ├── http_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── status_pb2.cpython-311.pyc +│   │   │   │   │   └── status_pb2_grpc.cpython-311.pyc +│   │   │   │   ├── status_pb2_grpc.py +│   │   │   │   └── status_pb2.py +│   │   │   ├── type +│   │   │   │   ├── calendar_period_pb2_grpc.py +│   │   │   │   ├── calendar_period_pb2.py +│   │   │   │   ├── color_pb2_grpc.py +│   │   │   │   ├── color_pb2.py +│   │   │   │   ├── date_pb2_grpc.py +│   │   │   │   ├── date_pb2.py +│   │   │   │   ├── datetime_pb2_grpc.py +│   │   │   │   ├── datetime_pb2.py +│   │   │   │   ├── dayofweek_pb2_grpc.py +│   │   │   │   ├── dayofweek_pb2.py +│   │   │   │   ├── decimal_pb2_grpc.py +│   │   │   │   ├── decimal_pb2.py +│   │   │   │   ├── expr_pb2_grpc.py +│   │   │   │   ├── expr_pb2.py +│   │   │   │   ├── fraction_pb2_grpc.py +│   │   │   │   ├── fraction_pb2.py +│   │   │   │   ├── interval_pb2_grpc.py +│   │   │   │   ├── interval_pb2.py +│   │   │   │   ├── latlng_pb2_grpc.py +│   │   │   │   ├── latlng_pb2.py +│   │   │   │   ├── localized_text_pb2_grpc.py +│   │   │   │   ├── localized_text_pb2.py +│   │   │   │   ├── money_pb2_grpc.py +│   │   │   │   ├── money_pb2.py +│   │   │   │   ├── month_pb2_grpc.py +│   │   │   │   ├── month_pb2.py +│   │   │   │   ├── phone_number_pb2_grpc.py +│   │   │   │   ├── phone_number_pb2.py +│   │   │   │   ├── postal_address_pb2_grpc.py +│   │   │   │   ├── postal_address_pb2.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── calendar_period_pb2.cpython-311.pyc +│   │   │   │   │   ├── calendar_period_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── color_pb2.cpython-311.pyc +│   │   │   │   │   ├── color_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── date_pb2.cpython-311.pyc +│   │   │   │   │   ├── date_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── datetime_pb2.cpython-311.pyc +│   │   │   │   │   ├── datetime_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── dayofweek_pb2.cpython-311.pyc +│   │   │   │   │   ├── dayofweek_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── decimal_pb2.cpython-311.pyc +│   │   │   │   │   ├── decimal_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── expr_pb2.cpython-311.pyc +│   │   │   │   │   ├── expr_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── fraction_pb2.cpython-311.pyc +│   │   │   │   │   ├── fraction_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── interval_pb2.cpython-311.pyc +│   │   │   │   │   ├── interval_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── latlng_pb2.cpython-311.pyc +│   │   │   │   │   ├── latlng_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── localized_text_pb2.cpython-311.pyc +│   │   │   │   │   ├── localized_text_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── money_pb2.cpython-311.pyc +│   │   │   │   │   ├── money_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── month_pb2.cpython-311.pyc +│   │   │   │   │   ├── month_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── phone_number_pb2.cpython-311.pyc +│   │   │   │   │   ├── phone_number_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── postal_address_pb2.cpython-311.pyc +│   │   │   │   │   ├── postal_address_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── quaternion_pb2.cpython-311.pyc +│   │   │   │   │   ├── quaternion_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── timeofday_pb2.cpython-311.pyc +│   │   │   │   │   └── timeofday_pb2_grpc.cpython-311.pyc +│   │   │   │   ├── quaternion_pb2_grpc.py +│   │   │   │   ├── quaternion_pb2.py +│   │   │   │   ├── timeofday_pb2_grpc.py +│   │   │   │   └── timeofday_pb2.py +│   │   │   └── _upb +│   │   │   └── _message.abi3.so +│   │   ├── grpc +│   │   │   ├── aio +│   │   │   │   ├── _base_call.py +│   │   │   │   ├── _base_channel.py +│   │   │   │   ├── _base_server.py +│   │   │   │   ├── _call.py +│   │   │   │   ├── _channel.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── _interceptor.py +│   │   │   │   ├── _metadata.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── _base_call.cpython-311.pyc +│   │   │   │   │   ├── _base_channel.cpython-311.pyc +│   │   │   │   │   ├── _base_server.cpython-311.pyc +│   │   │   │   │   ├── _call.cpython-311.pyc +│   │   │   │   │   ├── _channel.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── _interceptor.cpython-311.pyc +│   │   │   │   │   ├── _metadata.cpython-311.pyc +│   │   │   │   │   ├── _server.cpython-311.pyc +│   │   │   │   │   ├── _typing.cpython-311.pyc +│   │   │   │   │   └── _utils.cpython-311.pyc +│   │   │   │   ├── _server.py +│   │   │   │   ├── _typing.py +│   │   │   │   └── _utils.py +│   │   │   ├── _auth.py +│   │   │   ├── beta +│   │   │   │   ├── _client_adaptations.py +│   │   │   │   ├── implementations.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── interfaces.py +│   │   │   │   ├── _metadata.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── _client_adaptations.cpython-311.pyc +│   │   │   │   │   ├── implementations.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── interfaces.cpython-311.pyc +│   │   │   │   │   ├── _metadata.cpython-311.pyc +│   │   │   │   │   ├── _server_adaptations.cpython-311.pyc +│   │   │   │   │   └── utilities.cpython-311.pyc +│   │   │   │   ├── _server_adaptations.py +│   │   │   │   └── utilities.py +│   │   │   ├── _channel.py +│   │   │   ├── _common.py +│   │   │   ├── _compression.py +│   │   │   ├── _cython +│   │   │   │   ├── _credentials +│   │   │   │   │   └── roots.pem +│   │   │   │   ├── _cygrpc +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   └── __pycache__ +│   │   │   │   │   └── __init__.cpython-311.pyc +│   │   │   │   ├── cygrpc.cpython-311-x86_64-linux-gnu.so +│   │   │   │   ├── __init__.py +│   │   │   │   └── __pycache__ +│   │   │   │   └── __init__.cpython-311.pyc +│   │   │   ├── experimental +│   │   │   │   ├── aio +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   └── __pycache__ +│   │   │   │   │   └── __init__.cpython-311.pyc +│   │   │   │   ├── gevent.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── gevent.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   └── session_cache.cpython-311.pyc +│   │   │   │   └── session_cache.py +│   │   │   ├── framework +│   │   │   │   ├── common +│   │   │   │   │   ├── cardinality.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   ├── cardinality.cpython-311.pyc +│   │   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   │   └── style.cpython-311.pyc +│   │   │   │   │   └── style.py +│   │   │   │   ├── foundation +│   │   │   │   │   ├── abandonment.py +│   │   │   │   │   ├── callable_util.py +│   │   │   │   │   ├── future.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── logging_pool.py +│   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   ├── abandonment.cpython-311.pyc +│   │   │   │   │   │   ├── callable_util.cpython-311.pyc +│   │   │   │   │   │   ├── future.cpython-311.pyc +│   │   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   │   ├── logging_pool.cpython-311.pyc +│   │   │   │   │   │   ├── stream.cpython-311.pyc +│   │   │   │   │   │   └── stream_util.cpython-311.pyc +│   │   │   │   │   ├── stream.py +│   │   │   │   │   └── stream_util.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── interfaces +│   │   │   │   │   ├── base +│   │   │   │   │   │   ├── base.py +│   │   │   │   │   │   ├── __init__.py +│   │   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   │   ├── base.cpython-311.pyc +│   │   │   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   │   │   └── utilities.cpython-311.pyc +│   │   │   │   │   │   └── utilities.py +│   │   │   │   │   ├── face +│   │   │   │   │   │   ├── face.py +│   │   │   │   │   │   ├── __init__.py +│   │   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   │   ├── face.cpython-311.pyc +│   │   │   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   │   │   └── utilities.cpython-311.pyc +│   │   │   │   │   │   └── utilities.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   └── __pycache__ +│   │   │   │   │   └── __init__.cpython-311.pyc +│   │   │   │   └── __pycache__ +│   │   │   │   └── __init__.cpython-311.pyc +│   │   │   ├── _grpcio_metadata.py +│   │   │   ├── __init__.py +│   │   │   ├── _interceptor.py +│   │   │   ├── _observability.py +│   │   │   ├── _plugin_wrapping.py +│   │   │   ├── __pycache__ +│   │   │   │   ├── _auth.cpython-311.pyc +│   │   │   │   ├── _channel.cpython-311.pyc +│   │   │   │   ├── _common.cpython-311.pyc +│   │   │   │   ├── _compression.cpython-311.pyc +│   │   │   │   ├── _grpcio_metadata.cpython-311.pyc +│   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   ├── _interceptor.cpython-311.pyc +│   │   │   │   ├── _observability.cpython-311.pyc +│   │   │   │   ├── _plugin_wrapping.cpython-311.pyc +│   │   │   │   ├── _runtime_protos.cpython-311.pyc +│   │   │   │   ├── _server.cpython-311.pyc +│   │   │   │   ├── _simple_stubs.cpython-311.pyc +│   │   │   │   ├── _typing.cpython-311.pyc +│   │   │   │   └── _utilities.cpython-311.pyc +│   │   │   ├── _runtime_protos.py +│   │   │   ├── _server.py +│   │   │   ├── _simple_stubs.py +│   │   │   ├── _typing.py +│   │   │   └── _utilities.py +│   │   ├── grpcio-1.78.0.dist-info +│   │   │   ├── INSTALLER +│   │   │   ├── licenses +│   │   │   │   └── LICENSE +│   │   │   ├── METADATA +│   │   │   ├── RECORD +│   │   │   ├── top_level.txt +│   │   │   └── WHEEL +│   │   ├── idna +│   │   │   ├── codec.py +│   │   │   ├── compat.py +│   │   │   ├── core.py +│   │   │   ├── idnadata.py +│   │   │   ├── __init__.py +│   │   │   ├── intranges.py +│   │   │   ├── package_data.py +│   │   │   ├── __pycache__ +│   │   │   │   ├── codec.cpython-311.pyc +│   │   │   │   ├── compat.cpython-311.pyc +│   │   │   │   ├── core.cpython-311.pyc +│   │   │   │   ├── idnadata.cpython-311.pyc +│   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   ├── intranges.cpython-311.pyc +│   │   │   │   ├── package_data.cpython-311.pyc +│   │   │   │   └── uts46data.cpython-311.pyc +│   │   │   ├── py.typed +│   │   │   └── uts46data.py +│   │   ├── idna-3.11.dist-info +│   │   │   ├── INSTALLER +│   │   │   ├── licenses +│   │   │   │   └── LICENSE.md +│   │   │   ├── METADATA +│   │   │   ├── RECORD +│   │   │   └── WHEEL +│   │   ├── jmespath +│   │   │   ├── ast.py +│   │   │   ├── compat.py +│   │   │   ├── exceptions.py +│   │   │   ├── functions.py +│   │   │   ├── __init__.py +│   │   │   ├── lexer.py +│   │   │   ├── parser.py +│   │   │   ├── __pycache__ +│   │   │   │   ├── ast.cpython-311.pyc +│   │   │   │   ├── compat.cpython-311.pyc +│   │   │   │   ├── exceptions.cpython-311.pyc +│   │   │   │   ├── functions.cpython-311.pyc +│   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   ├── lexer.cpython-311.pyc +│   │   │   │   ├── parser.cpython-311.pyc +│   │   │   │   └── visitor.cpython-311.pyc +│   │   │   └── visitor.py +│   │   ├── jmespath-1.1.0.dist-info +│   │   │   ├── INSTALLER +│   │   │   ├── LICENSE +│   │   │   ├── METADATA +│   │   │   ├── RECORD +│   │   │   ├── top_level.txt +│   │   │   └── WHEEL +│   │   ├── magic_filter +│   │   │   ├── attrdict.py +│   │   │   ├── exceptions.py +│   │   │   ├── helper.py +│   │   │   ├── __init__.py +│   │   │   ├── magic.py +│   │   │   ├── operations +│   │   │   │   ├── base.py +│   │   │   │   ├── call.py +│   │   │   │   ├── cast.py +│   │   │   │   ├── combination.py +│   │   │   │   ├── comparator.py +│   │   │   │   ├── extract.py +│   │   │   │   ├── function.py +│   │   │   │   ├── getattr.py +│   │   │   │   ├── getitem.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── base.cpython-311.pyc +│   │   │   │   │   ├── call.cpython-311.pyc +│   │   │   │   │   ├── cast.cpython-311.pyc +│   │   │   │   │   ├── combination.cpython-311.pyc +│   │   │   │   │   ├── comparator.cpython-311.pyc +│   │   │   │   │   ├── extract.cpython-311.pyc +│   │   │   │   │   ├── function.cpython-311.pyc +│   │   │   │   │   ├── getattr.cpython-311.pyc +│   │   │   │   │   ├── getitem.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   └── selector.cpython-311.pyc +│   │   │   │   └── selector.py +│   │   │   ├── __pycache__ +│   │   │   │   ├── attrdict.cpython-311.pyc +│   │   │   │   ├── exceptions.cpython-311.pyc +│   │   │   │   ├── helper.cpython-311.pyc +│   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   ├── magic.cpython-311.pyc +│   │   │   │   └── util.cpython-311.pyc +│   │   │   ├── py.typed +│   │   │   └── util.py +│   │   ├── magic_filter-1.0.12.dist-info +│   │   │   ├── INSTALLER +│   │   │   ├── licenses +│   │   │   │   └── LICENSE +│   │   │   ├── METADATA +│   │   │   ├── RECORD +│   │   │   └── WHEEL +│   │   ├── multidict +│   │   │   ├── _abc.py +│   │   │   ├── _compat.py +│   │   │   ├── __init__.py +│   │   │   ├── _multidict.cpython-311-x86_64-linux-gnu.so +│   │   │   ├── _multidict_py.py +│   │   │   ├── __pycache__ +│   │   │   │   ├── _abc.cpython-311.pyc +│   │   │   │   ├── _compat.cpython-311.pyc +│   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   └── _multidict_py.cpython-311.pyc +│   │   │   └── py.typed +│   │   ├── multidict-6.7.1.dist-info +│   │   │   ├── INSTALLER +│   │   │   ├── licenses +│   │   │   │   └── LICENSE +│   │   │   ├── METADATA +│   │   │   ├── RECORD +│   │   │   ├── top_level.txt +│   │   │   └── WHEEL +│   │   ├── pip +│   │   │   ├── __init__.py +│   │   │   ├── _internal +│   │   │   │   ├── build_env.py +│   │   │   │   ├── cache.py +│   │   │   │   ├── cli +│   │   │   │   │   ├── autocompletion.py +│   │   │   │   │   ├── base_command.py +│   │   │   │   │   ├── cmdoptions.py +│   │   │   │   │   ├── command_context.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── main_parser.py +│   │   │   │   │   ├── main.py +│   │   │   │   │   ├── parser.py +│   │   │   │   │   ├── progress_bars.py +│   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   ├── autocompletion.cpython-311.pyc +│   │   │   │   │   │   ├── base_command.cpython-311.pyc +│   │   │   │   │   │   ├── cmdoptions.cpython-311.pyc +│   │   │   │   │   │   ├── command_context.cpython-311.pyc +│   │   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   │   ├── main.cpython-311.pyc +│   │   │   │   │   │   ├── main_parser.cpython-311.pyc +│   │   │   │   │   │   ├── parser.cpython-311.pyc +│   │   │   │   │   │   ├── progress_bars.cpython-311.pyc +│   │   │   │   │   │   ├── req_command.cpython-311.pyc +│   │   │   │   │   │   ├── spinners.cpython-311.pyc +│   │   │   │   │   │   └── status_codes.cpython-311.pyc +│   │   │   │   │   ├── req_command.py +│   │   │   │   │   ├── spinners.py +│   │   │   │   │   └── status_codes.py +│   │   │   │   ├── commands +│   │   │   │   │   ├── cache.py +│   │   │   │   │   ├── check.py +│   │   │   │   │   ├── completion.py +│   │   │   │   │   ├── configuration.py +│   │   │   │   │   ├── debug.py +│   │   │   │   │   ├── download.py +│   │   │   │   │   ├── freeze.py +│   │   │   │   │   ├── hash.py +│   │   │   │   │   ├── help.py +│   │   │   │   │   ├── index.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── inspect.py +│   │   │   │   │   ├── install.py +│   │   │   │   │   ├── list.py +│   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   │   └── install.cpython-311.pyc +│   │   │   │   │   ├── search.py +│   │   │   │   │   ├── show.py +│   │   │   │   │   ├── uninstall.py +│   │   │   │   │   └── wheel.py +│   │   │   │   ├── configuration.py +│   │   │   │   ├── distributions +│   │   │   │   │   ├── base.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── installed.py +│   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   ├── base.cpython-311.pyc +│   │   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   │   ├── installed.cpython-311.pyc +│   │   │   │   │   │   ├── sdist.cpython-311.pyc +│   │   │   │   │   │   └── wheel.cpython-311.pyc +│   │   │   │   │   ├── sdist.py +│   │   │   │   │   └── wheel.py +│   │   │   │   ├── exceptions.py +│   │   │   │   ├── index +│   │   │   │   │   ├── collector.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── package_finder.py +│   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   ├── collector.cpython-311.pyc +│   │   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   │   ├── package_finder.cpython-311.pyc +│   │   │   │   │   │   └── sources.cpython-311.pyc +│   │   │   │   │   └── sources.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── locations +│   │   │   │   │   ├── base.py +│   │   │   │   │   ├── _distutils.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   ├── base.cpython-311.pyc +│   │   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   │   └── _sysconfig.cpython-311.pyc +│   │   │   │   │   └── _sysconfig.py +│   │   │   │   ├── main.py +│   │   │   │   ├── metadata +│   │   │   │   │   ├── base.py +│   │   │   │   │   ├── importlib +│   │   │   │   │   │   ├── _compat.py +│   │   │   │   │   │   ├── _dists.py +│   │   │   │   │   │   ├── _envs.py +│   │   │   │   │   │   ├── __init__.py +│   │   │   │   │   │   └── __pycache__ +│   │   │   │   │   │   ├── _compat.cpython-311.pyc +│   │   │   │   │   │   ├── _dists.cpython-311.pyc +│   │   │   │   │   │   ├── _envs.cpython-311.pyc +│   │   │   │   │   │   └── __init__.cpython-311.pyc +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── _json.py +│   │   │   │   │   ├── pkg_resources.py +│   │   │   │   │   └── __pycache__ +│   │   │   │   │   ├── base.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── _json.cpython-311.pyc +│   │   │   │   │   └── pkg_resources.cpython-311.pyc +│   │   │   │   ├── models +│   │   │   │   │   ├── candidate.py +│   │   │   │   │   ├── direct_url.py +│   │   │   │   │   ├── format_control.py +│   │   │   │   │   ├── index.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── installation_report.py +│   │   │   │   │   ├── link.py +│   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   ├── candidate.cpython-311.pyc +│   │   │   │   │   │   ├── direct_url.cpython-311.pyc +│   │   │   │   │   │   ├── format_control.cpython-311.pyc +│   │   │   │   │   │   ├── index.cpython-311.pyc +│   │   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   │   ├── installation_report.cpython-311.pyc +│   │   │   │   │   │   ├── link.cpython-311.pyc +│   │   │   │   │   │   ├── scheme.cpython-311.pyc +│   │   │   │   │   │   ├── search_scope.cpython-311.pyc +│   │   │   │   │   │   ├── selection_prefs.cpython-311.pyc +│   │   │   │   │   │   ├── target_python.cpython-311.pyc +│   │   │   │   │   │   └── wheel.cpython-311.pyc +│   │   │   │   │   ├── scheme.py +│   │   │   │   │   ├── search_scope.py +│   │   │   │   │   ├── selection_prefs.py +│   │   │   │   │   ├── target_python.py +│   │   │   │   │   └── wheel.py +│   │   │   │   ├── network +│   │   │   │   │   ├── auth.py +│   │   │   │   │   ├── cache.py +│   │   │   │   │   ├── download.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── lazy_wheel.py +│   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   ├── auth.cpython-311.pyc +│   │   │   │   │   │   ├── cache.cpython-311.pyc +│   │   │   │   │   │   ├── download.cpython-311.pyc +│   │   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   │   ├── lazy_wheel.cpython-311.pyc +│   │   │   │   │   │   ├── session.cpython-311.pyc +│   │   │   │   │   │   └── utils.cpython-311.pyc +│   │   │   │   │   ├── session.py +│   │   │   │   │   ├── utils.py +│   │   │   │   │   └── xmlrpc.py +│   │   │   │   ├── operations +│   │   │   │   │   ├── build +│   │   │   │   │   │   ├── build_tracker.py +│   │   │   │   │   │   ├── __init__.py +│   │   │   │   │   │   ├── metadata_editable.py +│   │   │   │   │   │   ├── metadata_legacy.py +│   │   │   │   │   │   ├── metadata.py +│   │   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   │   ├── build_tracker.cpython-311.pyc +│   │   │   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   │   │   ├── metadata.cpython-311.pyc +│   │   │   │   │   │   │   ├── metadata_editable.cpython-311.pyc +│   │   │   │   │   │   │   ├── metadata_legacy.cpython-311.pyc +│   │   │   │   │   │   │   ├── wheel.cpython-311.pyc +│   │   │   │   │   │   │   ├── wheel_editable.cpython-311.pyc +│   │   │   │   │   │   │   └── wheel_legacy.cpython-311.pyc +│   │   │   │   │   │   ├── wheel_editable.py +│   │   │   │   │   │   ├── wheel_legacy.py +│   │   │   │   │   │   └── wheel.py +│   │   │   │   │   ├── check.py +│   │   │   │   │   ├── freeze.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── install +│   │   │   │   │   │   ├── editable_legacy.py +│   │   │   │   │   │   ├── __init__.py +│   │   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   │   ├── editable_legacy.cpython-311.pyc +│   │   │   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   │   │   └── wheel.cpython-311.pyc +│   │   │   │   │   │   └── wheel.py +│   │   │   │   │   ├── prepare.py +│   │   │   │   │   └── __pycache__ +│   │   │   │   │   ├── check.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   └── prepare.cpython-311.pyc +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── build_env.cpython-311.pyc +│   │   │   │   │   ├── cache.cpython-311.pyc +│   │   │   │   │   ├── configuration.cpython-311.pyc +│   │   │   │   │   ├── exceptions.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── pyproject.cpython-311.pyc +│   │   │   │   │   ├── self_outdated_check.cpython-311.pyc +│   │   │   │   │   └── wheel_builder.cpython-311.pyc +│   │   │   │   ├── pyproject.py +│   │   │   │   ├── req +│   │   │   │   │   ├── constructors.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   ├── constructors.cpython-311.pyc +│   │   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   │   ├── req_file.cpython-311.pyc +│   │   │   │   │   │   ├── req_install.cpython-311.pyc +│   │   │   │   │   │   ├── req_set.cpython-311.pyc +│   │   │   │   │   │   └── req_uninstall.cpython-311.pyc +│   │   │   │   │   ├── req_file.py +│   │   │   │   │   ├── req_install.py +│   │   │   │   │   ├── req_set.py +│   │   │   │   │   └── req_uninstall.py +│   │   │   │   ├── resolution +│   │   │   │   │   ├── base.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── legacy +│   │   │   │   │   │   ├── __init__.py +│   │   │   │   │   │   └── resolver.py +│   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   ├── base.cpython-311.pyc +│   │   │   │   │   │   └── __init__.cpython-311.pyc +│   │   │   │   │   └── resolvelib +│   │   │   │   │   ├── base.py +│   │   │   │   │   ├── candidates.py +│   │   │   │   │   ├── factory.py +│   │   │   │   │   ├── found_candidates.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── provider.py +│   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   ├── base.cpython-311.pyc +│   │   │   │   │   │   ├── candidates.cpython-311.pyc +│   │   │   │   │   │   ├── factory.cpython-311.pyc +│   │   │   │   │   │   ├── found_candidates.cpython-311.pyc +│   │   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   │   ├── provider.cpython-311.pyc +│   │   │   │   │   │   ├── reporter.cpython-311.pyc +│   │   │   │   │   │   ├── requirements.cpython-311.pyc +│   │   │   │   │   │   └── resolver.cpython-311.pyc +│   │   │   │   │   ├── reporter.py +│   │   │   │   │   ├── requirements.py +│   │   │   │   │   └── resolver.py +│   │   │   │   ├── self_outdated_check.py +│   │   │   │   ├── utils +│   │   │   │   │   ├── appdirs.py +│   │   │   │   │   ├── compatibility_tags.py +│   │   │   │   │   ├── compat.py +│   │   │   │   │   ├── datetime.py +│   │   │   │   │   ├── deprecation.py +│   │   │   │   │   ├── direct_url_helpers.py +│   │   │   │   │   ├── egg_link.py +│   │   │   │   │   ├── encoding.py +│   │   │   │   │   ├── entrypoints.py +│   │   │   │   │   ├── filesystem.py +│   │   │   │   │   ├── filetypes.py +│   │   │   │   │   ├── glibc.py +│   │   │   │   │   ├── hashes.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── inject_securetransport.py +│   │   │   │   │   ├── _jaraco_text.py +│   │   │   │   │   ├── logging.py +│   │   │   │   │   ├── _log.py +│   │   │   │   │   ├── misc.py +│   │   │   │   │   ├── models.py +│   │   │   │   │   ├── packaging.py +│   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   ├── appdirs.cpython-311.pyc +│   │   │   │   │   │   ├── compat.cpython-311.pyc +│   │   │   │   │   │   ├── compatibility_tags.cpython-311.pyc +│   │   │   │   │   │   ├── deprecation.cpython-311.pyc +│   │   │   │   │   │   ├── direct_url_helpers.cpython-311.pyc +│   │   │   │   │   │   ├── egg_link.cpython-311.pyc +│   │   │   │   │   │   ├── encoding.cpython-311.pyc +│   │   │   │   │   │   ├── entrypoints.cpython-311.pyc +│   │   │   │   │   │   ├── filesystem.cpython-311.pyc +│   │   │   │   │   │   ├── filetypes.cpython-311.pyc +│   │   │   │   │   │   ├── glibc.cpython-311.pyc +│   │   │   │   │   │   ├── hashes.cpython-311.pyc +│   │   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   │   ├── inject_securetransport.cpython-311.pyc +│   │   │   │   │   │   ├── _jaraco_text.cpython-311.pyc +│   │   │   │   │   │   ├── _log.cpython-311.pyc +│   │   │   │   │   │   ├── logging.cpython-311.pyc +│   │   │   │   │   │   ├── misc.cpython-311.pyc +│   │   │   │   │   │   ├── models.cpython-311.pyc +│   │   │   │   │   │   ├── packaging.cpython-311.pyc +│   │   │   │   │   │   ├── setuptools_build.cpython-311.pyc +│   │   │   │   │   │   ├── subprocess.cpython-311.pyc +│   │   │   │   │   │   ├── temp_dir.cpython-311.pyc +│   │   │   │   │   │   ├── unpacking.cpython-311.pyc +│   │   │   │   │   │   ├── urls.cpython-311.pyc +│   │   │   │   │   │   ├── virtualenv.cpython-311.pyc +│   │   │   │   │   │   └── wheel.cpython-311.pyc +│   │   │   │   │   ├── setuptools_build.py +│   │   │   │   │   ├── subprocess.py +│   │   │   │   │   ├── temp_dir.py +│   │   │   │   │   ├── unpacking.py +│   │   │   │   │   ├── urls.py +│   │   │   │   │   ├── virtualenv.py +│   │   │   │   │   └── wheel.py +│   │   │   │   ├── vcs +│   │   │   │   │   ├── bazaar.py +│   │   │   │   │   ├── git.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── mercurial.py +│   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   ├── bazaar.cpython-311.pyc +│   │   │   │   │   │   ├── git.cpython-311.pyc +│   │   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   │   ├── mercurial.cpython-311.pyc +│   │   │   │   │   │   ├── subversion.cpython-311.pyc +│   │   │   │   │   │   └── versioncontrol.cpython-311.pyc +│   │   │   │   │   ├── subversion.py +│   │   │   │   │   └── versioncontrol.py +│   │   │   │   └── wheel_builder.py +│   │   │   ├── __main__.py +│   │   │   ├── __pip-runner__.py +│   │   │   ├── __pycache__ +│   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   └── __main__.cpython-311.pyc +│   │   │   ├── py.typed +│   │   │   └── _vendor +│   │   │   ├── cachecontrol +│   │   │   │   ├── adapter.py +│   │   │   │   ├── cache.py +│   │   │   │   ├── caches +│   │   │   │   │   ├── file_cache.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   ├── file_cache.cpython-311.pyc +│   │   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   │   └── redis_cache.cpython-311.pyc +│   │   │   │   │   └── redis_cache.py +│   │   │   │   ├── _cmd.py +│   │   │   │   ├── compat.py +│   │   │   │   ├── controller.py +│   │   │   │   ├── filewrapper.py +│   │   │   │   ├── heuristics.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── adapter.cpython-311.pyc +│   │   │   │   │   ├── cache.cpython-311.pyc +│   │   │   │   │   ├── compat.cpython-311.pyc +│   │   │   │   │   ├── controller.cpython-311.pyc +│   │   │   │   │   ├── filewrapper.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── serialize.cpython-311.pyc +│   │   │   │   │   └── wrapper.cpython-311.pyc +│   │   │   │   ├── serialize.py +│   │   │   │   └── wrapper.py +│   │   │   ├── certifi +│   │   │   │   ├── cacert.pem +│   │   │   │   ├── core.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── __main__.py +│   │   │   │   └── __pycache__ +│   │   │   │   ├── core.cpython-311.pyc +│   │   │   │   └── __init__.cpython-311.pyc +│   │   │   ├── chardet +│   │   │   │   ├── big5freq.py +│   │   │   │   ├── big5prober.py +│   │   │   │   ├── chardistribution.py +│   │   │   │   ├── charsetgroupprober.py +│   │   │   │   ├── charsetprober.py +│   │   │   │   ├── cli +│   │   │   │   │   ├── chardetect.py +│   │   │   │   │   └── __init__.py +│   │   │   │   ├── codingstatemachinedict.py +│   │   │   │   ├── codingstatemachine.py +│   │   │   │   ├── cp949prober.py +│   │   │   │   ├── enums.py +│   │   │   │   ├── escprober.py +│   │   │   │   ├── escsm.py +│   │   │   │   ├── eucjpprober.py +│   │   │   │   ├── euckrfreq.py +│   │   │   │   ├── euckrprober.py +│   │   │   │   ├── euctwfreq.py +│   │   │   │   ├── euctwprober.py +│   │   │   │   ├── gb2312freq.py +│   │   │   │   ├── gb2312prober.py +│   │   │   │   ├── hebrewprober.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── jisfreq.py +│   │   │   │   ├── johabfreq.py +│   │   │   │   ├── johabprober.py +│   │   │   │   ├── jpcntx.py +│   │   │   │   ├── langbulgarianmodel.py +│   │   │   │   ├── langgreekmodel.py +│   │   │   │   ├── langhebrewmodel.py +│   │   │   │   ├── langhungarianmodel.py +│   │   │   │   ├── langrussianmodel.py +│   │   │   │   ├── langthaimodel.py +│   │   │   │   ├── langturkishmodel.py +│   │   │   │   ├── latin1prober.py +│   │   │   │   ├── macromanprober.py +│   │   │   │   ├── mbcharsetprober.py +│   │   │   │   ├── mbcsgroupprober.py +│   │   │   │   ├── mbcssm.py +│   │   │   │   ├── metadata +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   └── languages.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── big5freq.cpython-311.pyc +│   │   │   │   │   ├── big5prober.cpython-311.pyc +│   │   │   │   │   ├── chardistribution.cpython-311.pyc +│   │   │   │   │   ├── charsetgroupprober.cpython-311.pyc +│   │   │   │   │   ├── charsetprober.cpython-311.pyc +│   │   │   │   │   ├── codingstatemachine.cpython-311.pyc +│   │   │   │   │   ├── codingstatemachinedict.cpython-311.pyc +│   │   │   │   │   ├── cp949prober.cpython-311.pyc +│   │   │   │   │   ├── enums.cpython-311.pyc +│   │   │   │   │   ├── escprober.cpython-311.pyc +│   │   │   │   │   ├── escsm.cpython-311.pyc +│   │   │   │   │   ├── eucjpprober.cpython-311.pyc +│   │   │   │   │   ├── euckrfreq.cpython-311.pyc +│   │   │   │   │   ├── euckrprober.cpython-311.pyc +│   │   │   │   │   ├── euctwfreq.cpython-311.pyc +│   │   │   │   │   ├── euctwprober.cpython-311.pyc +│   │   │   │   │   ├── gb2312freq.cpython-311.pyc +│   │   │   │   │   ├── gb2312prober.cpython-311.pyc +│   │   │   │   │   ├── hebrewprober.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── jisfreq.cpython-311.pyc +│   │   │   │   │   ├── johabfreq.cpython-311.pyc +│   │   │   │   │   ├── johabprober.cpython-311.pyc +│   │   │   │   │   ├── jpcntx.cpython-311.pyc +│   │   │   │   │   ├── langbulgarianmodel.cpython-311.pyc +│   │   │   │   │   ├── langgreekmodel.cpython-311.pyc +│   │   │   │   │   ├── langhebrewmodel.cpython-311.pyc +│   │   │   │   │   ├── langrussianmodel.cpython-311.pyc +│   │   │   │   │   ├── langthaimodel.cpython-311.pyc +│   │   │   │   │   ├── langturkishmodel.cpython-311.pyc +│   │   │   │   │   ├── latin1prober.cpython-311.pyc +│   │   │   │   │   ├── macromanprober.cpython-311.pyc +│   │   │   │   │   ├── mbcharsetprober.cpython-311.pyc +│   │   │   │   │   ├── mbcsgroupprober.cpython-311.pyc +│   │   │   │   │   ├── mbcssm.cpython-311.pyc +│   │   │   │   │   ├── resultdict.cpython-311.pyc +│   │   │   │   │   ├── sbcharsetprober.cpython-311.pyc +│   │   │   │   │   ├── sbcsgroupprober.cpython-311.pyc +│   │   │   │   │   ├── sjisprober.cpython-311.pyc +│   │   │   │   │   ├── universaldetector.cpython-311.pyc +│   │   │   │   │   ├── utf1632prober.cpython-311.pyc +│   │   │   │   │   ├── utf8prober.cpython-311.pyc +│   │   │   │   │   └── version.cpython-311.pyc +│   │   │   │   ├── resultdict.py +│   │   │   │   ├── sbcharsetprober.py +│   │   │   │   ├── sbcsgroupprober.py +│   │   │   │   ├── sjisprober.py +│   │   │   │   ├── universaldetector.py +│   │   │   │   ├── utf1632prober.py +│   │   │   │   ├── utf8prober.py +│   │   │   │   └── version.py +│   │   │   ├── colorama +│   │   │   │   ├── ansi.py +│   │   │   │   ├── ansitowin32.py +│   │   │   │   ├── initialise.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── tests +│   │   │   │   │   ├── ansi_test.py +│   │   │   │   │   ├── ansitowin32_test.py +│   │   │   │   │   ├── initialise_test.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── isatty_test.py +│   │   │   │   │   ├── utils.py +│   │   │   │   │   └── winterm_test.py +│   │   │   │   ├── win32.py +│   │   │   │   └── winterm.py +│   │   │   ├── distlib +│   │   │   │   ├── compat.py +│   │   │   │   ├── database.py +│   │   │   │   ├── index.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── locators.py +│   │   │   │   ├── manifest.py +│   │   │   │   ├── markers.py +│   │   │   │   ├── metadata.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── compat.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── resources.cpython-311.pyc +│   │   │   │   │   ├── scripts.cpython-311.pyc +│   │   │   │   │   └── util.cpython-311.pyc +│   │   │   │   ├── resources.py +│   │   │   │   ├── scripts.py +│   │   │   │   ├── t32.exe +│   │   │   │   ├── t64-arm.exe +│   │   │   │   ├── t64.exe +│   │   │   │   ├── util.py +│   │   │   │   ├── version.py +│   │   │   │   ├── w32.exe +│   │   │   │   ├── w64-arm.exe +│   │   │   │   ├── w64.exe +│   │   │   │   └── wheel.py +│   │   │   ├── distro +│   │   │   │   ├── distro.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── __main__.py +│   │   │   │   └── __pycache__ +│   │   │   │   ├── distro.cpython-311.pyc +│   │   │   │   └── __init__.cpython-311.pyc +│   │   │   ├── idna +│   │   │   │   ├── codec.py +│   │   │   │   ├── compat.py +│   │   │   │   ├── core.py +│   │   │   │   ├── idnadata.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── intranges.py +│   │   │   │   ├── package_data.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── core.cpython-311.pyc +│   │   │   │   │   ├── idnadata.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── intranges.cpython-311.pyc +│   │   │   │   │   └── package_data.cpython-311.pyc +│   │   │   │   └── uts46data.py +│   │   │   ├── __init__.py +│   │   │   ├── msgpack +│   │   │   │   ├── exceptions.py +│   │   │   │   ├── ext.py +│   │   │   │   ├── fallback.py +│   │   │   │   ├── __init__.py +│   │   │   │   └── __pycache__ +│   │   │   │   ├── exceptions.cpython-311.pyc +│   │   │   │   ├── ext.cpython-311.pyc +│   │   │   │   ├── fallback.cpython-311.pyc +│   │   │   │   └── __init__.cpython-311.pyc +│   │   │   ├── packaging +│   │   │   │   ├── __about__.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── _manylinux.py +│   │   │   │   ├── markers.py +│   │   │   │   ├── _musllinux.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── __about__.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── _manylinux.cpython-311.pyc +│   │   │   │   │   ├── markers.cpython-311.pyc +│   │   │   │   │   ├── _musllinux.cpython-311.pyc +│   │   │   │   │   ├── requirements.cpython-311.pyc +│   │   │   │   │   ├── specifiers.cpython-311.pyc +│   │   │   │   │   ├── _structures.cpython-311.pyc +│   │   │   │   │   ├── tags.cpython-311.pyc +│   │   │   │   │   ├── utils.cpython-311.pyc +│   │   │   │   │   └── version.cpython-311.pyc +│   │   │   │   ├── requirements.py +│   │   │   │   ├── specifiers.py +│   │   │   │   ├── _structures.py +│   │   │   │   ├── tags.py +│   │   │   │   ├── utils.py +│   │   │   │   └── version.py +│   │   │   ├── pkg_resources +│   │   │   │   ├── __init__.py +│   │   │   │   └── __pycache__ +│   │   │   │   └── __init__.cpython-311.pyc +│   │   │   ├── platformdirs +│   │   │   │   ├── android.py +│   │   │   │   ├── api.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── macos.py +│   │   │   │   ├── __main__.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── api.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── unix.cpython-311.pyc +│   │   │   │   │   └── version.cpython-311.pyc +│   │   │   │   ├── unix.py +│   │   │   │   ├── version.py +│   │   │   │   └── windows.py +│   │   │   ├── __pycache__ +│   │   │   │   └── __init__.cpython-311.pyc +│   │   │   ├── pygments +│   │   │   │   ├── cmdline.py +│   │   │   │   ├── console.py +│   │   │   │   ├── filter.py +│   │   │   │   ├── filters +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   └── __pycache__ +│   │   │   │   │   └── __init__.cpython-311.pyc +│   │   │   │   ├── formatter.py +│   │   │   │   ├── formatters +│   │   │   │   │   ├── bbcode.py +│   │   │   │   │   ├── groff.py +│   │   │   │   │   ├── html.py +│   │   │   │   │   ├── img.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── irc.py +│   │   │   │   │   ├── latex.py +│   │   │   │   │   ├── _mapping.py +│   │   │   │   │   ├── other.py +│   │   │   │   │   ├── pangomarkup.py +│   │   │   │   │   ├── rtf.py +│   │   │   │   │   ├── svg.py +│   │   │   │   │   ├── terminal256.py +│   │   │   │   │   └── terminal.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── lexer.py +│   │   │   │   ├── lexers +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── _mapping.py +│   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   │   └── _mapping.cpython-311.pyc +│   │   │   │   │   └── python.py +│   │   │   │   ├── __main__.py +│   │   │   │   ├── modeline.py +│   │   │   │   ├── plugin.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── filter.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── lexer.cpython-311.pyc +│   │   │   │   │   ├── modeline.cpython-311.pyc +│   │   │   │   │   ├── plugin.cpython-311.pyc +│   │   │   │   │   ├── regexopt.cpython-311.pyc +│   │   │   │   │   ├── style.cpython-311.pyc +│   │   │   │   │   ├── token.cpython-311.pyc +│   │   │   │   │   └── util.cpython-311.pyc +│   │   │   │   ├── regexopt.py +│   │   │   │   ├── scanner.py +│   │   │   │   ├── sphinxext.py +│   │   │   │   ├── style.py +│   │   │   │   ├── styles +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   └── __pycache__ +│   │   │   │   │   └── __init__.cpython-311.pyc +│   │   │   │   ├── token.py +│   │   │   │   ├── unistring.py +│   │   │   │   └── util.py +│   │   │   ├── pyparsing +│   │   │   │   ├── actions.py +│   │   │   │   ├── common.py +│   │   │   │   ├── core.py +│   │   │   │   ├── diagram +│   │   │   │   │   └── __init__.py +│   │   │   │   ├── exceptions.py +│   │   │   │   ├── helpers.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── actions.cpython-311.pyc +│   │   │   │   │   ├── common.cpython-311.pyc +│   │   │   │   │   ├── core.cpython-311.pyc +│   │   │   │   │   ├── exceptions.cpython-311.pyc +│   │   │   │   │   ├── helpers.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── results.cpython-311.pyc +│   │   │   │   │   ├── testing.cpython-311.pyc +│   │   │   │   │   ├── unicode.cpython-311.pyc +│   │   │   │   │   └── util.cpython-311.pyc +│   │   │   │   ├── results.py +│   │   │   │   ├── testing.py +│   │   │   │   ├── unicode.py +│   │   │   │   └── util.py +│   │   │   ├── pyproject_hooks +│   │   │   │   ├── _compat.py +│   │   │   │   ├── _impl.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── _in_process +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── _in_process.py +│   │   │   │   │   └── __pycache__ +│   │   │   │   │   └── __init__.cpython-311.pyc +│   │   │   │   └── __pycache__ +│   │   │   │   ├── _impl.cpython-311.pyc +│   │   │   │   └── __init__.cpython-311.pyc +│   │   │   ├── requests +│   │   │   │   ├── adapters.py +│   │   │   │   ├── api.py +│   │   │   │   ├── auth.py +│   │   │   │   ├── certs.py +│   │   │   │   ├── compat.py +│   │   │   │   ├── cookies.py +│   │   │   │   ├── exceptions.py +│   │   │   │   ├── help.py +│   │   │   │   ├── hooks.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── _internal_utils.py +│   │   │   │   ├── models.py +│   │   │   │   ├── packages.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── adapters.cpython-311.pyc +│   │   │   │   │   ├── api.cpython-311.pyc +│   │   │   │   │   ├── auth.cpython-311.pyc +│   │   │   │   │   ├── certs.cpython-311.pyc +│   │   │   │   │   ├── compat.cpython-311.pyc +│   │   │   │   │   ├── cookies.cpython-311.pyc +│   │   │   │   │   ├── exceptions.cpython-311.pyc +│   │   │   │   │   ├── hooks.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── _internal_utils.cpython-311.pyc +│   │   │   │   │   ├── models.cpython-311.pyc +│   │   │   │   │   ├── packages.cpython-311.pyc +│   │   │   │   │   ├── sessions.cpython-311.pyc +│   │   │   │   │   ├── status_codes.cpython-311.pyc +│   │   │   │   │   ├── structures.cpython-311.pyc +│   │   │   │   │   ├── utils.cpython-311.pyc +│   │   │   │   │   └── __version__.cpython-311.pyc +│   │   │   │   ├── sessions.py +│   │   │   │   ├── status_codes.py +│   │   │   │   ├── structures.py +│   │   │   │   ├── utils.py +│   │   │   │   └── __version__.py +│   │   │   ├── resolvelib +│   │   │   │   ├── compat +│   │   │   │   │   ├── collections_abc.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   └── __pycache__ +│   │   │   │   │   ├── collections_abc.cpython-311.pyc +│   │   │   │   │   └── __init__.cpython-311.pyc +│   │   │   │   ├── __init__.py +│   │   │   │   ├── providers.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── providers.cpython-311.pyc +│   │   │   │   │   ├── reporters.cpython-311.pyc +│   │   │   │   │   ├── resolvers.cpython-311.pyc +│   │   │   │   │   └── structs.cpython-311.pyc +│   │   │   │   ├── reporters.py +│   │   │   │   ├── resolvers.py +│   │   │   │   └── structs.py +│   │   │   ├── rich +│   │   │   │   ├── abc.py +│   │   │   │   ├── align.py +│   │   │   │   ├── ansi.py +│   │   │   │   ├── bar.py +│   │   │   │   ├── box.py +│   │   │   │   ├── cells.py +│   │   │   │   ├── _cell_widths.py +│   │   │   │   ├── color.py +│   │   │   │   ├── color_triplet.py +│   │   │   │   ├── columns.py +│   │   │   │   ├── console.py +│   │   │   │   ├── constrain.py +│   │   │   │   ├── containers.py +│   │   │   │   ├── control.py +│   │   │   │   ├── default_styles.py +│   │   │   │   ├── diagnose.py +│   │   │   │   ├── _emoji_codes.py +│   │   │   │   ├── emoji.py +│   │   │   │   ├── _emoji_replace.py +│   │   │   │   ├── errors.py +│   │   │   │   ├── _export_format.py +│   │   │   │   ├── _extension.py +│   │   │   │   ├── _fileno.py +│   │   │   │   ├── file_proxy.py +│   │   │   │   ├── filesize.py +│   │   │   │   ├── highlighter.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── _inspect.py +│   │   │   │   ├── json.py +│   │   │   │   ├── jupyter.py +│   │   │   │   ├── layout.py +│   │   │   │   ├── live.py +│   │   │   │   ├── live_render.py +│   │   │   │   ├── logging.py +│   │   │   │   ├── _log_render.py +│   │   │   │   ├── _loop.py +│   │   │   │   ├── __main__.py +│   │   │   │   ├── markup.py +│   │   │   │   ├── measure.py +│   │   │   │   ├── _null_file.py +│   │   │   │   ├── padding.py +│   │   │   │   ├── pager.py +│   │   │   │   ├── palette.py +│   │   │   │   ├── _palettes.py +│   │   │   │   ├── panel.py +│   │   │   │   ├── _pick.py +│   │   │   │   ├── pretty.py +│   │   │   │   ├── progress_bar.py +│   │   │   │   ├── progress.py +│   │   │   │   ├── prompt.py +│   │   │   │   ├── protocol.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── abc.cpython-311.pyc +│   │   │   │   │   ├── align.cpython-311.pyc +│   │   │   │   │   ├── ansi.cpython-311.pyc +│   │   │   │   │   ├── box.cpython-311.pyc +│   │   │   │   │   ├── cells.cpython-311.pyc +│   │   │   │   │   ├── _cell_widths.cpython-311.pyc +│   │   │   │   │   ├── color.cpython-311.pyc +│   │   │   │   │   ├── color_triplet.cpython-311.pyc +│   │   │   │   │   ├── columns.cpython-311.pyc +│   │   │   │   │   ├── console.cpython-311.pyc +│   │   │   │   │   ├── constrain.cpython-311.pyc +│   │   │   │   │   ├── containers.cpython-311.pyc +│   │   │   │   │   ├── control.cpython-311.pyc +│   │   │   │   │   ├── default_styles.cpython-311.pyc +│   │   │   │   │   ├── _emoji_codes.cpython-311.pyc +│   │   │   │   │   ├── emoji.cpython-311.pyc +│   │   │   │   │   ├── _emoji_replace.cpython-311.pyc +│   │   │   │   │   ├── errors.cpython-311.pyc +│   │   │   │   │   ├── _export_format.cpython-311.pyc +│   │   │   │   │   ├── _extension.cpython-311.pyc +│   │   │   │   │   ├── _fileno.cpython-311.pyc +│   │   │   │   │   ├── file_proxy.cpython-311.pyc +│   │   │   │   │   ├── filesize.cpython-311.pyc +│   │   │   │   │   ├── highlighter.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── jupyter.cpython-311.pyc +│   │   │   │   │   ├── live.cpython-311.pyc +│   │   │   │   │   ├── live_render.cpython-311.pyc +│   │   │   │   │   ├── logging.cpython-311.pyc +│   │   │   │   │   ├── _log_render.cpython-311.pyc +│   │   │   │   │   ├── _loop.cpython-311.pyc +│   │   │   │   │   ├── markup.cpython-311.pyc +│   │   │   │   │   ├── measure.cpython-311.pyc +│   │   │   │   │   ├── _null_file.cpython-311.pyc +│   │   │   │   │   ├── padding.cpython-311.pyc +│   │   │   │   │   ├── pager.cpython-311.pyc +│   │   │   │   │   ├── palette.cpython-311.pyc +│   │   │   │   │   ├── _palettes.cpython-311.pyc +│   │   │   │   │   ├── panel.cpython-311.pyc +│   │   │   │   │   ├── _pick.cpython-311.pyc +│   │   │   │   │   ├── pretty.cpython-311.pyc +│   │   │   │   │   ├── progress_bar.cpython-311.pyc +│   │   │   │   │   ├── progress.cpython-311.pyc +│   │   │   │   │   ├── protocol.cpython-311.pyc +│   │   │   │   │   ├── _ratio.cpython-311.pyc +│   │   │   │   │   ├── region.cpython-311.pyc +│   │   │   │   │   ├── repr.cpython-311.pyc +│   │   │   │   │   ├── scope.cpython-311.pyc +│   │   │   │   │   ├── screen.cpython-311.pyc +│   │   │   │   │   ├── segment.cpython-311.pyc +│   │   │   │   │   ├── spinner.cpython-311.pyc +│   │   │   │   │   ├── _spinners.cpython-311.pyc +│   │   │   │   │   ├── style.cpython-311.pyc +│   │   │   │   │   ├── styled.cpython-311.pyc +│   │   │   │   │   ├── syntax.cpython-311.pyc +│   │   │   │   │   ├── table.cpython-311.pyc +│   │   │   │   │   ├── terminal_theme.cpython-311.pyc +│   │   │   │   │   ├── text.cpython-311.pyc +│   │   │   │   │   ├── theme.cpython-311.pyc +│   │   │   │   │   ├── themes.cpython-311.pyc +│   │   │   │   │   ├── traceback.cpython-311.pyc +│   │   │   │   │   └── _wrap.cpython-311.pyc +│   │   │   │   ├── _ratio.py +│   │   │   │   ├── region.py +│   │   │   │   ├── repr.py +│   │   │   │   ├── rule.py +│   │   │   │   ├── scope.py +│   │   │   │   ├── screen.py +│   │   │   │   ├── segment.py +│   │   │   │   ├── spinner.py +│   │   │   │   ├── _spinners.py +│   │   │   │   ├── _stack.py +│   │   │   │   ├── status.py +│   │   │   │   ├── styled.py +│   │   │   │   ├── style.py +│   │   │   │   ├── syntax.py +│   │   │   │   ├── table.py +│   │   │   │   ├── terminal_theme.py +│   │   │   │   ├── text.py +│   │   │   │   ├── theme.py +│   │   │   │   ├── themes.py +│   │   │   │   ├── _timer.py +│   │   │   │   ├── traceback.py +│   │   │   │   ├── tree.py +│   │   │   │   ├── _win32_console.py +│   │   │   │   ├── _windows.py +│   │   │   │   ├── _windows_renderer.py +│   │   │   │   └── _wrap.py +│   │   │   ├── six.py +│   │   │   ├── tenacity +│   │   │   │   ├── after.py +│   │   │   │   ├── _asyncio.py +│   │   │   │   ├── before.py +│   │   │   │   ├── before_sleep.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── nap.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── after.cpython-311.pyc +│   │   │   │   │   ├── _asyncio.cpython-311.pyc +│   │   │   │   │   ├── before.cpython-311.pyc +│   │   │   │   │   ├── before_sleep.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── nap.cpython-311.pyc +│   │   │   │   │   ├── retry.cpython-311.pyc +│   │   │   │   │   ├── stop.cpython-311.pyc +│   │   │   │   │   ├── _utils.cpython-311.pyc +│   │   │   │   │   └── wait.cpython-311.pyc +│   │   │   │   ├── retry.py +│   │   │   │   ├── stop.py +│   │   │   │   ├── tornadoweb.py +│   │   │   │   ├── _utils.py +│   │   │   │   └── wait.py +│   │   │   ├── tomli +│   │   │   │   ├── __init__.py +│   │   │   │   ├── _parser.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── _parser.cpython-311.pyc +│   │   │   │   │   ├── _re.cpython-311.pyc +│   │   │   │   │   └── _types.cpython-311.pyc +│   │   │   │   ├── _re.py +│   │   │   │   └── _types.py +│   │   │   ├── typing_extensions.py +│   │   │   ├── urllib3 +│   │   │   │   ├── _collections.py +│   │   │   │   ├── connectionpool.py +│   │   │   │   ├── connection.py +│   │   │   │   ├── contrib +│   │   │   │   │   ├── _appengine_environ.py +│   │   │   │   │   ├── appengine.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── ntlmpool.py +│   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   ├── _appengine_environ.cpython-311.pyc +│   │   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   │   └── socks.cpython-311.pyc +│   │   │   │   │   ├── pyopenssl.py +│   │   │   │   │   ├── _securetransport +│   │   │   │   │   │   ├── bindings.py +│   │   │   │   │   │   ├── __init__.py +│   │   │   │   │   │   └── low_level.py +│   │   │   │   │   ├── securetransport.py +│   │   │   │   │   └── socks.py +│   │   │   │   ├── exceptions.py +│   │   │   │   ├── fields.py +│   │   │   │   ├── filepost.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── packages +│   │   │   │   │   ├── backports +│   │   │   │   │   │   ├── __init__.py +│   │   │   │   │   │   ├── makefile.py +│   │   │   │   │   │   └── weakref_finalize.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   │   └── six.cpython-311.pyc +│   │   │   │   │   └── six.py +│   │   │   │   ├── poolmanager.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── _collections.cpython-311.pyc +│   │   │   │   │   ├── connection.cpython-311.pyc +│   │   │   │   │   ├── connectionpool.cpython-311.pyc +│   │   │   │   │   ├── exceptions.cpython-311.pyc +│   │   │   │   │   ├── fields.cpython-311.pyc +│   │   │   │   │   ├── filepost.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── poolmanager.cpython-311.pyc +│   │   │   │   │   ├── request.cpython-311.pyc +│   │   │   │   │   ├── response.cpython-311.pyc +│   │   │   │   │   └── _version.cpython-311.pyc +│   │   │   │   ├── request.py +│   │   │   │   ├── response.py +│   │   │   │   ├── util +│   │   │   │   │   ├── connection.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── proxy.py +│   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   ├── connection.cpython-311.pyc +│   │   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   │   ├── proxy.cpython-311.pyc +│   │   │   │   │   │   ├── queue.cpython-311.pyc +│   │   │   │   │   │   ├── request.cpython-311.pyc +│   │   │   │   │   │   ├── response.cpython-311.pyc +│   │   │   │   │   │   ├── retry.cpython-311.pyc +│   │   │   │   │   │   ├── ssl_.cpython-311.pyc +│   │   │   │   │   │   ├── ssl_match_hostname.cpython-311.pyc +│   │   │   │   │   │   ├── ssltransport.cpython-311.pyc +│   │   │   │   │   │   ├── timeout.cpython-311.pyc +│   │   │   │   │   │   ├── url.cpython-311.pyc +│   │   │   │   │   │   └── wait.cpython-311.pyc +│   │   │   │   │   ├── queue.py +│   │   │   │   │   ├── request.py +│   │   │   │   │   ├── response.py +│   │   │   │   │   ├── retry.py +│   │   │   │   │   ├── ssl_match_hostname.py +│   │   │   │   │   ├── ssl_.py +│   │   │   │   │   ├── ssltransport.py +│   │   │   │   │   ├── timeout.py +│   │   │   │   │   ├── url.py +│   │   │   │   │   └── wait.py +│   │   │   │   └── _version.py +│   │   │   ├── vendor.txt +│   │   │   └── webencodings +│   │   │   ├── __init__.py +│   │   │   ├── labels.py +│   │   │   ├── mklabels.py +│   │   │   ├── tests.py +│   │   │   └── x_user_defined.py +│   │   ├── pip-23.2.1.dist-info +│   │   │   ├── AUTHORS.txt +│   │   │   ├── entry_points.txt +│   │   │   ├── INSTALLER +│   │   │   ├── LICENSE.txt +│   │   │   ├── METADATA +│   │   │   ├── RECORD +│   │   │   ├── top_level.txt +│   │   │   └── WHEEL +│   │   ├── pip-23.2.1.virtualenv +│   │   ├── pkg_resources +│   │   │   ├── extern +│   │   │   │   └── __init__.py +│   │   │   ├── __init__.py +│   │   │   └── _vendor +│   │   │   ├── importlib_resources +│   │   │   │   ├── abc.py +│   │   │   │   ├── _adapters.py +│   │   │   │   ├── _common.py +│   │   │   │   ├── _compat.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── _itertools.py +│   │   │   │   ├── _legacy.py +│   │   │   │   ├── readers.py +│   │   │   │   └── simple.py +│   │   │   ├── __init__.py +│   │   │   ├── jaraco +│   │   │   │   ├── context.py +│   │   │   │   ├── functools.py +│   │   │   │   ├── __init__.py +│   │   │   │   └── text +│   │   │   │   └── __init__.py +│   │   │   ├── more_itertools +│   │   │   │   ├── __init__.py +│   │   │   │   ├── more.py +│   │   │   │   └── recipes.py +│   │   │   ├── packaging +│   │   │   │   ├── _elffile.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── _manylinux.py +│   │   │   │   ├── markers.py +│   │   │   │   ├── metadata.py +│   │   │   │   ├── _musllinux.py +│   │   │   │   ├── _parser.py +│   │   │   │   ├── requirements.py +│   │   │   │   ├── specifiers.py +│   │   │   │   ├── _structures.py +│   │   │   │   ├── tags.py +│   │   │   │   ├── _tokenizer.py +│   │   │   │   ├── utils.py +│   │   │   │   └── version.py +│   │   │   ├── platformdirs +│   │   │   │   ├── android.py +│   │   │   │   ├── api.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── macos.py +│   │   │   │   ├── __main__.py +│   │   │   │   ├── unix.py +│   │   │   │   ├── version.py +│   │   │   │   └── windows.py +│   │   │   ├── typing_extensions.py +│   │   │   └── zipp.py +│   │   ├── propcache +│   │   │   ├── api.py +│   │   │   ├── _helpers_c.cpython-311-x86_64-linux-gnu.so +│   │   │   ├── _helpers_c.pyx +│   │   │   ├── _helpers.py +│   │   │   ├── _helpers_py.py +│   │   │   ├── __init__.py +│   │   │   ├── __pycache__ +│   │   │   │   ├── api.cpython-311.pyc +│   │   │   │   ├── _helpers.cpython-311.pyc +│   │   │   │   ├── _helpers_py.cpython-311.pyc +│   │   │   │   └── __init__.cpython-311.pyc +│   │   │   └── py.typed +│   │   ├── propcache-0.4.1.dist-info +│   │   │   ├── INSTALLER +│   │   │   ├── licenses +│   │   │   │   ├── LICENSE +│   │   │   │   └── NOTICE +│   │   │   ├── METADATA +│   │   │   ├── RECORD +│   │   │   ├── top_level.txt +│   │   │   └── WHEEL +│   │   ├── protobuf-7.34.0.dist-info +│   │   │   ├── INSTALLER +│   │   │   ├── LICENSE +│   │   │   ├── METADATA +│   │   │   ├── RECORD +│   │   │   └── WHEEL +│   │   ├── __pycache__ +│   │   │   ├── six.cpython-311.pyc +│   │   │   ├── typing_extensions.cpython-311.pyc +│   │   │   └── _virtualenv.cpython-311.pyc +│   │   ├── pydantic +│   │   │   ├── aliases.py +│   │   │   ├── alias_generators.py +│   │   │   ├── annotated_handlers.py +│   │   │   ├── class_validators.py +│   │   │   ├── color.py +│   │   │   ├── config.py +│   │   │   ├── dataclasses.py +│   │   │   ├── datetime_parse.py +│   │   │   ├── decorator.py +│   │   │   ├── deprecated +│   │   │   │   ├── class_validators.py +│   │   │   │   ├── config.py +│   │   │   │   ├── copy_internals.py +│   │   │   │   ├── decorator.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── json.py +│   │   │   │   ├── parse.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── class_validators.cpython-311.pyc +│   │   │   │   │   ├── config.cpython-311.pyc +│   │   │   │   │   ├── copy_internals.cpython-311.pyc +│   │   │   │   │   ├── decorator.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── json.cpython-311.pyc +│   │   │   │   │   ├── parse.cpython-311.pyc +│   │   │   │   │   └── tools.cpython-311.pyc +│   │   │   │   └── tools.py +│   │   │   ├── env_settings.py +│   │   │   ├── errors.py +│   │   │   ├── error_wrappers.py +│   │   │   ├── experimental +│   │   │   │   ├── arguments_schema.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── missing_sentinel.py +│   │   │   │   ├── pipeline.py +│   │   │   │   └── __pycache__ +│   │   │   │   ├── arguments_schema.cpython-311.pyc +│   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   ├── missing_sentinel.cpython-311.pyc +│   │   │   │   └── pipeline.cpython-311.pyc +│   │   │   ├── fields.py +│   │   │   ├── functional_serializers.py +│   │   │   ├── functional_validators.py +│   │   │   ├── generics.py +│   │   │   ├── __init__.py +│   │   │   ├── _internal +│   │   │   │   ├── _config.py +│   │   │   │   ├── _core_metadata.py +│   │   │   │   ├── _core_utils.py +│   │   │   │   ├── _dataclasses.py +│   │   │   │   ├── _decorators.py +│   │   │   │   ├── _decorators_v1.py +│   │   │   │   ├── _discriminated_union.py +│   │   │   │   ├── _docs_extraction.py +│   │   │   │   ├── _fields.py +│   │   │   │   ├── _forward_ref.py +│   │   │   │   ├── _generate_schema.py +│   │   │   │   ├── _generics.py +│   │   │   │   ├── _git.py +│   │   │   │   ├── _import_utils.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── _internal_dataclass.py +│   │   │   │   ├── _known_annotated_metadata.py +│   │   │   │   ├── _mock_val_ser.py +│   │   │   │   ├── _model_construction.py +│   │   │   │   ├── _namespace_utils.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── _config.cpython-311.pyc +│   │   │   │   │   ├── _core_metadata.cpython-311.pyc +│   │   │   │   │   ├── _core_utils.cpython-311.pyc +│   │   │   │   │   ├── _dataclasses.cpython-311.pyc +│   │   │   │   │   ├── _decorators.cpython-311.pyc +│   │   │   │   │   ├── _decorators_v1.cpython-311.pyc +│   │   │   │   │   ├── _discriminated_union.cpython-311.pyc +│   │   │   │   │   ├── _docs_extraction.cpython-311.pyc +│   │   │   │   │   ├── _fields.cpython-311.pyc +│   │   │   │   │   ├── _forward_ref.cpython-311.pyc +│   │   │   │   │   ├── _generate_schema.cpython-311.pyc +│   │   │   │   │   ├── _generics.cpython-311.pyc +│   │   │   │   │   ├── _git.cpython-311.pyc +│   │   │   │   │   ├── _import_utils.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── _internal_dataclass.cpython-311.pyc +│   │   │   │   │   ├── _known_annotated_metadata.cpython-311.pyc +│   │   │   │   │   ├── _mock_val_ser.cpython-311.pyc +│   │   │   │   │   ├── _model_construction.cpython-311.pyc +│   │   │   │   │   ├── _namespace_utils.cpython-311.pyc +│   │   │   │   │   ├── _repr.cpython-311.pyc +│   │   │   │   │   ├── _schema_gather.cpython-311.pyc +│   │   │   │   │   ├── _schema_generation_shared.cpython-311.pyc +│   │   │   │   │   ├── _serializers.cpython-311.pyc +│   │   │   │   │   ├── _signature.cpython-311.pyc +│   │   │   │   │   ├── _typing_extra.cpython-311.pyc +│   │   │   │   │   ├── _utils.cpython-311.pyc +│   │   │   │   │   ├── _validate_call.cpython-311.pyc +│   │   │   │   │   └── _validators.cpython-311.pyc +│   │   │   │   ├── _repr.py +│   │   │   │   ├── _schema_gather.py +│   │   │   │   ├── _schema_generation_shared.py +│   │   │   │   ├── _serializers.py +│   │   │   │   ├── _signature.py +│   │   │   │   ├── _typing_extra.py +│   │   │   │   ├── _utils.py +│   │   │   │   ├── _validate_call.py +│   │   │   │   └── _validators.py +│   │   │   ├── json.py +│   │   │   ├── json_schema.py +│   │   │   ├── main.py +│   │   │   ├── _migration.py +│   │   │   ├── mypy.py +│   │   │   ├── networks.py +│   │   │   ├── parse.py +│   │   │   ├── plugin +│   │   │   │   ├── __init__.py +│   │   │   │   ├── _loader.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── _loader.cpython-311.pyc +│   │   │   │   │   └── _schema_validator.cpython-311.pyc +│   │   │   │   └── _schema_validator.py +│   │   │   ├── __pycache__ +│   │   │   │   ├── aliases.cpython-311.pyc +│   │   │   │   ├── alias_generators.cpython-311.pyc +│   │   │   │   ├── annotated_handlers.cpython-311.pyc +│   │   │   │   ├── class_validators.cpython-311.pyc +│   │   │   │   ├── color.cpython-311.pyc +│   │   │   │   ├── config.cpython-311.pyc +│   │   │   │   ├── dataclasses.cpython-311.pyc +│   │   │   │   ├── datetime_parse.cpython-311.pyc +│   │   │   │   ├── decorator.cpython-311.pyc +│   │   │   │   ├── env_settings.cpython-311.pyc +│   │   │   │   ├── errors.cpython-311.pyc +│   │   │   │   ├── error_wrappers.cpython-311.pyc +│   │   │   │   ├── fields.cpython-311.pyc +│   │   │   │   ├── functional_serializers.cpython-311.pyc +│   │   │   │   ├── functional_validators.cpython-311.pyc +│   │   │   │   ├── generics.cpython-311.pyc +│   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   ├── json.cpython-311.pyc +│   │   │   │   ├── json_schema.cpython-311.pyc +│   │   │   │   ├── main.cpython-311.pyc +│   │   │   │   ├── _migration.cpython-311.pyc +│   │   │   │   ├── mypy.cpython-311.pyc +│   │   │   │   ├── networks.cpython-311.pyc +│   │   │   │   ├── parse.cpython-311.pyc +│   │   │   │   ├── root_model.cpython-311.pyc +│   │   │   │   ├── schema.cpython-311.pyc +│   │   │   │   ├── tools.cpython-311.pyc +│   │   │   │   ├── type_adapter.cpython-311.pyc +│   │   │   │   ├── types.cpython-311.pyc +│   │   │   │   ├── typing.cpython-311.pyc +│   │   │   │   ├── utils.cpython-311.pyc +│   │   │   │   ├── validate_call_decorator.cpython-311.pyc +│   │   │   │   ├── validators.cpython-311.pyc +│   │   │   │   ├── version.cpython-311.pyc +│   │   │   │   └── warnings.cpython-311.pyc +│   │   │   ├── py.typed +│   │   │   ├── root_model.py +│   │   │   ├── schema.py +│   │   │   ├── tools.py +│   │   │   ├── type_adapter.py +│   │   │   ├── types.py +│   │   │   ├── typing.py +│   │   │   ├── utils.py +│   │   │   ├── v1 +│   │   │   │   ├── annotated_types.py +│   │   │   │   ├── class_validators.py +│   │   │   │   ├── color.py +│   │   │   │   ├── config.py +│   │   │   │   ├── dataclasses.py +│   │   │   │   ├── datetime_parse.py +│   │   │   │   ├── decorator.py +│   │   │   │   ├── env_settings.py +│   │   │   │   ├── errors.py +│   │   │   │   ├── error_wrappers.py +│   │   │   │   ├── fields.py +│   │   │   │   ├── generics.py +│   │   │   │   ├── _hypothesis_plugin.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── json.py +│   │   │   │   ├── main.py +│   │   │   │   ├── mypy.py +│   │   │   │   ├── networks.py +│   │   │   │   ├── parse.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── annotated_types.cpython-311.pyc +│   │   │   │   │   ├── class_validators.cpython-311.pyc +│   │   │   │   │   ├── color.cpython-311.pyc +│   │   │   │   │   ├── config.cpython-311.pyc +│   │   │   │   │   ├── dataclasses.cpython-311.pyc +│   │   │   │   │   ├── datetime_parse.cpython-311.pyc +│   │   │   │   │   ├── decorator.cpython-311.pyc +│   │   │   │   │   ├── env_settings.cpython-311.pyc +│   │   │   │   │   ├── errors.cpython-311.pyc +│   │   │   │   │   ├── error_wrappers.cpython-311.pyc +│   │   │   │   │   ├── fields.cpython-311.pyc +│   │   │   │   │   ├── generics.cpython-311.pyc +│   │   │   │   │   ├── _hypothesis_plugin.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── json.cpython-311.pyc +│   │   │   │   │   ├── main.cpython-311.pyc +│   │   │   │   │   ├── mypy.cpython-311.pyc +│   │   │   │   │   ├── networks.cpython-311.pyc +│   │   │   │   │   ├── parse.cpython-311.pyc +│   │   │   │   │   ├── schema.cpython-311.pyc +│   │   │   │   │   ├── tools.cpython-311.pyc +│   │   │   │   │   ├── types.cpython-311.pyc +│   │   │   │   │   ├── typing.cpython-311.pyc +│   │   │   │   │   ├── utils.cpython-311.pyc +│   │   │   │   │   ├── validators.cpython-311.pyc +│   │   │   │   │   └── version.cpython-311.pyc +│   │   │   │   ├── py.typed +│   │   │   │   ├── schema.py +│   │   │   │   ├── tools.py +│   │   │   │   ├── types.py +│   │   │   │   ├── typing.py +│   │   │   │   ├── utils.py +│   │   │   │   ├── validators.py +│   │   │   │   └── version.py +│   │   │   ├── validate_call_decorator.py +│   │   │   ├── validators.py +│   │   │   ├── version.py +│   │   │   └── warnings.py +│   │   ├── pydantic-2.12.5.dist-info +│   │   │   ├── INSTALLER +│   │   │   ├── licenses +│   │   │   │   └── LICENSE +│   │   │   ├── METADATA +│   │   │   ├── RECORD +│   │   │   └── WHEEL +│   │   ├── pydantic_core +│   │   │   ├── core_schema.py +│   │   │   ├── __init__.py +│   │   │   ├── __pycache__ +│   │   │   │   ├── core_schema.cpython-311.pyc +│   │   │   │   └── __init__.cpython-311.pyc +│   │   │   ├── _pydantic_core.cpython-311-x86_64-linux-gnu.so +│   │   │   ├── _pydantic_core.pyi +│   │   │   └── py.typed +│   │   ├── pydantic_core-2.41.5.dist-info +│   │   │   ├── INSTALLER +│   │   │   ├── licenses +│   │   │   │   └── LICENSE +│   │   │   ├── METADATA +│   │   │   ├── RECORD +│   │   │   └── WHEEL +│   │   ├── pydub +│   │   │   ├── audio_segment.py +│   │   │   ├── effects.py +│   │   │   ├── exceptions.py +│   │   │   ├── generators.py +│   │   │   ├── __init__.py +│   │   │   ├── logging_utils.py +│   │   │   ├── playback.py +│   │   │   ├── pyaudioop.py +│   │   │   ├── __pycache__ +│   │   │   │   ├── audio_segment.cpython-311.pyc +│   │   │   │   ├── effects.cpython-311.pyc +│   │   │   │   ├── exceptions.cpython-311.pyc +│   │   │   │   ├── generators.cpython-311.pyc +│   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   ├── logging_utils.cpython-311.pyc +│   │   │   │   ├── playback.cpython-311.pyc +│   │   │   │   ├── pyaudioop.cpython-311.pyc +│   │   │   │   ├── scipy_effects.cpython-311.pyc +│   │   │   │   ├── silence.cpython-311.pyc +│   │   │   │   └── utils.cpython-311.pyc +│   │   │   ├── scipy_effects.py +│   │   │   ├── silence.py +│   │   │   └── utils.py +│   │   ├── pydub-0.25.1.dist-info +│   │   │   ├── AUTHORS +│   │   │   ├── INSTALLER +│   │   │   ├── LICENSE +│   │   │   ├── METADATA +│   │   │   ├── RECORD +│   │   │   ├── top_level.txt +│   │   │   └── WHEEL +│   │   ├── python_dateutil-2.9.0.post0.dist-info +│   │   │   ├── INSTALLER +│   │   │   ├── LICENSE +│   │   │   ├── METADATA +│   │   │   ├── RECORD +│   │   │   ├── top_level.txt +│   │   │   ├── WHEEL +│   │   │   └── zip-safe +│   │   ├── python_dotenv-1.2.2.dist-info +│   │   │   ├── entry_points.txt +│   │   │   ├── INSTALLER +│   │   │   ├── licenses +│   │   │   │   └── LICENSE +│   │   │   ├── METADATA +│   │   │   ├── RECORD +│   │   │   ├── REQUESTED +│   │   │   ├── top_level.txt +│   │   │   └── WHEEL +│   │   ├── python_socks +│   │   │   ├── _abc.py +│   │   │   ├── async_ +│   │   │   │   ├── anyio +│   │   │   │   │   ├── _chain.py +│   │   │   │   │   ├── _connect.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── _proxy.py +│   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   ├── _chain.cpython-311.pyc +│   │   │   │   │   │   ├── _connect.cpython-311.pyc +│   │   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   │   ├── _proxy.cpython-311.pyc +│   │   │   │   │   │   ├── _resolver.cpython-311.pyc +│   │   │   │   │   │   └── _stream.cpython-311.pyc +│   │   │   │   │   ├── _resolver.py +│   │   │   │   │   ├── _stream.py +│   │   │   │   │   └── v2 +│   │   │   │   │   ├── _chain.py +│   │   │   │   │   ├── _connect.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── _proxy.py +│   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   ├── _chain.cpython-311.pyc +│   │   │   │   │   │   ├── _connect.cpython-311.pyc +│   │   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   │   ├── _proxy.cpython-311.pyc +│   │   │   │   │   │   └── _stream.cpython-311.pyc +│   │   │   │   │   └── _stream.py +│   │   │   │   ├── asyncio +│   │   │   │   │   ├── _connect.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── _proxy.py +│   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   ├── _connect.cpython-311.pyc +│   │   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   │   ├── _proxy.cpython-311.pyc +│   │   │   │   │   │   ├── _resolver.cpython-311.pyc +│   │   │   │   │   │   └── _stream.cpython-311.pyc +│   │   │   │   │   ├── _resolver.py +│   │   │   │   │   ├── _stream.py +│   │   │   │   │   └── v2 +│   │   │   │   │   ├── _chain.py +│   │   │   │   │   ├── _connect.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── _proxy.py +│   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   ├── _chain.cpython-311.pyc +│   │   │   │   │   │   ├── _connect.cpython-311.pyc +│   │   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   │   ├── _proxy.cpython-311.pyc +│   │   │   │   │   │   └── _stream.cpython-311.pyc +│   │   │   │   │   └── _stream.py +│   │   │   │   ├── curio +│   │   │   │   │   ├── _connect.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── _proxy.py +│   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   ├── _connect.cpython-311.pyc +│   │   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   │   ├── _proxy.cpython-311.pyc +│   │   │   │   │   │   ├── _resolver.cpython-311.pyc +│   │   │   │   │   │   └── _stream.cpython-311.pyc +│   │   │   │   │   ├── _resolver.py +│   │   │   │   │   └── _stream.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── _proxy_chain.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   └── _proxy_chain.cpython-311.pyc +│   │   │   │   └── trio +│   │   │   │   ├── _connect.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── _proxy.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── _connect.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── _proxy.cpython-311.pyc +│   │   │   │   │   ├── _resolver.cpython-311.pyc +│   │   │   │   │   └── _stream.cpython-311.pyc +│   │   │   │   ├── _resolver.py +│   │   │   │   ├── _stream.py +│   │   │   │   └── v2 +│   │   │   │   ├── _chain.py +│   │   │   │   ├── _connect.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── _proxy.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── _chain.cpython-311.pyc +│   │   │   │   │   ├── _connect.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── _proxy.cpython-311.pyc +│   │   │   │   │   └── _stream.cpython-311.pyc +│   │   │   │   └── _stream.py +│   │   │   ├── _connectors +│   │   │   │   ├── abc.py +│   │   │   │   ├── factory_async.py +│   │   │   │   ├── factory_sync.py +│   │   │   │   ├── http_async.py +│   │   │   │   ├── http_sync.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── abc.cpython-311.pyc +│   │   │   │   │   ├── factory_async.cpython-311.pyc +│   │   │   │   │   ├── factory_sync.cpython-311.pyc +│   │   │   │   │   ├── http_async.cpython-311.pyc +│   │   │   │   │   ├── http_sync.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── socks4_async.cpython-311.pyc +│   │   │   │   │   ├── socks4_sync.cpython-311.pyc +│   │   │   │   │   ├── socks5_async.cpython-311.pyc +│   │   │   │   │   └── socks5_sync.cpython-311.pyc +│   │   │   │   ├── socks4_async.py +│   │   │   │   ├── socks4_sync.py +│   │   │   │   ├── socks5_async.py +│   │   │   │   └── socks5_sync.py +│   │   │   ├── _errors.py +│   │   │   ├── _helpers.py +│   │   │   ├── __init__.py +│   │   │   ├── _protocols +│   │   │   │   ├── errors.py +│   │   │   │   ├── http.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── errors.cpython-311.pyc +│   │   │   │   │   ├── http.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── socks4.cpython-311.pyc +│   │   │   │   │   └── socks5.cpython-311.pyc +│   │   │   │   ├── socks4.py +│   │   │   │   └── socks5.py +│   │   │   ├── __pycache__ +│   │   │   │   ├── _abc.cpython-311.pyc +│   │   │   │   ├── _errors.cpython-311.pyc +│   │   │   │   ├── _helpers.cpython-311.pyc +│   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   ├── _types.cpython-311.pyc +│   │   │   │   └── _version.cpython-311.pyc +│   │   │   ├── py.typed +│   │   │   ├── sync +│   │   │   │   ├── _chain.py +│   │   │   │   ├── _connect.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── _proxy.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── _chain.cpython-311.pyc +│   │   │   │   │   ├── _connect.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── _proxy.cpython-311.pyc +│   │   │   │   │   ├── _resolver.cpython-311.pyc +│   │   │   │   │   └── _stream.cpython-311.pyc +│   │   │   │   ├── _resolver.py +│   │   │   │   ├── _stream.py +│   │   │   │   └── v2 +│   │   │   │   ├── _chain.py +│   │   │   │   ├── _connect.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── _proxy.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── _chain.cpython-311.pyc +│   │   │   │   │   ├── _connect.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── _proxy.cpython-311.pyc +│   │   │   │   │   ├── _ssl_transport.cpython-311.pyc +│   │   │   │   │   └── _stream.cpython-311.pyc +│   │   │   │   ├── _ssl_transport.py +│   │   │   │   └── _stream.py +│   │   │   ├── _types.py +│   │   │   └── _version.py +│   │   ├── python_socks-2.8.1.dist-info +│   │   │   ├── INSTALLER +│   │   │   ├── licenses +│   │   │   │   └── LICENSE.txt +│   │   │   ├── METADATA +│   │   │   ├── RECORD +│   │   │   ├── top_level.txt +│   │   │   └── WHEEL +│   │   ├── requests +│   │   │   ├── adapters.py +│   │   │   ├── api.py +│   │   │   ├── auth.py +│   │   │   ├── certs.py +│   │   │   ├── compat.py +│   │   │   ├── cookies.py +│   │   │   ├── exceptions.py +│   │   │   ├── help.py +│   │   │   ├── hooks.py +│   │   │   ├── __init__.py +│   │   │   ├── _internal_utils.py +│   │   │   ├── models.py +│   │   │   ├── packages.py +│   │   │   ├── __pycache__ +│   │   │   │   ├── adapters.cpython-311.pyc +│   │   │   │   ├── api.cpython-311.pyc +│   │   │   │   ├── auth.cpython-311.pyc +│   │   │   │   ├── certs.cpython-311.pyc +│   │   │   │   ├── compat.cpython-311.pyc +│   │   │   │   ├── cookies.cpython-311.pyc +│   │   │   │   ├── exceptions.cpython-311.pyc +│   │   │   │   ├── help.cpython-311.pyc +│   │   │   │   ├── hooks.cpython-311.pyc +│   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   ├── _internal_utils.cpython-311.pyc +│   │   │   │   ├── models.cpython-311.pyc +│   │   │   │   ├── packages.cpython-311.pyc +│   │   │   │   ├── sessions.cpython-311.pyc +│   │   │   │   ├── status_codes.cpython-311.pyc +│   │   │   │   ├── structures.cpython-311.pyc +│   │   │   │   ├── utils.cpython-311.pyc +│   │   │   │   └── __version__.cpython-311.pyc +│   │   │   ├── sessions.py +│   │   │   ├── status_codes.py +│   │   │   ├── structures.py +│   │   │   ├── utils.py +│   │   │   └── __version__.py +│   │   ├── requests-2.32.5.dist-info +│   │   │   ├── INSTALLER +│   │   │   ├── licenses +│   │   │   │   └── LICENSE +│   │   │   ├── METADATA +│   │   │   ├── RECORD +│   │   │   ├── REQUESTED +│   │   │   ├── top_level.txt +│   │   │   └── WHEEL +│   │   ├── s3transfer +│   │   │   ├── bandwidth.py +│   │   │   ├── compat.py +│   │   │   ├── constants.py +│   │   │   ├── copies.py +│   │   │   ├── crt.py +│   │   │   ├── delete.py +│   │   │   ├── download.py +│   │   │   ├── exceptions.py +│   │   │   ├── futures.py +│   │   │   ├── __init__.py +│   │   │   ├── manager.py +│   │   │   ├── processpool.py +│   │   │   ├── __pycache__ +│   │   │   │   ├── bandwidth.cpython-311.pyc +│   │   │   │   ├── compat.cpython-311.pyc +│   │   │   │   ├── constants.cpython-311.pyc +│   │   │   │   ├── copies.cpython-311.pyc +│   │   │   │   ├── crt.cpython-311.pyc +│   │   │   │   ├── delete.cpython-311.pyc +│   │   │   │   ├── download.cpython-311.pyc +│   │   │   │   ├── exceptions.cpython-311.pyc +│   │   │   │   ├── futures.cpython-311.pyc +│   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   ├── manager.cpython-311.pyc +│   │   │   │   ├── processpool.cpython-311.pyc +│   │   │   │   ├── subscribers.cpython-311.pyc +│   │   │   │   ├── tasks.cpython-311.pyc +│   │   │   │   ├── upload.cpython-311.pyc +│   │   │   │   └── utils.cpython-311.pyc +│   │   │   ├── subscribers.py +│   │   │   ├── tasks.py +│   │   │   ├── upload.py +│   │   │   └── utils.py +│   │   ├── s3transfer-0.16.0.dist-info +│   │   │   ├── INSTALLER +│   │   │   ├── LICENSE.txt +│   │   │   ├── METADATA +│   │   │   ├── NOTICE.txt +│   │   │   ├── RECORD +│   │   │   ├── top_level.txt +│   │   │   └── WHEEL +│   │   ├── setuptools +│   │   │   ├── archive_util.py +│   │   │   ├── build_meta.py +│   │   │   ├── cli-32.exe +│   │   │   ├── cli-64.exe +│   │   │   ├── cli-arm64.exe +│   │   │   ├── cli.exe +│   │   │   ├── command +│   │   │   │   ├── alias.py +│   │   │   │   ├── bdist_egg.py +│   │   │   │   ├── bdist_rpm.py +│   │   │   │   ├── build_clib.py +│   │   │   │   ├── build_ext.py +│   │   │   │   ├── build.py +│   │   │   │   ├── build_py.py +│   │   │   │   ├── develop.py +│   │   │   │   ├── dist_info.py +│   │   │   │   ├── easy_install.py +│   │   │   │   ├── editable_wheel.py +│   │   │   │   ├── egg_info.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── install_egg_info.py +│   │   │   │   ├── install_lib.py +│   │   │   │   ├── install.py +│   │   │   │   ├── install_scripts.py +│   │   │   │   ├── launcher manifest.xml +│   │   │   │   ├── register.py +│   │   │   │   ├── _requirestxt.py +│   │   │   │   ├── rotate.py +│   │   │   │   ├── saveopts.py +│   │   │   │   ├── sdist.py +│   │   │   │   ├── setopt.py +│   │   │   │   ├── test.py +│   │   │   │   ├── upload_docs.py +│   │   │   │   └── upload.py +│   │   │   ├── config +│   │   │   │   ├── _apply_pyprojecttoml.py +│   │   │   │   ├── expand.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── pyprojecttoml.py +│   │   │   │   ├── setupcfg.py +│   │   │   │   └── _validate_pyproject +│   │   │   │   ├── error_reporting.py +│   │   │   │   ├── extra_validations.py +│   │   │   │   ├── fastjsonschema_exceptions.py +│   │   │   │   ├── fastjsonschema_validations.py +│   │   │   │   ├── formats.py +│   │   │   │   └── __init__.py +│   │   │   ├── _core_metadata.py +│   │   │   ├── depends.py +│   │   │   ├── dep_util.py +│   │   │   ├── discovery.py +│   │   │   ├── dist.py +│   │   │   ├── _distutils +│   │   │   │   ├── archive_util.py +│   │   │   │   ├── bcppcompiler.py +│   │   │   │   ├── ccompiler.py +│   │   │   │   ├── cmd.py +│   │   │   │   ├── _collections.py +│   │   │   │   ├── command +│   │   │   │   │   ├── bdist_dumb.py +│   │   │   │   │   ├── bdist.py +│   │   │   │   │   ├── bdist_rpm.py +│   │   │   │   │   ├── build_clib.py +│   │   │   │   │   ├── build_ext.py +│   │   │   │   │   ├── build.py +│   │   │   │   │   ├── build_py.py +│   │   │   │   │   ├── build_scripts.py +│   │   │   │   │   ├── check.py +│   │   │   │   │   ├── clean.py +│   │   │   │   │   ├── config.py +│   │   │   │   │   ├── _framework_compat.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── install_data.py +│   │   │   │   │   ├── install_egg_info.py +│   │   │   │   │   ├── install_headers.py +│   │   │   │   │   ├── install_lib.py +│   │   │   │   │   ├── install.py +│   │   │   │   │   ├── install_scripts.py +│   │   │   │   │   ├── py37compat.py +│   │   │   │   │   ├── register.py +│   │   │   │   │   ├── sdist.py +│   │   │   │   │   └── upload.py +│   │   │   │   ├── config.py +│   │   │   │   ├── core.py +│   │   │   │   ├── cygwinccompiler.py +│   │   │   │   ├── debug.py +│   │   │   │   ├── dep_util.py +│   │   │   │   ├── dir_util.py +│   │   │   │   ├── dist.py +│   │   │   │   ├── errors.py +│   │   │   │   ├── extension.py +│   │   │   │   ├── fancy_getopt.py +│   │   │   │   ├── filelist.py +│   │   │   │   ├── file_util.py +│   │   │   │   ├── _functools.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── _log.py +│   │   │   │   ├── log.py +│   │   │   │   ├── _macos_compat.py +│   │   │   │   ├── msvc9compiler.py +│   │   │   │   ├── _msvccompiler.py +│   │   │   │   ├── msvccompiler.py +│   │   │   │   ├── py38compat.py +│   │   │   │   ├── py39compat.py +│   │   │   │   ├── spawn.py +│   │   │   │   ├── sysconfig.py +│   │   │   │   ├── text_file.py +│   │   │   │   ├── unixccompiler.py +│   │   │   │   ├── util.py +│   │   │   │   ├── versionpredicate.py +│   │   │   │   └── version.py +│   │   │   ├── _entry_points.py +│   │   │   ├── errors.py +│   │   │   ├── extension.py +│   │   │   ├── extern +│   │   │   │   └── __init__.py +│   │   │   ├── glob.py +│   │   │   ├── gui-32.exe +│   │   │   ├── gui-64.exe +│   │   │   ├── gui-arm64.exe +│   │   │   ├── gui.exe +│   │   │   ├── _importlib.py +│   │   │   ├── _imp.py +│   │   │   ├── __init__.py +│   │   │   ├── installer.py +│   │   │   ├── _itertools.py +│   │   │   ├── launch.py +│   │   │   ├── logging.py +│   │   │   ├── monkey.py +│   │   │   ├── msvc.py +│   │   │   ├── namespaces.py +│   │   │   ├── _normalization.py +│   │   │   ├── package_index.py +│   │   │   ├── _path.py +│   │   │   ├── py312compat.py +│   │   │   ├── _reqs.py +│   │   │   ├── sandbox.py +│   │   │   ├── script (dev).tmpl +│   │   │   ├── script.tmpl +│   │   │   ├── unicode_utils.py +│   │   │   ├── _vendor +│   │   │   │   ├── importlib_metadata +│   │   │   │   │   ├── _adapters.py +│   │   │   │   │   ├── _collections.py +│   │   │   │   │   ├── _compat.py +│   │   │   │   │   ├── _functools.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── _itertools.py +│   │   │   │   │   ├── _meta.py +│   │   │   │   │   ├── _py39compat.py +│   │   │   │   │   └── _text.py +│   │   │   │   ├── importlib_resources +│   │   │   │   │   ├── abc.py +│   │   │   │   │   ├── _adapters.py +│   │   │   │   │   ├── _common.py +│   │   │   │   │   ├── _compat.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── _itertools.py +│   │   │   │   │   ├── _legacy.py +│   │   │   │   │   ├── readers.py +│   │   │   │   │   └── simple.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── jaraco +│   │   │   │   │   ├── context.py +│   │   │   │   │   ├── functools.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   └── text +│   │   │   │   │   └── __init__.py +│   │   │   │   ├── more_itertools +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── more.py +│   │   │   │   │   └── recipes.py +│   │   │   │   ├── ordered_set.py +│   │   │   │   ├── packaging +│   │   │   │   │   ├── _elffile.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── _manylinux.py +│   │   │   │   │   ├── markers.py +│   │   │   │   │   ├── metadata.py +│   │   │   │   │   ├── _musllinux.py +│   │   │   │   │   ├── _parser.py +│   │   │   │   │   ├── requirements.py +│   │   │   │   │   ├── specifiers.py +│   │   │   │   │   ├── _structures.py +│   │   │   │   │   ├── tags.py +│   │   │   │   │   ├── _tokenizer.py +│   │   │   │   │   ├── utils.py +│   │   │   │   │   └── version.py +│   │   │   │   ├── tomli +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── _parser.py +│   │   │   │   │   ├── _re.py +│   │   │   │   │   └── _types.py +│   │   │   │   ├── typing_extensions.py +│   │   │   │   └── zipp.py +│   │   │   ├── version.py +│   │   │   ├── warnings.py +│   │   │   ├── wheel.py +│   │   │   └── windows_support.py +│   │   ├── setuptools-68.2.0.dist-info +│   │   │   ├── entry_points.txt +│   │   │   ├── INSTALLER +│   │   │   ├── LICENSE +│   │   │   ├── METADATA +│   │   │   ├── RECORD +│   │   │   ├── top_level.txt +│   │   │   └── WHEEL +│   │   ├── setuptools-68.2.0.virtualenv +│   │   ├── six-1.17.0.dist-info +│   │   │   ├── INSTALLER +│   │   │   ├── LICENSE +│   │   │   ├── METADATA +│   │   │   ├── RECORD +│   │   │   ├── top_level.txt +│   │   │   └── WHEEL +│   │   ├── six.py +│   │   ├── speechkit +│   │   │   ├── common +│   │   │   │   ├── apis.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── apis.cpython-311.pyc +│   │   │   │   │   └── __init__.cpython-311.pyc +│   │   │   │   └── utils +│   │   │   │   ├── creds.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── creds.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   └── utils.cpython-311.pyc +│   │   │   │   └── utils.py +│   │   │   ├── __init__.py +│   │   │   ├── model_repository.py +│   │   │   ├── __pycache__ +│   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   ├── model_repository.cpython-311.pyc +│   │   │   │   └── version.cpython-311.pyc +│   │   │   ├── stt +│   │   │   │   ├── __init__.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── recognizer.cpython-311.pyc +│   │   │   │   │   └── transcription.cpython-311.pyc +│   │   │   │   ├── recognizer.py +│   │   │   │   ├── transcription.py +│   │   │   │   └── yandex +│   │   │   │   ├── config.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── model.py +│   │   │   │   └── __pycache__ +│   │   │   │   ├── config.cpython-311.pyc +│   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   └── model.cpython-311.pyc +│   │   │   ├── tts +│   │   │   │   ├── __init__.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   └── synthesizer.cpython-311.pyc +│   │   │   │   ├── synthesizer.py +│   │   │   │   └── yandex +│   │   │   │   ├── config.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── model.py +│   │   │   │   └── __pycache__ +│   │   │   │   ├── config.cpython-311.pyc +│   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   └── model.cpython-311.pyc +│   │   │   └── version.py +│   │   ├── typing_extensions-4.15.0.dist-info +│   │   │   ├── INSTALLER +│   │   │   ├── licenses +│   │   │   │   └── LICENSE +│   │   │   ├── METADATA +│   │   │   ├── RECORD +│   │   │   └── WHEEL +│   │   ├── typing_extensions.py +│   │   ├── typing_inspection +│   │   │   ├── __init__.py +│   │   │   ├── introspection.py +│   │   │   ├── __pycache__ +│   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   ├── introspection.cpython-311.pyc +│   │   │   │   └── typing_objects.cpython-311.pyc +│   │   │   ├── py.typed +│   │   │   ├── typing_objects.py +│   │   │   └── typing_objects.pyi +│   │   ├── typing_inspection-0.4.2.dist-info +│   │   │   ├── INSTALLER +│   │   │   ├── licenses +│   │   │   │   └── LICENSE +│   │   │   ├── METADATA +│   │   │   ├── RECORD +│   │   │   └── WHEEL +│   │   ├── urllib3 +│   │   │   ├── _base_connection.py +│   │   │   ├── _collections.py +│   │   │   ├── connectionpool.py +│   │   │   ├── connection.py +│   │   │   ├── contrib +│   │   │   │   ├── emscripten +│   │   │   │   │   ├── connection.py +│   │   │   │   │   ├── emscripten_fetch_worker.js +│   │   │   │   │   ├── fetch.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   ├── connection.cpython-311.pyc +│   │   │   │   │   │   ├── fetch.cpython-311.pyc +│   │   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   │   ├── request.cpython-311.pyc +│   │   │   │   │   │   └── response.cpython-311.pyc +│   │   │   │   │   ├── request.py +│   │   │   │   │   └── response.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── pyopenssl.cpython-311.pyc +│   │   │   │   │   └── socks.cpython-311.pyc +│   │   │   │   ├── pyopenssl.py +│   │   │   │   └── socks.py +│   │   │   ├── exceptions.py +│   │   │   ├── fields.py +│   │   │   ├── filepost.py +│   │   │   ├── http2 +│   │   │   │   ├── connection.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── probe.py +│   │   │   │   └── __pycache__ +│   │   │   │   ├── connection.cpython-311.pyc +│   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   └── probe.cpython-311.pyc +│   │   │   ├── __init__.py +│   │   │   ├── poolmanager.py +│   │   │   ├── __pycache__ +│   │   │   │   ├── _base_connection.cpython-311.pyc +│   │   │   │   ├── _collections.cpython-311.pyc +│   │   │   │   ├── connection.cpython-311.pyc +│   │   │   │   ├── connectionpool.cpython-311.pyc +│   │   │   │   ├── exceptions.cpython-311.pyc +│   │   │   │   ├── fields.cpython-311.pyc +│   │   │   │   ├── filepost.cpython-311.pyc +│   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   ├── poolmanager.cpython-311.pyc +│   │   │   │   ├── _request_methods.cpython-311.pyc +│   │   │   │   ├── response.cpython-311.pyc +│   │   │   │   └── _version.cpython-311.pyc +│   │   │   ├── py.typed +│   │   │   ├── _request_methods.py +│   │   │   ├── response.py +│   │   │   ├── util +│   │   │   │   ├── connection.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── proxy.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── connection.cpython-311.pyc +│   │   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   │   ├── proxy.cpython-311.pyc +│   │   │   │   │   ├── request.cpython-311.pyc +│   │   │   │   │   ├── response.cpython-311.pyc +│   │   │   │   │   ├── retry.cpython-311.pyc +│   │   │   │   │   ├── ssl_.cpython-311.pyc +│   │   │   │   │   ├── ssl_match_hostname.cpython-311.pyc +│   │   │   │   │   ├── ssltransport.cpython-311.pyc +│   │   │   │   │   ├── timeout.cpython-311.pyc +│   │   │   │   │   ├── url.cpython-311.pyc +│   │   │   │   │   ├── util.cpython-311.pyc +│   │   │   │   │   └── wait.cpython-311.pyc +│   │   │   │   ├── request.py +│   │   │   │   ├── response.py +│   │   │   │   ├── retry.py +│   │   │   │   ├── ssl_match_hostname.py +│   │   │   │   ├── ssl_.py +│   │   │   │   ├── ssltransport.py +│   │   │   │   ├── timeout.py +│   │   │   │   ├── url.py +│   │   │   │   ├── util.py +│   │   │   │   └── wait.py +│   │   │   └── _version.py +│   │   ├── urllib3-2.6.3.dist-info +│   │   │   ├── INSTALLER +│   │   │   ├── licenses +│   │   │   │   └── LICENSE.txt +│   │   │   ├── METADATA +│   │   │   ├── RECORD +│   │   │   └── WHEEL +│   │   ├── _virtualenv.pth +│   │   ├── _virtualenv.py +│   │   ├── wheel +│   │   │   ├── bdist_wheel.py +│   │   │   ├── cli +│   │   │   │   ├── convert.py +│   │   │   │   ├── __init__.py +│   │   │   │   ├── pack.py +│   │   │   │   ├── tags.py +│   │   │   │   └── unpack.py +│   │   │   ├── __init__.py +│   │   │   ├── macosx_libfile.py +│   │   │   ├── __main__.py +│   │   │   ├── metadata.py +│   │   │   ├── _setuptools_logging.py +│   │   │   ├── util.py +│   │   │   ├── vendored +│   │   │   │   ├── __init__.py +│   │   │   │   ├── packaging +│   │   │   │   │   ├── _elffile.py +│   │   │   │   │   ├── __init__.py +│   │   │   │   │   ├── _manylinux.py +│   │   │   │   │   ├── markers.py +│   │   │   │   │   ├── _musllinux.py +│   │   │   │   │   ├── _parser.py +│   │   │   │   │   ├── requirements.py +│   │   │   │   │   ├── specifiers.py +│   │   │   │   │   ├── _structures.py +│   │   │   │   │   ├── tags.py +│   │   │   │   │   ├── _tokenizer.py +│   │   │   │   │   ├── utils.py +│   │   │   │   │   └── version.py +│   │   │   │   └── vendor.txt +│   │   │   └── wheelfile.py +│   │   ├── wheel-0.41.2.dist-info +│   │   │   ├── entry_points.txt +│   │   │   ├── INSTALLER +│   │   │   ├── LICENSE.txt +│   │   │   ├── METADATA +│   │   │   ├── RECORD +│   │   │   └── WHEEL +│   │   ├── wheel-0.41.2.virtualenv +│   │   ├── yandex +│   │   │   └── cloud +│   │   │   ├── ai +│   │   │   │   ├── stt +│   │   │   │   │   ├── v2 +│   │   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   │   ├── stt_service_pb2.cpython-311.pyc +│   │   │   │   │   │   │   └── stt_service_pb2_grpc.cpython-311.pyc +│   │   │   │   │   │   ├── stt_service_pb2_grpc.py +│   │   │   │   │   │   └── stt_service_pb2.py +│   │   │   │   │   └── v3 +│   │   │   │   │   ├── __pycache__ +│   │   │   │   │   │   ├── stt_pb2.cpython-311.pyc +│   │   │   │   │   │   ├── stt_pb2_grpc.cpython-311.pyc +│   │   │   │   │   │   ├── stt_service_pb2.cpython-311.pyc +│   │   │   │   │   │   └── stt_service_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── stt_pb2_grpc.py +│   │   │   │   │   ├── stt_pb2.py +│   │   │   │   │   ├── stt_service_pb2_grpc.py +│   │   │   │   │   └── stt_service_pb2.py +│   │   │   │   └── tts +│   │   │   │   └── v3 +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── tts_pb2.cpython-311.pyc +│   │   │   │   │   ├── tts_pb2_grpc.cpython-311.pyc +│   │   │   │   │   ├── tts_service_pb2.cpython-311.pyc +│   │   │   │   │   └── tts_service_pb2_grpc.cpython-311.pyc +│   │   │   │   ├── tts_pb2_grpc.py +│   │   │   │   ├── tts_pb2.py +│   │   │   │   ├── tts_service_pb2_grpc.py +│   │   │   │   └── tts_service_pb2.py +│   │   │   ├── api +│   │   │   │   ├── operation_pb2_grpc.py +│   │   │   │   ├── operation_pb2.py +│   │   │   │   ├── __pycache__ +│   │   │   │   │   ├── operation_pb2.cpython-311.pyc +│   │   │   │   │   └── operation_pb2_grpc.cpython-311.pyc +│   │   │   │   └── tools +│   │   │   │   ├── options_pb2_grpc.py +│   │   │   │   ├── options_pb2.py +│   │   │   │   └── __pycache__ +│   │   │   │   ├── options_pb2.cpython-311.pyc +│   │   │   │   └── options_pb2_grpc.cpython-311.pyc +│   │   │   ├── imports_pb2_grpc.py +│   │   │   ├── imports_pb2.py +│   │   │   ├── operation +│   │   │   │   ├── operation_pb2_grpc.py +│   │   │   │   ├── operation_pb2.py +│   │   │   │   ├── operation_service_pb2_grpc.py +│   │   │   │   ├── operation_service_pb2.py +│   │   │   │   └── __pycache__ +│   │   │   │   ├── operation_pb2.cpython-311.pyc +│   │   │   │   ├── operation_pb2_grpc.cpython-311.pyc +│   │   │   │   ├── operation_service_pb2.cpython-311.pyc +│   │   │   │   └── operation_service_pb2_grpc.cpython-311.pyc +│   │   │   ├── __pycache__ +│   │   │   │   ├── imports_pb2.cpython-311.pyc +│   │   │   │   ├── imports_pb2_grpc.cpython-311.pyc +│   │   │   │   ├── validation_pb2.cpython-311.pyc +│   │   │   │   └── validation_pb2_grpc.cpython-311.pyc +│   │   │   ├── validation_pb2_grpc.py +│   │   │   └── validation_pb2.py +│   │   ├── yandex_speechkit-1.5.0.dist-info +│   │   │   ├── INSTALLER +│   │   │   ├── METADATA +│   │   │   ├── RECORD +│   │   │   ├── REQUESTED +│   │   │   ├── top_level.txt +│   │   │   └── WHEEL +│   │   ├── yarl +│   │   │   ├── __init__.py +│   │   │   ├── _parse.py +│   │   │   ├── _path.py +│   │   │   ├── __pycache__ +│   │   │   │   ├── __init__.cpython-311.pyc +│   │   │   │   ├── _parse.cpython-311.pyc +│   │   │   │   ├── _path.cpython-311.pyc +│   │   │   │   ├── _query.cpython-311.pyc +│   │   │   │   ├── _quoters.cpython-311.pyc +│   │   │   │   ├── _quoting.cpython-311.pyc +│   │   │   │   ├── _quoting_py.cpython-311.pyc +│   │   │   │   └── _url.cpython-311.pyc +│   │   │   ├── py.typed +│   │   │   ├── _query.py +│   │   │   ├── _quoters.py +│   │   │   ├── _quoting_c.cpython-311-x86_64-linux-gnu.so +│   │   │   ├── _quoting_c.pyx +│   │   │   ├── _quoting.py +│   │   │   ├── _quoting_py.py +│   │   │   └── _url.py +│   │   └── yarl-1.23.0.dist-info +│   │   ├── INSTALLER +│   │   ├── licenses +│   │   │   ├── LICENSE +│   │   │   └── NOTICE +│   │   ├── METADATA +│   │   ├── RECORD +│   │   ├── top_level.txt +│   │   └── WHEEL +│   └── pyvenv.cfg +├── yandex_cloud_sk.py +└── Архив.zip + +1360 directories, 6249 files diff --git a/switching_en_ru.py b/switching_en_ru.py new file mode 100755 index 0000000..4c49f03 --- /dev/null +++ b/switching_en_ru.py @@ -0,0 +1,17 @@ +def convert_layout(text): + english_chars = "qwertyuiop[]asdfghjkl;'zxcvbnm,.`" + russian_chars = "йцукенгшщзхъфывапролджэячсмитьбюё" + + converted_text = "" + + for char in text: + if char.lower() in english_chars: + char_index = english_chars.index(char.lower()) + converted_char = russian_chars[char_index] + if char.isupper(): + converted_char = converted_char.upper() + converted_text += converted_char + else: + converted_text += char + + return converted_text diff --git a/test_genapi_nano.sh b/test_genapi_nano.sh new file mode 100644 index 0000000..e20f04d --- /dev/null +++ b/test_genapi_nano.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +set -euo pipefail + +API_KEY="${GENAPI_KEY:-}" +BASE_URL="${GENAPI_BASE_URL:-https://proxy.gen-api.ru/v1}" +MODEL="${GENAPI_MODEL:-gpt-5.4-nano}" +PROMPT="${1:-Напиши одно слово: работает}" +MAX_TOKENS="${MAX_TOKENS:-80}" +TEMPERATURE="${TEMPERATURE:-0.2}" + +if [ -z "$API_KEY" ]; then + echo "Ошибка: не задан GENAPI_KEY" + echo "Пример:" + echo " export GENAPI_KEY='твoй_ключ'" + echo " bash test_genapi_nano.sh 'Привет'" + exit 1 +fi + +curl -sS -X POST "$BASE_URL/chat/completions" \ + -H "Authorization: Bearer $API_KEY" \ + -H "Content-Type: application/json" \ + -d "{ + \"model\": \"$MODEL\", + \"messages\": [ + { + \"role\": \"user\", + \"content\": \"$PROMPT\" + } + ], + \"temperature\": $TEMPERATURE, + \"max_tokens\": $MAX_TOKENS + }" diff --git a/yandex_cloud_sk.py b/yandex_cloud_sk.py new file mode 100755 index 0000000..690c48c --- /dev/null +++ b/yandex_cloud_sk.py @@ -0,0 +1,63 @@ +import asyncio +import tempfile +from pathlib import Path + +import aiohttp +from speechkit import configure_credentials, creds, model_repository +from speechkit.stt import AudioProcessingType + +from config import YSK_API_KEY, create_aiohttp_session, get_aiohttp_request_kwargs + +if YSK_API_KEY: + configure_credentials( + yandex_credentials=creds.YandexCredentials(api_key=YSK_API_KEY) + ) + + +def _transcribe_file_sync(file_path: str) -> str | None: + model = model_repository.recognition_model() + model.model = "general" + model.language = "ru-RU" + model.audio_processing_type = AudioProcessingType.Full + + result = model.transcribe_file(file_path) + for res in result: + normalized_text = getattr(res, "normalized_text", None) + if normalized_text: + return normalized_text + return None + + +async def get_text_from_speech(file_url: str) -> str | None: + temp_path = None + timeout = aiohttp.ClientTimeout(total=300, sock_connect=30, sock_read=300) + + try: + async with create_aiohttp_session(timeout=timeout) as session: + async with session.get(file_url, **get_aiohttp_request_kwargs()) as response: + response.raise_for_status() + content = await response.read() + + with tempfile.NamedTemporaryFile(delete=False, suffix=".ogg") as temp_file: + temp_file.write(content) + temp_path = temp_file.name + + return await asyncio.to_thread(_transcribe_file_sync, temp_path) + finally: + if temp_path: + try: + Path(temp_path).unlink(missing_ok=True) + except Exception: + pass + + +def synthesize(text: str) -> str: + model = model_repository.synthesis_model() + model.voice = "lera" + result = model.synthesize(text, raw_format=False) + + with tempfile.NamedTemporaryFile(delete=False, suffix=".ogg") as temp_file: + output_path = temp_file.name + + result.export(output_path, "ogg") + return output_path