From 742b2665e9ff7d026aa90cdc3da26521b1761087 Mon Sep 17 00:00:00 2001 From: sdarbinyan Date: Wed, 6 May 2026 23:26:00 +0400 Subject: [PATCH] rebasing --- .gitignore | 4 +- .vscode/extensions.json | 4 - .vscode/launch.json | 20 - .vscode/tasks.json | 42 - BACKEND.md | 214 ++ BACKEND_CHANGES.md | 179 ++ BACKEND_IMPLEMENTATION.md | 426 --- DEPLOY.md | 153 + IMPLEMENTATION.md | 200 -- README.md | 180 +- angular.json | 15 +- package-lock.json | 2732 ++++++++--------- package.json | 5 +- payment.html | 291 ++ proxy.conf.json | 23 + public/Fastcheck_API (1).txt | 142 + public/SBP QR API.txt | 262 ++ public/alipay.svg | 5 + public/example.json | 0 public/favicon.ico | Bin 15086 -> 15086 bytes public/flags/arm.svg | 1 + public/flags/en.svg | 1 + public/flags/ru.svg | 1 + public/i18n/en.json | 130 + public/i18n/hy.json | 130 + public/i18n/ru.json | 130 + public/logo_big.png | Bin 0 -> 383654 bytes public/logo_small.png | Bin 0 -> 188207 bytes public/mastercard.svg | 1 + public/missing-apis.txt | 124 - public/visa.svg | 1 + public/wechat-pay.svg | 1 + src/app/api.ts | 21 + src/app/app.config.ts | 6 +- src/app/app.html | 6 +- src/app/app.routes.ts | 46 +- src/app/app.scss | 22 +- src/app/app.spec.ts | 11 +- src/app/app.ts | 11 +- .../active-checks.component.html | 95 - .../active-checks.component.scss | 280 -- .../active-checks/active-checks.component.ts | 51 - .../dashboard/dashboard.component.html | 142 - .../dashboard/dashboard.component.scss | 363 --- .../dashboard/dashboard.component.ts | 169 - .../components/history/history.component.html | 86 - .../components/history/history.component.scss | 270 -- .../components/history/history.component.ts | 53 - src/app/components/login/login.component.html | 39 - src/app/components/login/login.component.scss | 177 -- src/app/components/login/login.component.ts | 73 - src/app/fastcheck.service.ts | 28 + src/app/guards/auth.guard.ts | 27 - src/app/models/api.model.ts | 9 - src/app/models/fastcheck.model.ts | 44 - src/app/models/session.model.ts | 13 - src/app/pages/about-page/about-page.html | 40 + src/app/pages/about-page/about-page.scss | 75 + src/app/pages/about-page/about-page.ts | 10 + .../pages/contacts-page/contacts-page.html | 66 + .../pages/contacts-page/contacts-page.scss | 146 + src/app/pages/contacts-page/contacts-page.ts | 10 + src/app/pages/create-page/create-page.html | 158 + src/app/pages/create-page/create-page.scss | 266 ++ src/app/pages/create-page/create-page.ts | 274 ++ .../pages/fastcheck-page/fastcheck-page.html | 177 ++ .../pages/fastcheck-page/fastcheck-page.scss | 260 ++ .../pages/fastcheck-page/fastcheck-page.ts | 293 ++ .../legacy-pay-page/legacy-pay-page.html | 93 + .../legacy-pay-page/legacy-pay-page.scss | 81 + .../pages/legacy-pay-page/legacy-pay-page.ts | 107 + .../pages/partners-page/partners-page.html | 26 + .../pages/partners-page/partners-page.scss | 146 + src/app/pages/partners-page/partners-page.ts | 26 + src/app/services/api.service.ts | 39 - src/app/services/auth.service.ts | 77 - src/app/services/fastcheck.service.ts | 142 - src/app/site-footer/site-footer.html | 57 + src/app/site-footer/site-footer.scss | 156 + src/app/site-footer/site-footer.ts | 12 + src/app/site-header/site-header.html | 98 + src/app/site-header/site-header.scss | 324 ++ src/app/site-header/site-header.ts | 48 + src/app/translate/translate.pipe.ts | 11 + src/app/translate/translation.service.ts | 36 + src/environments/environment.ts | 4 - src/index.html | 15 +- src/main.ts | 2 +- src/shared.scss | 262 ++ src/styles.scss | 34 +- tsconfig.app.json | 3 +- 91 files changed, 6310 insertions(+), 4723 deletions(-) delete mode 100644 .vscode/extensions.json delete mode 100644 .vscode/launch.json delete mode 100644 .vscode/tasks.json create mode 100644 BACKEND.md create mode 100644 BACKEND_CHANGES.md delete mode 100644 BACKEND_IMPLEMENTATION.md create mode 100644 DEPLOY.md delete mode 100644 IMPLEMENTATION.md create mode 100644 payment.html create mode 100644 proxy.conf.json create mode 100644 public/Fastcheck_API (1).txt create mode 100644 public/SBP QR API.txt create mode 100644 public/alipay.svg create mode 100644 public/example.json create mode 100644 public/flags/arm.svg create mode 100644 public/flags/en.svg create mode 100644 public/flags/ru.svg create mode 100644 public/i18n/en.json create mode 100644 public/i18n/hy.json create mode 100644 public/i18n/ru.json create mode 100644 public/logo_big.png create mode 100644 public/logo_small.png create mode 100644 public/mastercard.svg delete mode 100644 public/missing-apis.txt create mode 100644 public/visa.svg create mode 100644 public/wechat-pay.svg create mode 100644 src/app/api.ts delete mode 100644 src/app/components/active-checks/active-checks.component.html delete mode 100644 src/app/components/active-checks/active-checks.component.scss delete mode 100644 src/app/components/active-checks/active-checks.component.ts delete mode 100644 src/app/components/dashboard/dashboard.component.html delete mode 100644 src/app/components/dashboard/dashboard.component.scss delete mode 100644 src/app/components/dashboard/dashboard.component.ts delete mode 100644 src/app/components/history/history.component.html delete mode 100644 src/app/components/history/history.component.scss delete mode 100644 src/app/components/history/history.component.ts delete mode 100644 src/app/components/login/login.component.html delete mode 100644 src/app/components/login/login.component.scss delete mode 100644 src/app/components/login/login.component.ts create mode 100644 src/app/fastcheck.service.ts delete mode 100644 src/app/guards/auth.guard.ts delete mode 100644 src/app/models/api.model.ts delete mode 100644 src/app/models/fastcheck.model.ts delete mode 100644 src/app/models/session.model.ts create mode 100644 src/app/pages/about-page/about-page.html create mode 100644 src/app/pages/about-page/about-page.scss create mode 100644 src/app/pages/about-page/about-page.ts create mode 100644 src/app/pages/contacts-page/contacts-page.html create mode 100644 src/app/pages/contacts-page/contacts-page.scss create mode 100644 src/app/pages/contacts-page/contacts-page.ts create mode 100644 src/app/pages/create-page/create-page.html create mode 100644 src/app/pages/create-page/create-page.scss create mode 100644 src/app/pages/create-page/create-page.ts create mode 100644 src/app/pages/fastcheck-page/fastcheck-page.html create mode 100644 src/app/pages/fastcheck-page/fastcheck-page.scss create mode 100644 src/app/pages/fastcheck-page/fastcheck-page.ts create mode 100644 src/app/pages/legacy-pay-page/legacy-pay-page.html create mode 100644 src/app/pages/legacy-pay-page/legacy-pay-page.scss create mode 100644 src/app/pages/legacy-pay-page/legacy-pay-page.ts create mode 100644 src/app/pages/partners-page/partners-page.html create mode 100644 src/app/pages/partners-page/partners-page.scss create mode 100644 src/app/pages/partners-page/partners-page.ts delete mode 100644 src/app/services/api.service.ts delete mode 100644 src/app/services/auth.service.ts delete mode 100644 src/app/services/fastcheck.service.ts create mode 100644 src/app/site-footer/site-footer.html create mode 100644 src/app/site-footer/site-footer.scss create mode 100644 src/app/site-footer/site-footer.ts create mode 100644 src/app/site-header/site-header.html create mode 100644 src/app/site-header/site-header.scss create mode 100644 src/app/site-header/site-header.ts create mode 100644 src/app/translate/translate.pipe.ts create mode 100644 src/app/translate/translation.service.ts delete mode 100644 src/environments/environment.ts create mode 100644 src/shared.scss diff --git a/.gitignore b/.gitignore index b1d225e..5e1493e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,12 @@ # See https://docs.github.com/get-started/getting-started-with-git/ignoring-files for more about ignoring files. # Compiled output -/dist /tmp /out-tsc /bazel-out +/dist +changes.txt +api.txt # Node /node_modules diff --git a/.vscode/extensions.json b/.vscode/extensions.json deleted file mode 100644 index 77b3745..0000000 --- a/.vscode/extensions.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 - "recommendations": ["angular.ng-template"] -} diff --git a/.vscode/launch.json b/.vscode/launch.json deleted file mode 100644 index 925af83..0000000 --- a/.vscode/launch.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "name": "ng serve", - "type": "chrome", - "request": "launch", - "preLaunchTask": "npm: start", - "url": "http://localhost:4200/" - }, - { - "name": "ng test", - "type": "chrome", - "request": "launch", - "preLaunchTask": "npm: test", - "url": "http://localhost:9876/debug.html" - } - ] -} diff --git a/.vscode/tasks.json b/.vscode/tasks.json deleted file mode 100644 index 244306f..0000000 --- a/.vscode/tasks.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - // For more information, visit: https://go.microsoft.com/fwlink/?LinkId=733558 - "version": "2.0.0", - "tasks": [ - { - "type": "npm", - "script": "start", - "isBackground": true, - "problemMatcher": { - "owner": "typescript", - "pattern": "$tsc", - "background": { - "activeOnStart": true, - "beginsPattern": { - "regexp": "Changes detected" - }, - "endsPattern": { - "regexp": "bundle generation (complete|failed)" - } - } - } - }, - { - "type": "npm", - "script": "test", - "isBackground": true, - "problemMatcher": { - "owner": "typescript", - "pattern": "$tsc", - "background": { - "activeOnStart": true, - "beginsPattern": { - "regexp": "Changes detected" - }, - "endsPattern": { - "regexp": "bundle generation (complete|failed)" - } - } - } - } - ] -} diff --git a/BACKEND.md b/BACKEND.md new file mode 100644 index 0000000..bfdba2f --- /dev/null +++ b/BACKEND.md @@ -0,0 +1,214 @@ +# Fastcheck Backend — требования к серверу + +Документ для команды бэкенда. Описывает, что должен реализовать сервер `api.fastcheck.store`, чтобы веб-фронт (этот репозиторий) полностью заработал. + +--- + +## 1. Общие требования + +### 1.1 Транспорт +- **Протокол**: HTTPS обязателен (валидный TLS-сертификат, Let's Encrypt или иной). +- **Хост**: `api.fastcheck.store` (или другой — тогда поправить `FASTCHECK_API` в `src/app/api.ts`). +- **Формат тел запроса/ответа**: `application/json; charset=utf-8`. + +### 1.2 CORS — **критично** +Браузер фронта пойдёт с другого origin. Без правильных CORS-заголовков **ничего не заработает** (preflight упадёт, fetch вернёт network error — ровно то, что мы видим сейчас). + +Сервер должен на любой `OPTIONS` (preflight) и на ответы реальных запросов отдавать: + +``` +Access-Control-Allow-Origin: https://<домен-фронта> # либо * для dev +Access-Control-Allow-Methods: GET, POST, DELETE, OPTIONS +Access-Control-Allow-Headers: Content-Type, Authorization +Access-Control-Max-Age: 86400 +``` + +Если используются cookies/credentials — добавить `Access-Control-Allow-Credentials: true` и **нельзя** использовать `*` в `Allow-Origin`. + +`OPTIONS` должен отвечать `204 No Content` без тела. + +### 1.3 Авторизация +Заголовок передаётся как **JSON-строка**, а не Bearer: + +``` +Authorization: {"sessionID":"1AF3781BF6B94604B771AEA1D44FA63A"} +``` + +Парсинг на сервере: `JSON.parse(req.headers.authorization)` → `{ sessionID }`. +Если заголовок отсутствует или сессия невалидна — `404 { "message": "not authorized" }`. + +### 1.4 Ошибки +Любая ошибка — JSON `{ "message": "<человекочитаемое описание>" }` + HTTP-статус (4xx/5xx). Фронт показывает `message` пользователю. + +--- + +## 2. Эндпоинты + +База: `https://api.fastcheck.store` + +### 2.1 `GET /ping` +Healthcheck. Ответ: `200 { "message": "pong" }`. Без авторизации. + +--- + +### 2.2 `GET /websession` +Создаёт новую веб-сессию для QR-логина через Telegram-бот. + +**Запрос**: без тела, без авторизации. + +**Ответ** `200`: +```json +{ + "sessionId": "1AF3781BF6B94604B771AEA1D44FA63A", + "userId": "", + "expires": "sessionId", + "userSessionId": "", + "Status": false +} +``` + +`sessionId` фронт подставляет в QR-код и в deeplink на бот: +`https://t.me/DexarSupport_bot?start=` + +**TTL сессии**: рекомендуем 5–10 минут. По истечении `GET /websession/:id` должен вернуть `Status: false` навсегда (фронт сам пересоздаст). + +--- + +### 2.3 `GET /websession/:webSessionID` +Поллинг статуса логина. Фронт зовёт каждые **3 секунды**, пока попап открыт. + +**Ответ** `200` пока пользователь не залогинился: +```json +{ "sessionId": "...", "userId": "", "expires": "sessionId", "userSessionId": "", "Status": false } +``` + +**Ответ** `200` после того, как Telegram-бот подтвердил вход: +```json +{ + "sessionId": "1AF3781BF6B94604B771AEA1D44FA63A", + "userId": "kHaAe9roaC2uq63AKGE/8+Ti/t/iFro68QhEZ1dRGLo", + "expires": "sessionId", + "userSessionId": "8A94EFEFD003426A9B456C48CAC99BE6", + "Status": true +} +``` + +Если сессия не найдена/истекла — `404 { "message": "session expired" }`. + +--- + +### 2.4 `DELETE /websession/:webSessionID` +Logout / закрытие попапа. + +**Запрос**: +```json +{ "sessionId": "1AF3781BF6B94604B771AEA1D44FA63A" } +``` + +**Ответ** `200 {}`. Идемпотентно — повторный вызов не должен ломаться. + +--- + +### 2.5 `GET /fastcheck` +Проверка существования и срока действия чека (используется опционально перед оплатой). + +**Запрос** (тело в GET): +```json +{ "fastcheck": "1234-5678-0001" } +``` + +**Ответ** `200`: +```json +{ + "fastcheck": "1234-5678-0001", + "expiration": "2026-07-07T09:08:18Z", + "Status": true +} +``` + +Не существует / просрочен → `404 { "message": "not found" }`. + +--- + +### 2.6 `POST /fastcheck` — **создание чека** +Юзер уже залогинен, его `sessionID` есть на фронте. С этого аккаунта списывается `amount`, выпускается чек. + +**Заголовок**: `Authorization: {"sessionID":"..."}` обязателен. + +**Тело**: +```json +{ "amount": 158000, "currency": "RUB" } +``` + +`amount` — в минимальных единицах валюты (копейки для RUB). Уточнить с фронтом, если иначе. + +**Ответ** `200`: +```json +{ + "fastcheck": "1234-5678-0001", + "expiration": "2026-07-07T09:08:18Z", + "code": "5864", + "Status": true +} +``` + +**Ошибки**: +- `404 { "message": "not authorized" }` — нет/невалидная сессия. +- `400 { "message": "insufficient balance" }` — мало средств. +- `400 { "message": "invalid amount" }` — некорректная сумма/валюта. + +--- + +### 2.7 `POST /fastcheck` — **приём чека (оплата)** +Этот же путь, отличается шейпом тела (без `amount`, с `code`). + +**Заголовок**: `Authorization: {"sessionID":"..."}` обязателен (сессия получателя — того, кто оплачивает). + +**Тело**: +```json +{ "fastcheck": "1234-5678-0001", "code": "5864" } +``` + +**Ответ** `200 { "message": "ok" }` — чек погашен, средства зачислены получателю. + +**Ошибки**: +- `404 { "message": "not authorized" }` — сессия невалидна **или** код неверный, **или** чек уже использован, **или** просрочен. (Так в текущей доке. Если можно различать — лучше отдельные сообщения.) + +> ⚠️ Серверу важно различать два POST-кейса по наличию поля `amount` vs `code` в теле. Альтернатива (предпочтительнее на проде) — развести на разные пути: `POST /fastcheck` (создание) и `POST /fastcheck/accept` (приём). Если разведёте — скажите, фронт правится за 5 минут. + +--- + +## 3. Интеграция с Telegram-ботом + +Фронт сам бот не дёргает — это задача бэкенда. + +1. Юзер сканит QR / кликает deeplink → попадает в бот `@DexarSupport_bot` с параметром `?start=`. +2. Бот идентифицирует Telegram-аккаунт (по `from.id`) → находит/создаёт `userId` → биндит его к `sessionId` → ставит `Status: true`, заполняет `userId` и `userSessionId`. +3. Следующий поллинг с фронта вернёт `Status: true` — фронт переходит к `POST /fastcheck`. + +Если юзер впервые в боте — стандартный onboarding, потом всё то же самое. + +--- + +## 4. Чеклист «готово к проду» + +- [ ] HTTPS с валидным сертификатом на `api.fastcheck.store`. +- [ ] CORS разрешает домен фронта на всех 6 эндпоинтах + OPTIONS. +- [ ] `GET /ping` отвечает. +- [ ] Полный цикл: `GET /websession` → бот ставит `Status:true` → `GET /websession/:id` это видит. +- [ ] `POST /fastcheck` (create) с заголовком `Authorization` создаёт чек, списывает баланс. +- [ ] `POST /fastcheck` (accept) погашает чек только один раз, зачисляет получателю. +- [ ] `DELETE /websession/:id` корректно завершает сессию. +- [ ] Все ошибки в формате `{ "message": "..." }` + правильный HTTP-код. +- [ ] Сессии экспайрятся (5–10 мин для websession, разумный TTL для userSession). +- [ ] Rate-limit на `GET /websession/:id` (фронт поллит каждые 3 с) и на `POST /fastcheck`. + +--- + +## 5. Открытые вопросы (нужны ответы от бэкенда) + +1. **Единица `amount`**: рубли или копейки? +2. **Currency**: какие коды поддерживаете кроме `RUB`? (фронт уже умеет показывать, но шлёт пока только RUB) +3. **Merchant callback** для эквайринга: после успешного `POST /fastcheck (accept)` нужно ли серверу самому пинговать мерчант-вебхук, или это полностью на фронте через `?return_url=`? +4. **Различение ошибок accept**: можно ли вместо общего `404 not authorized` отдавать `not found` / `wrong code` / `already used` / `expired`? +5. **WebSession TTL** — сколько живёт? diff --git a/BACKEND_CHANGES.md b/BACKEND_CHANGES.md new file mode 100644 index 0000000..965ef6d --- /dev/null +++ b/BACKEND_CHANGES.md @@ -0,0 +1,179 @@ +# Fastcheck Backend — изменения сверх api.txt + +Документ с **дельтой** — что нужно добавить/изменить в спеке `public/api.txt`, +чтобы фронт полноценно заработал. Базовая спека остаётся в силе, здесь только +правки. + +> Полный референс с примерами — см. `BACKEND.md` в этом же репозитории. + +--- + +## 1. `POST /fastcheck` (создание) — расширить тело + +Добавить поля `orderId`, `note`, `returnUrl` (все опциональные): + +```diff +POST /fastcheck +HEADER: Authorization: {"sessionID": "..."} +Body: +{ + "amount": 158000, + "currency": "RUB", ++ "orderId": "merchant-order-uuid", // id заказа на стороне мерчанта ++ "note": "Оплата заказа №123", // комментарий, видит получатель ++ "returnUrl": "https://shop.example.com/thanks" // куда вернуть юзера после оплаты +} + +Response: +{ + "fastcheck": "1234-5678-0001", + "expiration": "2026-07-07T09:08:18Z", + "code": "5864", + "Status": true, ++ "orderId": "merchant-order-uuid" // эхо обратно +} +``` + +`note` также возвращать в `GET /fastcheck`, чтобы получатель видел причину +платежа перед приёмом. + +--- + +## 1.1. `GET /fastcheck` — добавить `amount` в ответ + +Фронт автоматически делает `GET /fastcheck` после ввода полного номера +(`xxxx-xxxx-xxxx`), чтобы показать получателю сумму до ввода кода. Сейчас в +`api.txt` ответ содержит только `fastcheck`, `expiration`, `Status` — суммы нет. + +Добавить: + +```diff +GET /fastcheck +Body: { "fastcheck": "1234-5678-0001" } +Response: +{ + "fastcheck": "1234-5678-0001", + "expiration": "2026-07-07T09:08:18Z", ++ "amount": 158000, ++ "currency": "RUB", ++ "note": "За кофе", + "Status": true +} +``` + +Также: GET с телом — нестандарт, многие HTTP-клиенты его выкидывают. **Принимать +`?fastcheck=...` как query-параметр** (фронт шлёт оба варианта одновременно). + +--- + +## 2. Зафиксировать единицу `amount` + +В `api.txt` пример `"amount": 158000` неоднозначен. Зафиксировать: + +> `amount` — **целое число в основной единице валюты** (для RUB — рубли, +> не копейки). Минимум 1. + +Если бэкенд считает в копейках — сообщить, фронт изменит формат. + +--- + +## 3. Merchant webhook (новое) + +После успешного `POST /fastcheck` (accept), сервер шлёт `POST` на +`webhookUrl`, привязанный к `orderId`/мерчанту: + +``` +POST +Headers: + Content-Type: application/json + X-Fastcheck-Signature: + +Body: +{ + "event": "fastcheck.paid", + "fastcheck": "1234-5678-0001", + "orderId": "merchant-order-uuid", + "amount": 158000, + "currency": "RUB", + "paidAt": "2026-04-30T12:34:56Z" +} +``` + +Мерчант проверяет подпись и помечает заказ оплаченным. Ретраи (минимум +3 попытки с экспоненциальной задержкой) при не-2xx ответах. + +--- + +## 4. Развести create и accept на разные пути (рекомендация) + +Сейчас `POST /fastcheck` делает оба действия — отличается только формой тела +(`amount` vs `code`). Это хрупко. + +```diff +- POST /fastcheck (создание) +- POST /fastcheck (приём) ++ POST /fastcheck (создание) ++ POST /fastcheck/accept (приём) +``` + +Фронт правится в одну строку. Если оставляете один путь — оставляем как есть. + +--- + +## 5. Гранулярные ошибки `POST /fastcheck` (accept) + +В `api.txt` любая ошибка = `404 { "message": "not authorized" }`. Юзер не +понимает, что пошло не так. Различать: + +``` +401 { "message": "not authorized" } — нет/невалидная сессия +404 { "message": "fastcheck not found" } — нет такого номера +403 { "message": "wrong code" } — код неверный +410 { "message": "already used" } — чек уже погашен +410 { "message": "expired" } — просрочен +``` + +--- + +## 6. CORS + HTTPS + DNS (блокер) + +Сейчас `https://api.fastcheck.store` даёт `ERR_NAME_NOT_RESOLVED` — +домен не резолвится. Без этого тестировать нечего. + +Минимально: +- Поднять DNS A-запись на `api.fastcheck.store`. +- Валидный TLS-сертификат (Let's Encrypt подойдёт). +- На все эндпоинты + `OPTIONS` отвечать заголовками: + ``` + Access-Control-Allow-Origin: https://<домен-фронта> + Access-Control-Allow-Methods: GET, POST, DELETE, OPTIONS + Access-Control-Allow-Headers: Content-Type, Authorization + Access-Control-Max-Age: 86400 + ``` + `OPTIONS` → `204 No Content` без тела. + +Подробности — `BACKEND.md` §1.2. + +--- + +## Что **не меняется** + +- `GET /ping` +- `GET /websession`, `GET /websession/:id`, `DELETE /websession/:id` +- `GET /fastcheck` +- Формат заголовка `Authorization: {"sessionID":"..."}` +- Telegram-логин через бот `@DexarSupport_bot` с `?start=` + +--- + +## Чеклист для бэкенда + +- [ ] DNS + HTTPS + CORS (блокер) +- [ ] `orderId`, `note`, `returnUrl` в `POST /fastcheck` (create) +- [ ] `note` возвращается в `GET /fastcheck` +- [ ] `amount` (+ currency) возвращается в `GET /fastcheck` +- [ ] `GET /fastcheck` принимает `?fastcheck=` как query-param +- [ ] Зафиксировать `amount` в основной единице (рубли) +- [ ] Webhook на `fastcheck.paid` с HMAC-подписью +- [ ] Гранулярные ошибки accept +- [ ] (опц.) Развести create / accept на разные пути diff --git a/BACKEND_IMPLEMENTATION.md b/BACKEND_IMPLEMENTATION.md deleted file mode 100644 index 5a28721..0000000 --- a/BACKEND_IMPLEMENTATION.md +++ /dev/null @@ -1,426 +0,0 @@ -# FastCheck Backend Implementation Guide - -## QR Code Authentication Flow - -### Overview -The frontend displays a QR code that contains a session ID. When a user scans this QR code with the mobile app, the mobile app authenticates and links to that session. The frontend polls the backend every 2 seconds to check if the session has been authenticated. - -### Step-by-Step Implementation - ---- - -## 1. Create WebSession (QR Code Generation) - -### Frontend Request: -```typescript -GET https://api.fastcheck.store/websession -Headers: { - "Content-Type": "application/json" -} -``` - -### Backend Response: -```json -{ - "sessionId": "1AF3781BF6B94604B771AEA1D44FA63A", - "userId": "", - "expires": "2026-01-19T10:50:00Z", - "userSessionId": "", - "Status": false -} -``` - -### Backend Implementation: -```javascript -// Example Node.js/Express -app.get('/websession', (req, res) => { - // Generate unique session ID (UUID or similar) - const sessionId = generateUUID(); // e.g., "1AF3781BF6B94604B771AEA1D44FA63A" - - // Set expiration time (e.g., 5 minutes from now) - const expires = new Date(Date.now() + 5 * 60 * 1000).toISOString(); - - // Store session in database or cache (Redis recommended) - await sessionStore.create({ - sessionId: sessionId, - userId: null, - userSessionId: null, - status: false, - expiresAt: expires, - createdAt: new Date() - }); - - // Return session data - res.json({ - sessionId: sessionId, - userId: "", - expires: expires, - userSessionId: "", - Status: false - }); -}); -``` - -### What Frontend Does: -```typescript -// Frontend generates QR code data from session ID -const qrData = `fastcheck://login?session=${sessionId}`; -// Example: "fastcheck://login?session=1AF3781BF6B94604B771AEA1D44FA63A" -``` - -**QR Code Contains:** Deep link URL with session ID -- Format: `fastcheck://login?session={sessionId}` -- Mobile app will parse this URL and extract the sessionId -- Mobile app will then authenticate and update this session - ---- - -## 2. Check WebSession Status (Polling) - -### Frontend Request (Every 2 seconds): -```typescript -GET https://api.fastcheck.store/websession/1AF3781BF6B94604B771AEA1D44FA63A -Headers: { - "Content-Type": "application/json" -} -``` - -### Backend Response (Not Authenticated Yet): -```json -{ - "sessionId": "1AF3781BF6B94604B771AEA1D44FA63A", - "userId": "", - "expires": "2026-01-19T10:50:00Z", - "userSessionId": "", - "Status": false -} -``` - -### Backend Response (Authenticated): -```json -{ - "sessionId": "1AF3781BF6B94604B771AEA1D44FA63A", - "userId": "kHaAe9roaC2uq63AKGE/8+Ti/t/iFro68QhEZ1dRGLo", - "expires": "2026-01-19T12:00:00Z", - "userSessionId": "8A94EFEFD003426A9B456C48CAC99BE6", - "Status": true -} -``` - -### Backend Implementation: -```javascript -app.get('/websession/:sessionId', async (req, res) => { - const { sessionId } = req.params; - - // Retrieve session from database/cache - const session = await sessionStore.get(sessionId); - - if (!session) { - return res.status(404).json({ message: "Session not found" }); - } - - // Check if session expired - if (new Date() > new Date(session.expiresAt)) { - await sessionStore.delete(sessionId); - return res.status(404).json({ message: "Session expired" }); - } - - // Return session status - res.json({ - sessionId: session.sessionId, - userId: session.userId || "", - expires: session.expiresAt, - userSessionId: session.userSessionId || "", - Status: session.status || false - }); -}); -``` - ---- - -## 3. Mobile App Authenticates Session - -**This is what the MOBILE APP does** (not the web frontend): - -### Mobile App Flow: -1. User scans QR code: `fastcheck://login?session=1AF3781BF6B94604B771AEA1D44FA63A` -2. Mobile app extracts sessionId: `1AF3781BF6B94604B771AEA1D44FA63A` -3. Mobile app authenticates user (PIN, biometrics, etc.) -4. Mobile app sends authentication request to backend: - -```typescript -POST https://api.fastcheck.store/websession/authenticate -Headers: { - "Authorization": "Bearer {mobile_app_token}", - "Content-Type": "application/json" -} -Body: { - "sessionId": "1AF3781BF6B94604B771AEA1D44FA63A", - "userId": "kHaAe9roaC2uq63AKGE/8+Ti/t/iFro68QhEZ1dRGLo" -} -``` - -### Backend Implementation: -```javascript -app.post('/websession/authenticate', authenticateMobileApp, async (req, res) => { - const { sessionId, userId } = req.body; - const mobileUserId = req.user.id; // From mobile app authentication - - // Verify the mobile user matches - if (userId !== mobileUserId) { - return res.status(403).json({ message: "Unauthorized" }); - } - - // Update session with user information - const userSessionId = generateUUID(); - await sessionStore.update(sessionId, { - userId: userId, - userSessionId: userSessionId, - status: true, - authenticatedAt: new Date() - }); - - res.json({ message: "Session authenticated" }); -}); -``` - ---- - -## 4. Logout (Delete Session) - -### Frontend Request: -```typescript -DELETE https://api.fastcheck.store/websession/1AF3781BF6B94604B771AEA1D44FA63A -Headers: { - "Authorization": "{\"sessionID\": \"1AF3781BF6B94604B771AEA1D44FA63A\"}", - "Content-Type": "application/json" -} -``` - -### Backend Implementation: -```javascript -app.delete('/websession/:sessionId', async (req, res) => { - const { sessionId } = req.params; - - // Delete session from database/cache - await sessionStore.delete(sessionId); - - res.json({ message: "Session deleted" }); -}); -``` - ---- - -## 5. Authenticated API Requests - -After login, all API requests include the sessionId in the Authorization header: - -### Frontend Request: -```typescript -POST https://api.fastcheck.store/fastcheck -Headers: { - "Authorization": "{\"sessionID\": \"1AF3781BF6B94604B771AEA1D44FA63A\"}", - "Content-Type": "application/json" -} -Body: { - "amount": 150000, - "currency": "RUB" -} -``` - -### Backend Authentication Middleware: -```javascript -// Middleware to verify session -const authenticateSession = async (req, res, next) => { - try { - // Parse Authorization header - const authHeader = req.headers.authorization; - if (!authHeader) { - return res.status(401).json({ message: "not authorized" }); - } - - // Parse JSON from Authorization header - const { sessionID } = JSON.parse(authHeader); - - // Verify session exists and is authenticated - const session = await sessionStore.get(sessionID); - - if (!session || !session.status) { - return res.status(401).json({ message: "not authorized" }); - } - - // Check if session expired - if (new Date() > new Date(session.expiresAt)) { - await sessionStore.delete(sessionID); - return res.status(401).json({ message: "not authorized" }); - } - - // Attach user info to request - req.user = { - userId: session.userId, - userSessionId: session.userSessionId, - sessionId: sessionID - }; - - next(); - } catch (error) { - return res.status(401).json({ message: "not authorized" }); - } -}; - -// Use middleware on protected routes -app.post('/fastcheck', authenticateSession, async (req, res) => { - const { amount, currency } = req.body; - const userId = req.user.userId; - - // Create FastCheck logic... -}); -``` - ---- - -## QR Code Data Format - -### What the QR Code Contains: -``` -fastcheck://login?session=1AF3781BF6B94604B771AEA1D44FA63A -``` - -**Format breakdown:** -- **Scheme**: `fastcheck://` - Deep link scheme for mobile app -- **Path**: `login` - Indicates this is a login QR code -- **Parameter**: `session={sessionId}` - The web session ID - -### Frontend QR Code Implementation: -```typescript -// In login.component.ts -const sessionResponse = await createWebSession(); -const qrData = `fastcheck://login?session=${sessionResponse.sessionId}`; - -// QR code component displays this as a QR image - -``` - ---- - -## Database Schema Recommendations - -### WebSession Table: -```sql -CREATE TABLE web_sessions ( - session_id VARCHAR(64) PRIMARY KEY, - user_id VARCHAR(255), - user_session_id VARCHAR(64), - status BOOLEAN DEFAULT FALSE, - expires_at TIMESTAMP NOT NULL, - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - authenticated_at TIMESTAMP, - INDEX idx_expires (expires_at), - INDEX idx_status (status) -); - --- Auto-delete expired sessions -CREATE EVENT cleanup_expired_sessions -ON SCHEDULE EVERY 1 HOUR -DO - DELETE FROM web_sessions WHERE expires_at < NOW(); -``` - -### Or use Redis (Recommended for sessions): -```javascript -// Redis structure -const sessionKey = `websession:${sessionId}`; -await redis.setex(sessionKey, 300, JSON.stringify({ - sessionId: sessionId, - userId: userId, - userSessionId: userSessionId, - status: true -})); -``` - ---- - -## Security Considerations - -1. **Session Expiration**: Sessions should expire after 5 minutes if not authenticated -2. **HTTPS Only**: All communication must be over HTTPS -3. **CORS Configuration**: Configure CORS to allow frontend domain -4. **Session Cleanup**: Regularly clean up expired sessions -5. **Rate Limiting**: Limit polling requests to prevent abuse -6. **Mobile App Authentication**: Mobile app must authenticate before linking session - ---- - -## Testing the Flow - -### 1. Test Session Creation: -```bash -curl -X GET https://api.fastcheck.store/websession -``` - -Expected: New session with Status: false - -### 2. Test Polling: -```bash -curl -X GET https://api.fastcheck.store/websession/{sessionId} -``` - -Expected: Same session, Status: false (until mobile app authenticates) - -### 3. Test Mobile Authentication (simulate): -```bash -curl -X POST https://api.fastcheck.store/websession/authenticate \ - -H "Authorization: Bearer {mobile_token}" \ - -H "Content-Type: application/json" \ - -d '{"sessionId": "{sessionId}", "userId": "{userId}"}' -``` - -Expected: Session updated with Status: true - -### 4. Test Polling After Auth: -```bash -curl -X GET https://api.fastcheck.store/websession/{sessionId} -``` - -Expected: Session with Status: true, userId populated - ---- - -## Frontend Polling Implementation (Already Done) - -```typescript -// In auth.service.ts -startPolling(sessionId: string): Observable { - return interval(2000).pipe( // Poll every 2 seconds - switchMap(() => this.checkWebSessionStatus(sessionId)), - tap(session => { - if (session.Status) { - this.setAuthenticated(session); - } - }), - takeWhile(session => !session.Status, true) // Stop when authenticated - ); -} -``` - ---- - -## Summary for Backend Team - -**Required Endpoints:** -1. ✅ `GET /websession` - Create session for QR -2. ✅ `GET /websession/:id` - Check session status (polled) -3. ⚠️ `POST /websession/authenticate` - Mobile app authenticates session (NEW) -4. ✅ `DELETE /websession/:id` - Logout - -**Required Logic:** -- Generate unique session IDs -- Store sessions with expiration -- Mobile app updates session status -- Web frontend polls until Status = true -- All authenticated APIs verify session in Authorization header - -**QR Code Data:** -- Format: `fastcheck://login?session={sessionId}` -- Mobile app parses and authenticates -- Web polls until mobile authenticates diff --git a/DEPLOY.md b/DEPLOY.md new file mode 100644 index 0000000..f13696d --- /dev/null +++ b/DEPLOY.md @@ -0,0 +1,153 @@ +# Развёртывание (Deploy) + +## 1. Требования + +- **Node.js 20+** и **npm 10+** +- Доступ к серверу с веб-сервером (nginx / Apache / Caddy / IIS) или к статическому хостингу (Netlify, Vercel, GitHub Pages, S3 + CloudFront и т.п.) +- HTTPS (обязательно — backend принимает только HTTPS, а Telegram QR не будет работать на http) + +## 2. Сборка production-бандла + +```powershell +# в корне проекта +npm ci # чистая установка зависимостей +npm run build # production-сборка +``` + +Результат окажется в папке `dist/qr-vitanova/browser/` — это и есть набор статических файлов, который надо опубликовать. + +## 3. Конфигурация API + +Эндпоинты заданы в `src/app/api.ts`: + +- `FASTCHECK_API` — `https://api.fastcheck.store` +- `QR_API` — `https://qr.vitanova.network:567/qr` (legacy, на текущих страницах не используется) + +Имя Telegram-бота — в `src/app/pages/fastcheck-page/fastcheck-page.ts` (поле `telegramBot`, сейчас `DexarSupport_bot`). + +## 4. Публикация статики + +Скопируй содержимое `dist/qr-vitanova/browser/` в корень сайта. + +### Важно: SPA-routing + +У приложения два маршрута (`/` и `/new`), поэтому веб-сервер должен возвращать `index.html` для всех неизвестных путей, иначе обновление страницы на `/new` даст 404. + +#### nginx + +```nginx +server { + listen 443 ssl http2; + server_name pay.example.com; + + root /var/www/qr-vitanova; + index index.html; + + # SPA fallback + location / { + try_files $uri $uri/ /index.html; + } + + # Кэш для статики + location ~* \.(?:js|css|svg|woff2?|ico|png|jpg)$ { + expires 30d; + add_header Cache-Control "public, immutable"; + } + + # index.html — без кеша, чтобы быстро прилетал новый билд + location = /index.html { + add_header Cache-Control "no-cache"; + } + + ssl_certificate /etc/letsencrypt/live/pay.example.com/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/pay.example.com/privkey.pem; +} + +server { + listen 80; + server_name pay.example.com; + return 301 https://$host$request_uri; +} +``` + +#### Apache (`.htaccess`) + +```apache +RewriteEngine On +RewriteBase / +RewriteRule ^index\.html$ - [L] +RewriteCond %{REQUEST_FILENAME} !-f +RewriteCond %{REQUEST_FILENAME} !-d +RewriteRule . /index.html [L] +``` + +#### IIS (`web.config`) + +```xml + + + + + + + + + + + + + + + + +``` + +## 5. CORS на backend + +`api.fastcheck.store` должен возвращать заголовки CORS, разрешающие домен фронта: + +``` +Access-Control-Allow-Origin: https://pay.example.com +Access-Control-Allow-Methods: GET, POST, DELETE, OPTIONS +Access-Control-Allow-Headers: Content-Type, Authorization +``` + +## 6. Параметры запуска страницы + +- `?session=` — необязательный, передаётся на `/new`, чтобы вставить `Authorization: {"sessionID": ...}` при `POST /fastcheck`. +- `?return_url=` — необязательный, на `/`. После успешного приёма фасчека (`POST /fastcheck` с `code`) страница редиректит на этот URL с параметрами `?fastcheck=...&status=ok` — это и есть merchant-callback. + +Пример: `https://pay.example.com/?return_url=https://shop.example.com/order/42` + +## 7. Деплой одной командой (пример через rsync) + +```powershell +npm run build +rsync -az --delete dist/qr-vitanova/browser/ user@server:/var/www/qr-vitanova/ +ssh user@server "sudo systemctl reload nginx" +``` + +## 8. Docker (опционально) + +`Dockerfile`: + +```dockerfile +FROM node:20-alpine AS build +WORKDIR /app +COPY package*.json ./ +RUN npm ci +COPY . . +RUN npm run build + +FROM nginx:1.27-alpine +COPY --from=build /app/dist/qr-vitanova/browser/ /usr/share/nginx/html/ +COPY nginx.conf /etc/nginx/conf.d/default.conf +EXPOSE 80 +``` + +## 9. Проверка после деплоя + +1. Открой `https://pay.example.com/` — должна быть форма фастчека. +2. Открой `https://pay.example.com/new` напрямую — должна открыться страница создания (не 404). +3. В DevTools → Network проверь, что запросы к `https://api.fastcheck.store/...` идут без CORS-ошибок. +4. Нажми «Оплатить» с заполненными полями — должен открыться popup с QR Telegram (`@DexarSupport_bot`). diff --git a/IMPLEMENTATION.md b/IMPLEMENTATION.md deleted file mode 100644 index d5a5797..0000000 --- a/IMPLEMENTATION.md +++ /dev/null @@ -1,200 +0,0 @@ -# FastCheck Application - Implementation Summary - -## ✅ Completed Features - -### 1. Project Structure -- ✅ Angular 21 standalone components architecture -- ✅ TypeScript models for type safety -- ✅ SCSS styling with modern design -- ✅ Modular service-based architecture - -### 2. Authentication System -- ✅ QR Code login component -- ✅ WebSession management -- ✅ Auto-polling every 2 seconds to check login status -- ✅ Session persistence in sessionStorage -- ✅ Route guards for protected pages - -### 3. Dashboard -- ✅ Balance display (mocked) -- ✅ Create FastCheck with custom amount -- ✅ Accept FastCheck with number (xxxx-xxxx-xxxx) and code (xxxx) -- ✅ FastCheck number auto-formatting -- ✅ Success/error handling -- ✅ Modal to display created check details - -### 4. Active Checks Page -- ✅ List all unused FastChecks -- ✅ Copy to clipboard functionality -- ✅ Display check details (number, code, amount, expiration) -- ✅ Security warnings - -### 5. Transaction History -- ✅ View all used/expired checks -- ✅ Distinguish between created and accepted checks -- ✅ Timestamps and status display - -## 📁 File Structure - -``` -FastCheck/ -├── public/ -│ ├── api.txt # Original API documentation -│ └── missing-apis.txt # Missing API specifications for backend -├── src/ -│ ├── app/ -│ │ ├── components/ -│ │ │ ├── login/ # QR login with polling -│ │ │ ├── dashboard/ # Main dashboard -│ │ │ ├── active-checks/ # Active checks list -│ │ │ └── history/ # Transaction history -│ │ ├── services/ -│ │ │ ├── api.service.ts # HTTP client wrapper -│ │ │ ├── auth.service.ts # Authentication & session management -│ │ │ └── fastcheck.service.ts # FastCheck operations -│ │ ├── models/ -│ │ │ ├── session.model.ts # Session interfaces -│ │ │ ├── fastcheck.model.ts # FastCheck interfaces -│ │ │ └── api.model.ts # API response interfaces -│ │ ├── guards/ -│ │ │ └── auth.guard.ts # Route protection -│ │ ├── app.routes.ts # Route configuration -│ │ ├── app.config.ts # App configuration -│ │ ├── app.ts # Root component -│ │ ├── app.html # Root template -│ │ └── app.scss # Global styles -│ ├── environments/ -│ │ └── environment.ts # Environment configuration -│ ├── index.html # Main HTML -│ ├── main.ts # Bootstrap -│ └── styles.scss # Global styles -├── package.json -└── README.md # Project documentation -``` - -## 🔧 Technologies Used - -- **Angular 21** - Modern standalone components -- **TypeScript** - Type-safe development -- **RxJS** - Reactive programming (polling, API calls) -- **SCSS** - Styling -- **angularx-qrcode** - QR code generation -- **HttpClient** - API communication - -## 🎨 Design Features - -- Modern gradient UI (purple/violet theme) -- Responsive layout -- Smooth animations and transitions -- Loading states and spinners -- Error handling with user-friendly messages -- Copy-to-clipboard functionality -- Modal dialogs for important information - -## 🔌 API Integration - -### Fully Integrated: -1. `GET /ping` - Server health check -2. `GET /websession` - Create login session -3. `GET /websession/:id` - Poll login status -4. `DELETE /websession/:id` - Logout -5. `POST /fastcheck` - Create new check (with Authorization) -6. `POST /fastcheck` - Accept check (with Authorization) -7. `GET /fastcheck` - Check status - -### Mocked (Need Backend Implementation): -1. `GET /balance` - Get user balance -2. `GET /fastcheck/active` - List active checks -3. `GET /fastcheck/history` - Transaction history - -See `public/missing-apis.txt` for complete API specifications. - -## 🚀 Running the Application - -```bash -# Navigate to project directory -cd F:\dx\remote\FastCheck\FastCheck - -# Install dependencies (already done) -npm install - -# Start development server -npm start - -# Open browser at http://localhost:4200 -``` - -## 📝 Next Steps for Backend Team - -1. **Implement Missing APIs:** - - Balance endpoint - - Active checks endpoint - - History endpoint - -2. **Bank Integration:** - - Payment gateway API - - Redirect URLs for payment flow - - Webhook for payment confirmation - - Balance top-up mechanism - -3. **Update Frontend When Ready:** - - Uncomment real API calls in `fastcheck.service.ts` - - Remove mock `of()` observables - - Test with real data - -## 🔐 Security Considerations - -- SessionID stored in sessionStorage (clears on tab close) -- Authorization header on all authenticated requests -- CORS must be configured on backend -- HTTPS required in production -- FastCheck codes are sensitive - handle securely - -## 📱 User Flow - -1. **Login:** - - User opens app → sees QR code - - Scans with mobile app - - Frontend polls every 2s - - Redirects to dashboard on success - -2. **Create FastCheck:** - - Enter amount - - Click create - - Get number + code in modal - - Save credentials securely - -3. **Accept FastCheck:** - - Enter number (auto-formatted) - - Enter code - - Submit - - Money added to balance - -4. **View Checks:** - - Active checks → unused checks with copy feature - - History → all used/expired transactions - -## 🐛 Known Limitations (Temporary) - -- Balance API is mocked (returns 150,000 RUB) -- Active checks are mocked (returns 2 sample checks) -- History is mocked (returns 2 sample transactions) -- Bank integration not implemented yet -- No actual QR scanning (need mobile app integration) - -## 📞 Contact - -Developer: sdarbinyan@4pay.ru -Project: FastCheck СБП Payment System -Company: 4Pay - -## ✨ Status - -**Development Server:** ✅ Running on http://localhost:4200 -**All Components:** ✅ Implemented -**Routing:** ✅ Configured with guards -**Styling:** ✅ Complete with modern UI -**Mock Data:** ✅ In place for testing -**Documentation:** ✅ Complete - -Ready for backend integration and testing! diff --git a/README.md b/README.md index 788f771..a129a1e 100644 --- a/README.md +++ b/README.md @@ -1,175 +1,59 @@ -# FastCheck - СБП Payment System +# QrVitanova -FastCheck is an online payment system that allows users to create and manage payment checks with СБП (Faster Payment System). +This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 21.0.4. -## Features +## Development server -- ✅ QR Code Authentication -- ✅ Balance Management -- ✅ Create FastCheck with custom amount -- ✅ Accept FastCheck with number and PIN -- ✅ View Active Checks -- ✅ Transaction History -- ⏳ Bank Integration (To be implemented) - -## Tech Stack - -- **Framework**: Angular 21 -- **Language**: TypeScript -- **Styling**: SCSS -- **HTTP Client**: Angular HttpClient -- **QR Code**: angularx-qrcode -- **API**: RESTful API (api.fastcheck.store) - -## Getting Started - -### Prerequisites - -- Node.js (v18 or higher) -- npm (v10 or higher) - -### Installation +To start a local development server, run: ```bash -# Install dependencies -npm install - -# Start development server -npm start - -# The app will run on http://localhost:4200 +ng serve ``` -### Build +Once the server is running, open your browser and navigate to `http://localhost:4200/`. The application will automatically reload whenever you modify any of the source files. + +## Code scaffolding + +Angular CLI includes powerful code scaffolding tools. To generate a new component, run: ```bash -# Production build -npm run build - -# Output will be in dist/ folder +ng generate component component-name ``` -## Project Structure +For a complete list of available schematics (such as `components`, `directives`, or `pipes`), run: -``` -src/ -├── app/ -│ ├── components/ -│ │ ├── login/ # QR login with polling -│ │ ├── dashboard/ # Main dashboard -│ │ ├── active-checks/ # Active FastChecks list -│ │ └── history/ # Transaction history -│ ├── services/ -│ │ ├── api.service.ts # HTTP client wrapper -│ │ ├── auth.service.ts # Authentication logic -│ │ └── fastcheck.service.ts # FastCheck operations -│ ├── models/ # TypeScript interfaces -│ ├── guards/ # Route guards -│ └── app.routes.ts # Route configuration +```bash +ng generate --help ``` -## API Documentation +## Building -### Implemented APIs +To build the project run: -- ✅ `GET /ping` - Check server availability -- ✅ `GET /websession` - Create QR session -- ✅ `GET /websession/:id` - Check login status (polling) -- ✅ `DELETE /websession/:id` - Logout -- ✅ `POST /fastcheck` - Create new FastCheck -- ✅ `POST /fastcheck` - Accept FastCheck -- ✅ `GET /fastcheck` - Check FastCheck status - -### Missing APIs (Mocked in Frontend) - -See `public/missing-apis.txt` for complete specifications: - -- ❌ `GET /balance` - Get user balance -- ❌ `GET /fastcheck/active` - Get active checks -- ❌ `GET /fastcheck/history` - Get transaction history - -**Note**: These APIs are currently mocked in the frontend. The backend team needs to implement them. - -## Features Overview - -### 1. Authentication -- Scan QR code with mobile app -- Auto-polling every 2 seconds -- Session management with sessionStorage - -### 2. Dashboard -- View current balance -- Create new FastCheck -- Accept existing FastCheck -- FastCheck format: `xxxx-xxxx-xxxx` -- Code format: `xxxx` - -### 3. Active Checks -- View all unused FastChecks -- Copy number and code to clipboard -- See expiration dates - -### 4. Transaction History -- View used/expired checks -- Filter by created/accepted -- See timestamps - -### 5. Balance Top-Up (To be implemented) -- Bank integration needed -- Will redirect to bank payment page -- Auto-refresh balance after payment - -## Development Notes - -### Mock Data - -The following services return mock data: -- `getBalance()` - Returns 150,000 RUB -- `getActiveFastChecks()` - Returns 2 sample active checks -- `getFastCheckHistory()` - Returns 2 sample history records - -Replace the mocked `of()` observables with real API calls once backend is ready. - -### Environment Configuration - -Update `src/environments/environment.ts` for different API URLs: - -```typescript -export const environment = { - production: false, - apiUrl: 'https://api.fastcheck.store' -}; +```bash +ng build ``` -## Backend Requirements +This will compile your project and store the build artifacts in the `dist/` directory. By default, the production build optimizes your application for performance and speed. -Backend team needs to implement: +## Running unit tests -1. **Balance API** - `GET /balance` -2. **Active Checks API** - `GET /fastcheck/active` -3. **History API** - `GET /fastcheck/history` -4. **Bank Integration** - Payment gateway integration +To execute unit tests with the [Vitest](https://vitest.dev/) test runner, use the following command: -See `public/missing-apis.txt` for detailed API specifications. +```bash +ng test +``` -## Security Notes +## Running end-to-end tests -- SessionId stored in sessionStorage (clears on tab close) -- All authenticated requests include Authorization header -- FastCheck codes are sensitive - handle securely -- Implement HTTPS in production +For end-to-end (e2e) testing, run: -## Browser Support +```bash +ng e2e +``` -- Chrome (latest) -- Firefox (latest) -- Safari (latest) -- Edge (latest) +Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs. -## License +## Additional Resources -Private - 4Pay - -## Contact - -For questions or issues, contact: sdarbinyan@4pay.ru +For more information on using the Angular CLI, including detailed command references, visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page. diff --git a/angular.json b/angular.json index 3c9ecd0..0171cc3 100644 --- a/angular.json +++ b/angular.json @@ -6,7 +6,7 @@ }, "newProjectRoot": "projects", "projects": { - "FastCheck": { + "qr_vitanova": { "projectType": "application", "schematics": { "@schematics/angular:component": { @@ -20,6 +20,10 @@ "build": { "builder": "@angular/build:application", "options": { + "outputPath": { + "base": "dist", + "browser": "" + }, "browser": "src/main.ts", "tsConfig": "tsconfig.app.json", "inlineStyleLanguage": "scss", @@ -43,8 +47,8 @@ }, { "type": "anyComponentStyle", - "maximumWarning": "4kB", - "maximumError": "8kB" + "maximumWarning": "10kB", + "maximumError": "16kB" } ], "outputHashing": "all" @@ -61,10 +65,11 @@ "builder": "@angular/build:dev-server", "configurations": { "production": { - "buildTarget": "FastCheck:build:production" + "buildTarget": "qr_vitanova:build:production" }, "development": { - "buildTarget": "FastCheck:build:development" + "buildTarget": "qr_vitanova:build:development", + "proxyConfig": "proxy.conf.json" } }, "defaultConfiguration": "development" diff --git a/package-lock.json b/package-lock.json index 829a05c..8ec2ed5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { - "name": "fast-check", + "name": "qr-vitanova", "version": "0.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "fast-check", + "name": "qr-vitanova", "version": "0.0.0", "dependencies": { "@angular/common": "^21.0.0", @@ -14,7 +14,6 @@ "@angular/forms": "^21.0.0", "@angular/platform-browser": "^21.0.0", "@angular/router": "^21.0.0", - "angularx-qrcode": "^21.0.4", "rxjs": "~7.8.0", "tslib": "^2.3.0" }, @@ -35,57 +34,57 @@ "license": "MIT" }, "node_modules/@algolia/abtesting": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/@algolia/abtesting/-/abtesting-1.12.2.tgz", - "integrity": "sha512-oWknd6wpfNrmRcH0vzed3UPX0i17o4kYLM5OMITyMVM2xLgaRbIafoxL0e8mcrNNb0iORCJA0evnNDKRYth5WQ==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@algolia/abtesting/-/abtesting-1.14.1.tgz", + "integrity": "sha512-Dkj0BgPiLAaim9sbQ97UKDFHJE/880wgStAM18U++NaJ/2Cws34J5731ovJifr6E3Pv4T2CqvMXf8qLCC417Ew==", "dev": true, "license": "MIT", "dependencies": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/client-abtesting": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.46.2.tgz", - "integrity": "sha512-oRSUHbylGIuxrlzdPA8FPJuwrLLRavOhAmFGgdAvMcX47XsyM+IOGa9tc7/K5SPvBqn4nhppOCEz7BrzOPWc4A==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.48.1.tgz", + "integrity": "sha512-LV5qCJdj+/m9I+Aj91o+glYszrzd7CX6NgKaYdTOj4+tUYfbS62pwYgUfZprYNayhkQpVFcrW8x8ZlIHpS23Vw==", "dev": true, "license": "MIT", "dependencies": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/client-analytics": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.46.2.tgz", - "integrity": "sha512-EPBN2Oruw0maWOF4OgGPfioTvd+gmiNwx0HmD9IgmlS+l75DatcBkKOPNJN+0z3wBQWUO5oq602ATxIfmTQ8bA==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.48.1.tgz", + "integrity": "sha512-/AVoMqHhPm14CcHq7mwB+bUJbfCv+jrxlNvRjXAuO+TQa+V37N8k1b0ijaRBPdmSjULMd8KtJbQyUyabXOu6Kg==", "dev": true, "license": "MIT", "dependencies": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/client-common": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.46.2.tgz", - "integrity": "sha512-Hj8gswSJNKZ0oyd0wWissqyasm+wTz1oIsv5ZmLarzOZAp3vFEda8bpDQ8PUhO+DfkbiLyVnAxsPe4cGzWtqkg==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.48.1.tgz", + "integrity": "sha512-VXO+qu2Ep6ota28ktvBm3sG53wUHS2n7bgLWmce5jTskdlCD0/JrV4tnBm1l7qpla1CeoQb8D7ShFhad+UoSOw==", "dev": true, "license": "MIT", "engines": { @@ -93,151 +92,151 @@ } }, "node_modules/@algolia/client-insights": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.46.2.tgz", - "integrity": "sha512-6dBZko2jt8FmQcHCbmNLB0kCV079Mx/DJcySTL3wirgDBUH7xhY1pOuUTLMiGkqM5D8moVZTvTdRKZUJRkrwBA==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.48.1.tgz", + "integrity": "sha512-zl+Qyb0nLg+Y5YvKp1Ij+u9OaPaKg2/EPzTwKNiVyOHnQJlFxmXyUZL1EInczAZsEY8hVpPCLtNfhMhfxluXKQ==", "dev": true, "license": "MIT", "dependencies": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/client-personalization": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.46.2.tgz", - "integrity": "sha512-1waE2Uqh/PHNeDXGn/PM/WrmYOBiUGSVxAWqiJIj73jqPqvfzZgzdakHscIVaDl6Cp+j5dwjsZ5LCgaUr6DtmA==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.48.1.tgz", + "integrity": "sha512-r89Qf9Oo9mKWQXumRu/1LtvVJAmEDpn8mHZMc485pRfQUMAwSSrsnaw1tQ3sszqzEgAr1c7rw6fjBI+zrAXTOw==", "dev": true, "license": "MIT", "dependencies": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/client-query-suggestions": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.46.2.tgz", - "integrity": "sha512-EgOzTZkyDcNL6DV0V/24+oBJ+hKo0wNgyrOX/mePBM9bc9huHxIY2352sXmoZ648JXXY2x//V1kropF/Spx83w==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.48.1.tgz", + "integrity": "sha512-TPKNPKfghKG/bMSc7mQYD9HxHRUkBZA4q1PEmHgICaSeHQscGqL4wBrKkhfPlDV1uYBKW02pbFMUhsOt7p4ZpA==", "dev": true, "license": "MIT", "dependencies": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/client-search": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.46.2.tgz", - "integrity": "sha512-ZsOJqu4HOG5BlvIFnMU0YKjQ9ZI6r3C31dg2jk5kMWPSdhJpYL9xa5hEe7aieE+707dXeMI4ej3diy6mXdZpgA==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.48.1.tgz", + "integrity": "sha512-4Fu7dnzQyQmMFknYwTiN/HxPbH4DyxvQ1m+IxpPp5oslOgz8m6PG5qhiGbqJzH4HiT1I58ecDiCAC716UyVA8Q==", "dev": true, "license": "MIT", "dependencies": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/ingestion": { - "version": "1.46.2", - "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.46.2.tgz", - "integrity": "sha512-1Uw2OslTWiOFDtt83y0bGiErJYy5MizadV0nHnOoHFWMoDqWW0kQoMFI65pXqRSkVvit5zjXSLik2xMiyQJDWQ==", + "version": "1.48.1", + "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.48.1.tgz", + "integrity": "sha512-/RFq3TqtXDUUawwic/A9xylA2P3LDMO8dNhphHAUOU51b1ZLHrmZ6YYJm3df1APz7xLY1aht6okCQf+/vmrV9w==", "dev": true, "license": "MIT", "dependencies": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/monitoring": { - "version": "1.46.2", - "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.46.2.tgz", - "integrity": "sha512-xk9f+DPtNcddWN6E7n1hyNNsATBCHIqAvVGG2EAGHJc4AFYL18uM/kMTiOKXE/LKDPyy1JhIerrh9oYb7RBrgw==", + "version": "1.48.1", + "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.48.1.tgz", + "integrity": "sha512-Of0jTeAZRyRhC7XzDSjJef0aBkgRcvRAaw0ooYRlOw57APii7lZdq+layuNdeL72BRq1snaJhoMMwkmLIpJScw==", "dev": true, "license": "MIT", "dependencies": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/recommend": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.46.2.tgz", - "integrity": "sha512-NApbTPj9LxGzNw4dYnZmj2BoXiAc8NmbbH6qBNzQgXklGklt/xldTvu+FACN6ltFsTzoNU6j2mWNlHQTKGC5+Q==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.48.1.tgz", + "integrity": "sha512-bE7JcpFXzxF5zHwj/vkl2eiCBvyR1zQ7aoUdO+GDXxGp0DGw7nI0p8Xj6u8VmRQ+RDuPcICFQcCwRIJT5tDJFw==", "dev": true, "license": "MIT", "dependencies": { - "@algolia/client-common": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/requester-browser-xhr": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.46.2.tgz", - "integrity": "sha512-ekotpCwpSp033DIIrsTpYlGUCF6momkgupRV/FA3m62SreTSZUKjgK6VTNyG7TtYfq9YFm/pnh65bATP/ZWJEg==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.48.1.tgz", + "integrity": "sha512-MK3wZ2koLDnvH/AmqIF1EKbJlhRS5j74OZGkLpxI4rYvNi9Jn/C7vb5DytBnQ4KUWts7QsmbdwHkxY5txQHXVw==", "dev": true, "license": "MIT", "dependencies": { - "@algolia/client-common": "5.46.2" + "@algolia/client-common": "5.48.1" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/requester-fetch": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.46.2.tgz", - "integrity": "sha512-gKE+ZFi/6y7saTr34wS0SqYFDcjHW4Wminv8PDZEi0/mE99+hSrbKgJWxo2ztb5eqGirQTgIh1AMVacGGWM1iw==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.48.1.tgz", + "integrity": "sha512-2oDT43Y5HWRSIQMPQI4tA/W+TN/N2tjggZCUsqQV440kxzzoPGsvv9QP1GhQ4CoDa+yn6ygUsGp6Dr+a9sPPSg==", "dev": true, "license": "MIT", "dependencies": { - "@algolia/client-common": "5.46.2" + "@algolia/client-common": "5.48.1" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/requester-node-http": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.46.2.tgz", - "integrity": "sha512-ciPihkletp7ttweJ8Zt+GukSVLp2ANJHU+9ttiSxsJZThXc4Y2yJ8HGVWesW5jN1zrsZsezN71KrMx/iZsOYpg==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.48.1.tgz", + "integrity": "sha512-xcaCqbhupVWhuBP1nwbk1XNvwrGljozutEiLx06mvqDf3o8cHyEgQSHS4fKJM+UAggaWVnnFW+Nne5aQ8SUJXg==", "dev": true, "license": "MIT", "dependencies": { - "@algolia/client-common": "5.46.2" + "@algolia/client-common": "5.48.1" }, "engines": { "node": ">= 14.0.0" @@ -258,13 +257,13 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.2101.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2101.0.tgz", - "integrity": "sha512-vnNAzWXwSRGTHk2K7woIQsj7WDYZp69Z3DBdlxkK0H08ymkJ/ELbhN0/AnIJNNtYCqEb57AH7Ro98n422beDuw==", + "version": "0.2102.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2102.8.tgz", + "integrity": "sha512-b7su7AHIO5F2I6InEu/Bx/oXvGjdCP7kos2tGX73he/lPrTuizooils62OgAzgJ2UeKscyRNUjBPieFCy6XvHQ==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "21.1.0", + "@angular-devkit/core": "21.2.8", "rxjs": "7.8.2" }, "bin": { @@ -277,16 +276,16 @@ } }, "node_modules/@angular-devkit/core": { - "version": "21.1.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.1.0.tgz", - "integrity": "sha512-dPfVy0CictDjWffRv4pGTPOFjdlJL3ZkGUqxzaosUjMbJW+Ai9cNn1VNr7zxYZ4kem3BxLBh1thzDsCPrkXlZA==", + "version": "21.2.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.8.tgz", + "integrity": "sha512-DyxCILaaic/hfcfiBjAC/SdKE1ybSQIrU62/K5Msn3gZtThZj/T7cG0VHfbmpEFcgYkrQ9caUt6MCg8OoOVDzw==", "dev": true, "license": "MIT", "dependencies": { - "ajv": "8.17.1", + "ajv": "8.18.0", "ajv-formats": "3.0.1", "jsonc-parser": "3.3.1", - "picomatch": "4.0.3", + "picomatch": "4.0.4", "rxjs": "7.8.2", "source-map": "0.7.6" }, @@ -305,16 +304,16 @@ } }, "node_modules/@angular-devkit/schematics": { - "version": "21.1.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.1.0.tgz", - "integrity": "sha512-sVgTntCZCOV7mOpHzj6V14KOAoy4B9Ur9yHNRFZVgL2yD77TYRrJ0qwq+l7Im9fSjMCar6csjboqCvyAEpfV1g==", + "version": "21.2.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.2.8.tgz", + "integrity": "sha512-UTEMM1JXzzxufLsTGDsWth2E7+8e9PaFT7nbjUvJ2qevltACkiqAbHEpiD2ISzrSRIO3OirJ+cZtnzXO0FyoBQ==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "21.1.0", + "@angular-devkit/core": "21.2.8", "jsonc-parser": "3.3.1", "magic-string": "0.30.21", - "ora": "9.0.0", + "ora": "9.3.0", "rxjs": "7.8.2" }, "engines": { @@ -324,22 +323,22 @@ } }, "node_modules/@angular/build": { - "version": "21.1.0", - "resolved": "https://registry.npmjs.org/@angular/build/-/build-21.1.0.tgz", - "integrity": "sha512-ftms4F/TlkRNhf/4ykFO12zTG0f9sIRZ4fGFnaOVGmnKYkPKZklWvMCPoaoIligHS2pqKye1a5JSiTgTeUDp9w==", + "version": "21.2.8", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-21.2.8.tgz", + "integrity": "sha512-t0PHT7ONDMLwcjC9GaClNF+gsUKN78ofBikw4huiu6np5Rwmxp8KKCrdoRx20lOiibSolXgjZ2Ny0xxjNdNdQA==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.2101.0", - "@babel/core": "7.28.5", + "@angular-devkit/architect": "0.2102.8", + "@babel/core": "7.29.0", "@babel/helper-annotate-as-pure": "7.27.3", "@babel/helper-split-export-declaration": "7.24.7", "@inquirer/confirm": "5.1.21", - "@vitejs/plugin-basic-ssl": "2.1.0", - "beasties": "0.3.5", + "@vitejs/plugin-basic-ssl": "2.1.4", + "beasties": "0.4.1", "browserslist": "^4.26.0", - "esbuild": "0.27.2", + "esbuild": "0.27.3", "https-proxy-agent": "7.0.6", "istanbul-lib-instrument": "6.0.3", "jsonc-parser": "3.3.1", @@ -347,16 +346,16 @@ "magic-string": "0.30.21", "mrmime": "2.0.1", "parse5-html-rewriting-stream": "8.0.0", - "picomatch": "4.0.3", + "picomatch": "4.0.4", "piscina": "5.1.4", - "rolldown": "1.0.0-beta.58", - "sass": "1.97.1", - "semver": "7.7.3", + "rolldown": "1.0.0-rc.4", + "sass": "1.97.3", + "semver": "7.7.4", "source-map-support": "0.5.21", "tinyglobby": "0.2.15", - "undici": "7.18.0", - "vite": "7.3.0", - "watchpack": "2.5.0" + "undici": "7.24.4", + "vite": "7.3.2", + "watchpack": "2.5.1" }, "engines": { "node": "^20.19.0 || ^22.12.0 || >=24.0.0", @@ -364,7 +363,7 @@ "yarn": ">= 1.13.0" }, "optionalDependencies": { - "lmdb": "3.4.4" + "lmdb": "3.5.1" }, "peerDependencies": { "@angular/compiler": "^21.0.0", @@ -374,7 +373,7 @@ "@angular/platform-browser": "^21.0.0", "@angular/platform-server": "^21.0.0", "@angular/service-worker": "^21.0.0", - "@angular/ssr": "^21.1.0", + "@angular/ssr": "^21.2.8", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^21.0.0", @@ -424,31 +423,30 @@ } }, "node_modules/@angular/cli": { - "version": "21.1.0", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.1.0.tgz", - "integrity": "sha512-kzk8du388x6EBybJeq5AB27qGm8oGC9HhvBJDbu8o+aBIOY+JwVON9m4SYLCzeT+EVK8sKA1NMVYi2CDerk6hA==", + "version": "21.2.8", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.2.8.tgz", + "integrity": "sha512-Y+/US12o+7X2774oeKPsEfHeeYM2SxwnyoXfcaLR8vrMn0zxUrhHebmlz9h83th4EJEuex1Qk0JtF7j5vcwrqQ==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/architect": "0.2101.0", - "@angular-devkit/core": "21.1.0", - "@angular-devkit/schematics": "21.1.0", + "@angular-devkit/architect": "0.2102.8", + "@angular-devkit/core": "21.2.8", + "@angular-devkit/schematics": "21.2.8", "@inquirer/prompts": "7.10.1", "@listr2/prompt-adapter-inquirer": "3.0.5", - "@modelcontextprotocol/sdk": "1.25.2", - "@schematics/angular": "21.1.0", + "@modelcontextprotocol/sdk": "1.26.0", + "@schematics/angular": "21.2.8", "@yarnpkg/lockfile": "1.1.0", - "algoliasearch": "5.46.2", + "algoliasearch": "5.48.1", "ini": "6.0.0", "jsonc-parser": "3.3.1", "listr2": "9.0.5", "npm-package-arg": "13.0.2", - "pacote": "21.0.4", + "pacote": "21.3.1", "parse5-html-rewriting-stream": "8.0.0", - "resolve": "1.22.11", - "semver": "7.7.3", + "semver": "7.7.4", "yargs": "18.0.0", - "zod": "4.3.5" + "zod": "4.3.6" }, "bin": { "ng": "bin/ng.js" @@ -460,9 +458,9 @@ } }, "node_modules/@angular/common": { - "version": "21.1.0", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-21.1.0.tgz", - "integrity": "sha512-hL3Chp51TU9iBcIfkNtoBS1wuseP1gsyDW2IFtK5HUpAVhbso9B3fdCaDTFkU98A2unluo2YgzI6D/6IS6N+1g==", + "version": "21.2.9", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-21.2.9.tgz", + "integrity": "sha512-7spQcF3hPN/fjTx6Pwa32KRRdO0NcixnRuPV4lo50ejtXesjiLVR+fkaX38sawAyGoq89IuuYvUDrbLwCMypmQ==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -471,14 +469,14 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/core": "21.1.0", + "@angular/core": "21.2.9", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "21.1.0", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.1.0.tgz", - "integrity": "sha512-UprCiJwEU1Ilw1dVk+yLgNiHlbH81obAuh92lRKozUQRgtSCpOfCQUM79q5r+VdmCPxDshr79U2Ke0fRaiJfAQ==", + "version": "21.2.9", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.2.9.tgz", + "integrity": "sha512-clsK1EsSPtAuqlRl4CciA/gsvsW7xe0eWcvHxtrMW6DYaUJ6X4AAuDxEEJ5cf/3Mpw4s8KssjIUPPtbrUIGLSQ==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -488,13 +486,13 @@ } }, "node_modules/@angular/compiler-cli": { - "version": "21.1.0", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.1.0.tgz", - "integrity": "sha512-//BTtxJovsF0LaOWQkOVxWX4EVyNJaPus+IlwWxzmdRHpojIl1Zdyy9BJMVJOifvj3XQ16sZwR1PDWDI5DIWrg==", + "version": "21.2.9", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.2.9.tgz", + "integrity": "sha512-hTTW/OiqTXrwTneS18CMp47OX0XSbLYl2rIomLS3nXVJniSETH6S/k+LqQtGWWgLbzsd3PzUOOckHnvzpTBTsA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "7.28.5", + "@babel/core": "7.29.0", "@jridgewell/sourcemap-codec": "^1.4.14", "chokidar": "^5.0.0", "convert-source-map": "^1.5.1", @@ -511,8 +509,8 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/compiler": "21.1.0", - "typescript": ">=5.9 <6.0" + "@angular/compiler": "21.2.9", + "typescript": ">=5.9 <6.1" }, "peerDependenciesMeta": { "typescript": { @@ -521,9 +519,9 @@ } }, "node_modules/@angular/core": { - "version": "21.1.0", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-21.1.0.tgz", - "integrity": "sha512-QTl9s8GYNN0pt1k3GE6UVlfe6zWtfdykhfchinKq2YJywQ6LBM4UcZgoc56YkgscmyrRFYrr4JYUJjlzTF57+A==", + "version": "21.2.9", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-21.2.9.tgz", + "integrity": "sha512-uZLq2aedJ+0uEZxyf6a1Nc7y1aZ7akAW7K1Kon8JUDZOvI2IDbk0i00MzkELt8q9uSmSSqg9zNKuhjspFf0Pyw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -532,7 +530,7 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/compiler": "21.1.0", + "@angular/compiler": "21.2.9", "rxjs": "^6.5.3 || ^7.4.0", "zone.js": "~0.15.0 || ~0.16.0" }, @@ -546,9 +544,9 @@ } }, "node_modules/@angular/forms": { - "version": "21.1.0", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.1.0.tgz", - "integrity": "sha512-1Qxsu2cQhraKe2dKzIVm7no1qWi76QsXVwY7+VGKRYG7p+fKaFmnr7oU5EbJL66TsFzCb8mDGxLGikS+YE+X/g==", + "version": "21.2.9", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.2.9.tgz", + "integrity": "sha512-qXLnzmsJoHMgV/gDU7AZgsKBhUH7k6im6V9YuY5UpHHl+nGKCWxtePAZRB0OH2AsqzLwER3Fv2S6+mtmb7651w==", "license": "MIT", "dependencies": { "@standard-schema/spec": "^1.0.0", @@ -558,16 +556,16 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/common": "21.1.0", - "@angular/core": "21.1.0", - "@angular/platform-browser": "21.1.0", + "@angular/common": "21.2.9", + "@angular/core": "21.2.9", + "@angular/platform-browser": "21.2.9", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/platform-browser": { - "version": "21.1.0", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.1.0.tgz", - "integrity": "sha512-Drkal25x+OuRQosAE/cL4uM5WDmgFehanCpsjQ1jGp6Rxoad6Q5Do1uQAE3qgMKHL1aqCPZ+uWzcVVG+Bn1ddg==", + "version": "21.2.9", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.2.9.tgz", + "integrity": "sha512-MjEtFvoFtsjsAeu2yzauqGgwwEHV4ml25c9vGFmw4OmSoNme4yp41f2DegwOkn1TTHL3OF3GE65ng2U2feJU4Q==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -576,9 +574,9 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/animations": "21.1.0", - "@angular/common": "21.1.0", - "@angular/core": "21.1.0" + "@angular/animations": "21.2.9", + "@angular/common": "21.2.9", + "@angular/core": "21.2.9" }, "peerDependenciesMeta": { "@angular/animations": { @@ -587,9 +585,9 @@ } }, "node_modules/@angular/router": { - "version": "21.1.0", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-21.1.0.tgz", - "integrity": "sha512-Sneu0ePuH+bf8ZslRX3iQk1iLziindLskdTeHV1ZCrXdT0ZScsZyI/gjxQKBtsIU9692D2DnFQRLGnzTBYVGVw==", + "version": "21.2.9", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-21.2.9.tgz", + "integrity": "sha512-ExqOEO6IUuNaI75ZcjAbOuzJKpvVze6hRdETyVf7Sny07+XSKv9t8DK9tBHmR7+67wz+zPIUgCXxsQXi8jJu0w==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -598,30 +596,30 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/common": "21.1.0", - "@angular/core": "21.1.0", - "@angular/platform-browser": "21.1.0", + "@angular/common": "21.2.9", + "@angular/core": "21.2.9", + "@angular/platform-browser": "21.2.9", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@asamuzakjp/css-color": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-4.1.1.tgz", - "integrity": "sha512-B0Hv6G3gWGMn0xKJ0txEi/jM5iFpT3MfDxmhZFb4W047GvytCf1DHQ1D69W3zHI4yWe2aTZAA0JnbMZ7Xc8DuQ==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-4.1.2.tgz", + "integrity": "sha512-NfBUvBaYgKIuq6E/RBLY1m0IohzNHAYyaJGuTK79Z23uNwmz2jl1mPsC5ZxCCxylinKhT1Amn5oNTlx1wN8cQg==", "dev": true, "license": "MIT", "dependencies": { - "@csstools/css-calc": "^2.1.4", - "@csstools/css-color-parser": "^3.1.0", - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4", - "lru-cache": "^11.2.4" + "@csstools/css-calc": "^3.0.0", + "@csstools/css-color-parser": "^4.0.1", + "@csstools/css-parser-algorithms": "^4.0.0", + "@csstools/css-tokenizer": "^4.0.0", + "lru-cache": "^11.2.5" } }, "node_modules/@asamuzakjp/css-color/node_modules/lru-cache": { - "version": "11.2.4", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.4.tgz", - "integrity": "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==", + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", + "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==", "dev": true, "license": "BlueOak-1.0.0", "engines": { @@ -629,9 +627,9 @@ } }, "node_modules/@asamuzakjp/dom-selector": { - "version": "6.7.6", - "resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-6.7.6.tgz", - "integrity": "sha512-hBaJER6A9MpdG3WgdlOolHmbOYvSk46y7IQN/1+iqiCuUu6iWdQrs9DGKF8ocqsEqWujWf/V7b7vaDgiUmIvUg==", + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-6.8.1.tgz", + "integrity": "sha512-MvRz1nCqW0fsy8Qz4dnLIvhOlMzqDVBabZx6lH+YywFDdjXhMY37SmpV1XFX3JzG5GWHn63j6HX6QPr3lZXHvQ==", "dev": true, "license": "MIT", "dependencies": { @@ -639,13 +637,13 @@ "bidi-js": "^1.0.3", "css-tree": "^3.1.0", "is-potential-custom-element-name": "^1.0.1", - "lru-cache": "^11.2.4" + "lru-cache": "^11.2.6" } }, "node_modules/@asamuzakjp/dom-selector/node_modules/lru-cache": { - "version": "11.2.4", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.4.tgz", - "integrity": "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==", + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", + "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==", "dev": true, "license": "BlueOak-1.0.0", "engines": { @@ -660,9 +658,9 @@ "license": "MIT" }, "node_modules/@babel/code-frame": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.28.6.tgz", - "integrity": "sha512-JYgintcMjRiCvS8mMECzaEn+m3PfoQiyqukOMCCVQtoJGYJw8j/8LBJEiqkHLkfwCcs74E3pbAUFNg7d9VNJ+Q==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", "dev": true, "license": "MIT", "dependencies": { @@ -675,9 +673,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.6.tgz", - "integrity": "sha512-2lfu57JtzctfIrcGMz992hyLlByuzgIk58+hhGCxjKZ3rWI82NnVLjXcaTqkI2NvlcvOskZaiZ5kjUALo3Lpxg==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", + "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", "dev": true, "license": "MIT", "engines": { @@ -685,21 +683,21 @@ } }, "node_modules/@babel/core": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", - "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.5", - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-module-transforms": "^7.28.3", - "@babel/helpers": "^7.28.4", - "@babel/parser": "^7.28.5", - "@babel/template": "^7.27.2", - "@babel/traverse": "^7.28.5", - "@babel/types": "^7.28.5", + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", @@ -733,14 +731,14 @@ } }, "node_modules/@babel/generator": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.6.tgz", - "integrity": "sha512-lOoVRwADj8hjf7al89tvQ2a1lf53Z+7tiXMgpZJL3maQPDxh0DgLMN62B2MKUOFcoodBHLMbDM6WAbKgNy5Suw==", + "version": "7.29.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", + "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.28.6", - "@babel/types": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" @@ -875,27 +873,27 @@ } }, "node_modules/@babel/helpers": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", - "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", + "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", "dev": true, "license": "MIT", "dependencies": { "@babel/template": "^7.28.6", - "@babel/types": "^7.28.6" + "@babel/types": "^7.29.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.6.tgz", - "integrity": "sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ==", + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", + "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.28.6" + "@babel/types": "^7.29.0" }, "bin": { "parser": "bin/babel-parser.js" @@ -920,18 +918,18 @@ } }, "node_modules/@babel/traverse": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.6.tgz", - "integrity": "sha512-fgWX62k02qtjqdSNTAGxmKYY/7FSL9WAS1o2Hu5+I5m9T0yxZzr4cnrfXQ/MX0rIifthCSs6FKTlzYbJcPtMNg==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.28.6", - "@babel/generator": "^7.28.6", + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.6", + "@babel/parser": "^7.29.0", "@babel/template": "^7.28.6", - "@babel/types": "^7.28.6", + "@babel/types": "^7.29.0", "debug": "^4.3.1" }, "engines": { @@ -939,9 +937,9 @@ } }, "node_modules/@babel/types": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.6.tgz", - "integrity": "sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", "dev": true, "license": "MIT", "dependencies": { @@ -953,9 +951,9 @@ } }, "node_modules/@csstools/color-helpers": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.1.0.tgz", - "integrity": "sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-6.0.2.tgz", + "integrity": "sha512-LMGQLS9EuADloEFkcTBR3BwV/CGHV7zyDxVRtVDTwdI2Ca4it0CCVTT9wCkxSgokjE5Ho41hEPgb8OEUwoXr6Q==", "dev": true, "funding": [ { @@ -969,13 +967,13 @@ ], "license": "MIT-0", "engines": { - "node": ">=18" + "node": ">=20.19.0" } }, "node_modules/@csstools/css-calc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.4.tgz", - "integrity": "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-3.2.0.tgz", + "integrity": "sha512-bR9e6o2BDB12jzN/gIbjHa5wLJ4UjD1CB9pM7ehlc0ddk6EBz+yYS1EV2MF55/HUxrHcB/hehAyt5vhsA3hx7w==", "dev": true, "funding": [ { @@ -989,17 +987,17 @@ ], "license": "MIT", "engines": { - "node": ">=18" + "node": ">=20.19.0" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4" + "@csstools/css-parser-algorithms": "^4.0.0", + "@csstools/css-tokenizer": "^4.0.0" } }, "node_modules/@csstools/css-color-parser": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.1.0.tgz", - "integrity": "sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-4.1.0.tgz", + "integrity": "sha512-U0KhLYmy2GVj6q4T3WaAe6NPuFYCPQoE3b0dRGxejWDgcPp8TP7S5rVdM5ZrFaqu4N67X8YaPBw14dQSYx3IyQ==", "dev": true, "funding": [ { @@ -1013,21 +1011,21 @@ ], "license": "MIT", "dependencies": { - "@csstools/color-helpers": "^5.1.0", - "@csstools/css-calc": "^2.1.4" + "@csstools/color-helpers": "^6.0.2", + "@csstools/css-calc": "^3.2.0" }, "engines": { - "node": ">=18" + "node": ">=20.19.0" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4" + "@csstools/css-parser-algorithms": "^4.0.0", + "@csstools/css-tokenizer": "^4.0.0" } }, "node_modules/@csstools/css-parser-algorithms": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz", - "integrity": "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-4.0.0.tgz", + "integrity": "sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==", "dev": true, "funding": [ { @@ -1041,16 +1039,16 @@ ], "license": "MIT", "engines": { - "node": ">=18" + "node": ">=20.19.0" }, "peerDependencies": { - "@csstools/css-tokenizer": "^3.0.4" + "@csstools/css-tokenizer": "^4.0.0" } }, "node_modules/@csstools/css-syntax-patches-for-csstree": { - "version": "1.0.25", - "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.0.25.tgz", - "integrity": "sha512-g0Kw9W3vjx5BEBAF8c5Fm2NcB/Fs8jJXh85aXqwEXiL+tqtOut07TWgyaGzAAfTM+gKckrrncyeGEZPcaRgm2Q==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.3.tgz", + "integrity": "sha512-SH60bMfrRCJF3morcdk57WklujF4Jr/EsQUzqkarfHXEFcAR1gg7fS/chAE922Sehgzc1/+Tz5H3Ypa1HiEKrg==", "dev": true, "funding": [ { @@ -1063,14 +1061,19 @@ } ], "license": "MIT-0", - "engines": { - "node": ">=18" + "peerDependencies": { + "css-tree": "^3.2.1" + }, + "peerDependenciesMeta": { + "css-tree": { + "optional": true + } } }, "node_modules/@csstools/css-tokenizer": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz", - "integrity": "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-4.0.0.tgz", + "integrity": "sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==", "dev": true, "funding": [ { @@ -1084,47 +1087,50 @@ ], "license": "MIT", "engines": { - "node": ">=18" + "node": ">=20.19.0" } }, "node_modules/@emnapi/core": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.8.1.tgz", - "integrity": "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", + "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", "dev": true, "license": "MIT", "optional": true, + "peer": true, "dependencies": { - "@emnapi/wasi-threads": "1.1.0", + "@emnapi/wasi-threads": "1.2.1", "tslib": "^2.4.0" } }, "node_modules/@emnapi/runtime": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz", - "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", "dev": true, "license": "MIT", "optional": true, + "peer": true, "dependencies": { "tslib": "^2.4.0" } }, "node_modules/@emnapi/wasi-threads": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz", - "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", "dev": true, "license": "MIT", "optional": true, + "peer": true, "dependencies": { "tslib": "^2.4.0" } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.2.tgz", - "integrity": "sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz", + "integrity": "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==", "cpu": [ "ppc64" ], @@ -1139,9 +1145,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.2.tgz", - "integrity": "sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz", + "integrity": "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==", "cpu": [ "arm" ], @@ -1156,9 +1162,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.2.tgz", - "integrity": "sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz", + "integrity": "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==", "cpu": [ "arm64" ], @@ -1173,9 +1179,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.2.tgz", - "integrity": "sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz", + "integrity": "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==", "cpu": [ "x64" ], @@ -1190,9 +1196,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.2.tgz", - "integrity": "sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz", + "integrity": "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==", "cpu": [ "arm64" ], @@ -1207,9 +1213,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.2.tgz", - "integrity": "sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz", + "integrity": "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==", "cpu": [ "x64" ], @@ -1224,9 +1230,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.2.tgz", - "integrity": "sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz", + "integrity": "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==", "cpu": [ "arm64" ], @@ -1241,9 +1247,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.2.tgz", - "integrity": "sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz", + "integrity": "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==", "cpu": [ "x64" ], @@ -1258,9 +1264,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.2.tgz", - "integrity": "sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz", + "integrity": "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==", "cpu": [ "arm" ], @@ -1275,9 +1281,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.2.tgz", - "integrity": "sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz", + "integrity": "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==", "cpu": [ "arm64" ], @@ -1292,9 +1298,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.2.tgz", - "integrity": "sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz", + "integrity": "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==", "cpu": [ "ia32" ], @@ -1309,9 +1315,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.2.tgz", - "integrity": "sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz", + "integrity": "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==", "cpu": [ "loong64" ], @@ -1326,9 +1332,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.2.tgz", - "integrity": "sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz", + "integrity": "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==", "cpu": [ "mips64el" ], @@ -1343,9 +1349,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.2.tgz", - "integrity": "sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz", + "integrity": "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==", "cpu": [ "ppc64" ], @@ -1360,9 +1366,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.2.tgz", - "integrity": "sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz", + "integrity": "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==", "cpu": [ "riscv64" ], @@ -1377,9 +1383,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.2.tgz", - "integrity": "sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz", + "integrity": "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==", "cpu": [ "s390x" ], @@ -1394,9 +1400,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.2.tgz", - "integrity": "sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz", + "integrity": "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==", "cpu": [ "x64" ], @@ -1411,9 +1417,9 @@ } }, "node_modules/@esbuild/netbsd-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.2.tgz", - "integrity": "sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz", + "integrity": "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==", "cpu": [ "arm64" ], @@ -1428,9 +1434,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.2.tgz", - "integrity": "sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz", + "integrity": "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==", "cpu": [ "x64" ], @@ -1445,9 +1451,9 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.2.tgz", - "integrity": "sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz", + "integrity": "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==", "cpu": [ "arm64" ], @@ -1462,9 +1468,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.2.tgz", - "integrity": "sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz", + "integrity": "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==", "cpu": [ "x64" ], @@ -1479,9 +1485,9 @@ } }, "node_modules/@esbuild/openharmony-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.2.tgz", - "integrity": "sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz", + "integrity": "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==", "cpu": [ "arm64" ], @@ -1496,9 +1502,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.2.tgz", - "integrity": "sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz", + "integrity": "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==", "cpu": [ "x64" ], @@ -1513,9 +1519,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.2.tgz", - "integrity": "sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz", + "integrity": "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==", "cpu": [ "arm64" ], @@ -1530,9 +1536,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.2.tgz", - "integrity": "sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz", + "integrity": "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==", "cpu": [ "ia32" ], @@ -1547,9 +1553,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.2.tgz", - "integrity": "sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz", + "integrity": "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==", "cpu": [ "x64" ], @@ -1564,9 +1570,9 @@ } }, "node_modules/@exodus/bytes": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@exodus/bytes/-/bytes-1.9.0.tgz", - "integrity": "sha512-lagqsvnk09NKogQaN/XrtlWeUF8SRhT12odMvbTIIaVObqzwAogL6jhR4DAp0gPuKoM1AOVrKUshJpRdpMFrww==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@exodus/bytes/-/bytes-1.15.0.tgz", + "integrity": "sha512-UY0nlA+feH81UGSHv92sLEPLCeZFjXOuHhrIo0HQydScuQc8s0A7kL/UdgwgDq8g8ilksmuoF35YVTNphV2aBQ==", "dev": true, "license": "MIT", "engines": { @@ -1581,10 +1587,28 @@ } } }, + "node_modules/@gar/promise-retry": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@gar/promise-retry/-/promise-retry-1.0.3.tgz", + "integrity": "sha512-GmzA9ckNokPypTg10pgpeHNQe7ph+iIKKmhKu3Ob9ANkswreCx7R3cKmY781K8QK3AqVL3xVh9A42JvIAbkkSA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@harperfast/extended-iterable": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@harperfast/extended-iterable/-/extended-iterable-1.0.3.tgz", + "integrity": "sha512-sSAYhQca3rDWtQUHSAPeO7axFIUJOI6hn1gjRC5APVE1a90tuyT8f5WIgRsFhhWA7htNkju2veB9eWL6YHi/Lw==", + "dev": true, + "license": "Apache-2.0", + "optional": true + }, "node_modules/@hono/node-server": { - "version": "1.19.9", - "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.9.tgz", - "integrity": "sha512-vHL6w3ecZsky+8P5MD+eFfaGTyCeOHUIFYMGpQGbrBTSmNNoxv0if69rEZ5giu36weC5saFuznL411gRX7bJDw==", + "version": "1.19.14", + "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.14.tgz", + "integrity": "sha512-GwtvgtXxnWsucXvbQXkRgqksiH2Qed37H9xHZocE5sA3N8O8O8/8FA3uclQXxXVzc9XBZuEOMK7+r02FmSpHtw==", "dev": true, "license": "MIT", "engines": { @@ -1944,29 +1968,6 @@ } } }, - "node_modules/@isaacs/balanced-match": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", - "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/@isaacs/brace-expansion": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz", - "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@isaacs/balanced-match": "^4.0.1" - }, - "engines": { - "node": "20 || >=22" - } - }, "node_modules/@isaacs/fs-minipass": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", @@ -1981,9 +1982,9 @@ } }, "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.6.tgz", + "integrity": "sha512-+Sg6GCR/wy1oSmQDFq4LQDAhm3ETKnorxN+y5nbLULOR3P0c14f2Wurzj3/xqPXtasLFfHd5iRFQ7AJt4KH2cw==", "dev": true, "license": "MIT", "engines": { @@ -2058,9 +2059,9 @@ } }, "node_modules/@lmdb/lmdb-darwin-arm64": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.4.4.tgz", - "integrity": "sha512-XaKL705gDWd6XVls3ATDj13ZdML/LqSIxwgnYpG8xTzH2ifArx8fMMDdvqGE/Emd+W6R90W2fveZcJ0AyS8Y0w==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.5.1.tgz", + "integrity": "sha512-tpfN4kKrrMpQ+If1l8bhmoNkECJi0iOu6AEdrTJvWVC+32sLxTARX5Rsu579mPImRP9YFWfWgeRQ5oav7zApQQ==", "cpu": [ "arm64" ], @@ -2072,9 +2073,9 @@ ] }, "node_modules/@lmdb/lmdb-darwin-x64": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.4.4.tgz", - "integrity": "sha512-GPHGEVcwJlkD01GmIr7B4kvbIcUDS2+kBadVEd7lU4can1RZaZQLDDBJRrrNfS2Kavvl0VLI/cMv7UASAXGrww==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.5.1.tgz", + "integrity": "sha512-+a2tTfc3rmWhLAolFUWRgJtpSuu+Fw/yjn4rF406NMxhfjbMuiOUTDRvRlMFV+DzyjkwnokisskHbCWkS3Ly5w==", "cpu": [ "x64" ], @@ -2086,9 +2087,9 @@ ] }, "node_modules/@lmdb/lmdb-linux-arm": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.4.4.tgz", - "integrity": "sha512-cmev5/dZr5ACKri9f6GU6lZCXTjMhV72xujlbOhFCgFXrt4W0TxGsmY8kA1BITvH60JBKE50cSxsiulybAbrrw==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.5.1.tgz", + "integrity": "sha512-0EgcE6reYr8InjD7V37EgXcYrloqpxVPINy3ig1MwDSbl6LF/vXTYRH9OE1Ti1D8YZnB35ZH9aTcdfSb5lql2A==", "cpu": [ "arm" ], @@ -2100,9 +2101,9 @@ ] }, "node_modules/@lmdb/lmdb-linux-arm64": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.4.4.tgz", - "integrity": "sha512-mALqr7DE42HsiwVTKpQWxacjHoJk+e9p00RWIJqTACh/hpucxp/0lK/XMh5XzWnU/TDCZLukq1+vNqnNumTP/Q==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.5.1.tgz", + "integrity": "sha512-aoERa5B6ywXdyFeYGQ1gbQpkMkDbEo45qVoXE5QpIRavqjnyPwjOulMkmkypkmsbJ5z4Wi0TBztON8agCTG0Vg==", "cpu": [ "arm64" ], @@ -2114,9 +2115,9 @@ ] }, "node_modules/@lmdb/lmdb-linux-x64": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.4.4.tgz", - "integrity": "sha512-QjLs8OcmCNcraAcLoZyFlo0atzBJniQLLwhtR+ymQqS5kLYpV5RqwriL87BW+ZiR9ZiGgZx3evrz5vnWPtJ1fQ==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.5.1.tgz", + "integrity": "sha512-SqNDY1+vpji7bh0sFH5wlWyFTOzjbDOl0/kB5RLLYDAFyd/uw3n7wyrmas3rYPpAW7z18lMOi1yKlTPv967E3g==", "cpu": [ "x64" ], @@ -2128,9 +2129,9 @@ ] }, "node_modules/@lmdb/lmdb-win32-arm64": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-arm64/-/lmdb-win32-arm64-3.4.4.tgz", - "integrity": "sha512-tr/pwHDlZ33forLGAr0tI04cRmP4SgF93yHbb+2zvZiDEyln5yMHhbKDySxY66aUOkhvBvTuHq9q/3YmTj6ZHQ==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-arm64/-/lmdb-win32-arm64-3.5.1.tgz", + "integrity": "sha512-50v0O1Lt37cwrmR9vWZK5hRW0Aw+KEmxJJ75fge/zIYdvNKB/0bSMSVR5Uc2OV9JhosIUyklOmrEvavwNJ8D6w==", "cpu": [ "arm64" ], @@ -2142,9 +2143,9 @@ ] }, "node_modules/@lmdb/lmdb-win32-x64": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.4.4.tgz", - "integrity": "sha512-KRzfocJzB/mgoTCqnMawuLSKheHRVTqWfSmouIgYpFs6Hx4zvZSvsZKSCEb5gHmICy7qsx9l06jk3MFTtiFVAQ==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.5.1.tgz", + "integrity": "sha512-qwosvPyl+zpUlp3gRb7UcJ3H8S28XHCzkv0Y0EgQToXjQP91ZD67EHSCDmaLjtKhe+GVIW5om1KUpzVLA0l6pg==", "cpu": [ "x64" ], @@ -2156,13 +2157,13 @@ ] }, "node_modules/@modelcontextprotocol/sdk": { - "version": "1.25.2", - "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.25.2.tgz", - "integrity": "sha512-LZFeo4F9M5qOhC/Uc1aQSrBHxMrvxett+9KLHt7OhcExtoiRN9DKgbZffMP/nxjutWDQpfMDfP3nkHI4X9ijww==", + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.26.0.tgz", + "integrity": "sha512-Y5RmPncpiDtTXDbLKswIJzTqu2hyBKxTNsgKqKclDbhIgg1wgtf1fRuvxgTnRfcnxtvvgbIEcqUOzZrJ6iSReg==", "dev": true, "license": "MIT", "dependencies": { - "@hono/node-server": "^1.19.7", + "@hono/node-server": "^1.19.9", "ajv": "^8.17.1", "ajv-formats": "^3.0.1", "content-type": "^1.0.5", @@ -2170,14 +2171,15 @@ "cross-spawn": "^7.0.5", "eventsource": "^3.0.2", "eventsource-parser": "^3.0.0", - "express": "^5.0.1", - "express-rate-limit": "^7.5.0", - "jose": "^6.1.1", + "express": "^5.2.1", + "express-rate-limit": "^8.2.1", + "hono": "^4.11.4", + "jose": "^6.1.3", "json-schema-typed": "^8.0.2", "pkce-challenge": "^5.0.0", "raw-body": "^3.0.0", "zod": "^3.25 || ^4.0", - "zod-to-json-schema": "^3.25.0" + "zod-to-json-schema": "^3.25.1" }, "engines": { "node": ">=18" @@ -2603,20 +2605,22 @@ } }, "node_modules/@napi-rs/wasm-runtime": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.1.tgz", - "integrity": "sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz", + "integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==", "dev": true, "license": "MIT", "optional": true, "dependencies": { - "@emnapi/core": "^1.7.1", - "@emnapi/runtime": "^1.7.1", "@tybys/wasm-util": "^0.10.1" }, "funding": { "type": "github", "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" } }, "node_modules/@npmcli/agent": { @@ -2637,9 +2641,9 @@ } }, "node_modules/@npmcli/agent/node_modules/lru-cache": { - "version": "11.2.4", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.4.tgz", - "integrity": "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==", + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", + "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==", "dev": true, "license": "BlueOak-1.0.0", "engines": { @@ -2660,18 +2664,18 @@ } }, "node_modules/@npmcli/git": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-7.0.1.tgz", - "integrity": "sha512-+XTFxK2jJF/EJJ5SoAzXk3qwIDfvFc5/g+bD274LZ7uY7LE8sTfG6Z8rOanPl2ZEvZWqNvmEdtXC25cE54VcoA==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-7.0.2.tgz", + "integrity": "sha512-oeolHDjExNAJAnlYP2qzNjMX/Xi9bmu78C9dIGr4xjobrSKbuMYCph8lTzn4vnW3NjIqVmw/f8BCfouqyJXlRg==", "dev": true, "license": "ISC", "dependencies": { + "@gar/promise-retry": "^1.0.0", "@npmcli/promise-spawn": "^9.0.0", "ini": "^6.0.0", "lru-cache": "^11.2.1", "npm-pick-manifest": "^11.0.1", "proc-log": "^6.0.0", - "promise-retry": "^2.0.1", "semver": "^7.3.5", "which": "^6.0.0" }, @@ -2680,19 +2684,19 @@ } }, "node_modules/@npmcli/git/node_modules/isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz", + "integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "engines": { - "node": ">=16" + "node": ">=20" } }, "node_modules/@npmcli/git/node_modules/lru-cache": { - "version": "11.2.4", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.4.tgz", - "integrity": "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==", + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", + "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==", "dev": true, "license": "BlueOak-1.0.0", "engines": { @@ -2700,13 +2704,13 @@ } }, "node_modules/@npmcli/git/node_modules/which": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-6.0.0.tgz", - "integrity": "sha512-f+gEpIKMR9faW/JgAgPK1D7mekkFoqbmiwvNzuhsHetni20QSgzg9Vhn0g2JSJkkfehQnqdUAx7/e15qS1lPxg==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz", + "integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==", "dev": true, "license": "ISC", "dependencies": { - "isexe": "^3.1.1" + "isexe": "^4.0.0" }, "bin": { "node-which": "bin/which.js" @@ -2743,9 +2747,9 @@ } }, "node_modules/@npmcli/package-json": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-7.0.4.tgz", - "integrity": "sha512-0wInJG3j/K40OJt/33ax47WfWMzZTm6OQxB9cDhTt5huCP2a9g2GnlsxmfN+PulItNPIpPrZ+kfwwUil7eHcZQ==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-7.0.5.tgz", + "integrity": "sha512-iVuTlG3ORq2iaVa1IWUxAO/jIp77tUKBhoMjuzYW2kL4MLN1bi/ofqkZ7D7OOwh8coAx1/S2ge0rMdGv8sLSOQ==", "dev": true, "license": "ISC", "dependencies": { @@ -2755,7 +2759,7 @@ "json-parse-even-better-errors": "^5.0.0", "proc-log": "^6.0.0", "semver": "^7.5.3", - "validate-npm-package-license": "^3.0.4" + "spdx-expression-parse": "^4.0.0" }, "engines": { "node": "^20.17.0 || >=22.9.0" @@ -2775,23 +2779,23 @@ } }, "node_modules/@npmcli/promise-spawn/node_modules/isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz", + "integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "engines": { - "node": ">=16" + "node": ">=20" } }, "node_modules/@npmcli/promise-spawn/node_modules/which": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-6.0.0.tgz", - "integrity": "sha512-f+gEpIKMR9faW/JgAgPK1D7mekkFoqbmiwvNzuhsHetni20QSgzg9Vhn0g2JSJkkfehQnqdUAx7/e15qS1lPxg==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz", + "integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==", "dev": true, "license": "ISC", "dependencies": { - "isexe": "^3.1.1" + "isexe": "^4.0.0" }, "bin": { "node-which": "bin/which.js" @@ -2811,9 +2815,9 @@ } }, "node_modules/@npmcli/run-script": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-10.0.3.tgz", - "integrity": "sha512-ER2N6itRkzWbbtVmZ9WKaWxVlKlOeBFF1/7xx+KA5J1xKa4JjUwBdb6tDpk0v1qA+d+VDwHI9qmLcXSWcmi+Rw==", + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-10.0.4.tgz", + "integrity": "sha512-mGUWr1uMnf0le2TwfOZY4SFxZGXGfm4Jtay/nwAa2FLNAKXUoUwaGwBMNH36UHPtinWfTSJ3nqFQr0091CxVGg==", "dev": true, "license": "ISC", "dependencies": { @@ -2821,43 +2825,16 @@ "@npmcli/package-json": "^7.0.0", "@npmcli/promise-spawn": "^9.0.0", "node-gyp": "^12.1.0", - "proc-log": "^6.0.0", - "which": "^6.0.0" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@npmcli/run-script/node_modules/isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16" - } - }, - "node_modules/@npmcli/run-script/node_modules/which": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-6.0.0.tgz", - "integrity": "sha512-f+gEpIKMR9faW/JgAgPK1D7mekkFoqbmiwvNzuhsHetni20QSgzg9Vhn0g2JSJkkfehQnqdUAx7/e15qS1lPxg==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^3.1.1" - }, - "bin": { - "node-which": "bin/which.js" + "proc-log": "^6.0.0" }, "engines": { "node": "^20.17.0 || >=22.9.0" } }, "node_modules/@oxc-project/types": { - "version": "0.106.0", - "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.106.0.tgz", - "integrity": "sha512-QdsH3rZq480VnOHSHgPYOhjL8O8LBdcnSjM408BpPCCUc0JYYZPG9Gafl9i3OcGk/7137o+gweb4cCv3WAUykg==", + "version": "0.113.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.113.0.tgz", + "integrity": "sha512-Tp3XmgxwNQ9pEN9vxgJBAqdRamHibi76iowQ38O2I4PMpcvNRQNVsU2n1x1nv9yh0XoTrGFzf7cZSGxmixxrhA==", "dev": true, "license": "MIT", "funding": { @@ -2865,9 +2842,9 @@ } }, "node_modules/@parcel/watcher": { - "version": "2.5.4", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.4.tgz", - "integrity": "sha512-WYa2tUVV5HiArWPB3ydlOc4R2ivq0IDrlqhMi3l7mVsFEXNcTfxYFPIHXHXIh/ca/y/V5N4E1zecyxdIBjYnkQ==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.6.tgz", + "integrity": "sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -2886,25 +2863,25 @@ "url": "https://opencollective.com/parcel" }, "optionalDependencies": { - "@parcel/watcher-android-arm64": "2.5.4", - "@parcel/watcher-darwin-arm64": "2.5.4", - "@parcel/watcher-darwin-x64": "2.5.4", - "@parcel/watcher-freebsd-x64": "2.5.4", - "@parcel/watcher-linux-arm-glibc": "2.5.4", - "@parcel/watcher-linux-arm-musl": "2.5.4", - "@parcel/watcher-linux-arm64-glibc": "2.5.4", - "@parcel/watcher-linux-arm64-musl": "2.5.4", - "@parcel/watcher-linux-x64-glibc": "2.5.4", - "@parcel/watcher-linux-x64-musl": "2.5.4", - "@parcel/watcher-win32-arm64": "2.5.4", - "@parcel/watcher-win32-ia32": "2.5.4", - "@parcel/watcher-win32-x64": "2.5.4" + "@parcel/watcher-android-arm64": "2.5.6", + "@parcel/watcher-darwin-arm64": "2.5.6", + "@parcel/watcher-darwin-x64": "2.5.6", + "@parcel/watcher-freebsd-x64": "2.5.6", + "@parcel/watcher-linux-arm-glibc": "2.5.6", + "@parcel/watcher-linux-arm-musl": "2.5.6", + "@parcel/watcher-linux-arm64-glibc": "2.5.6", + "@parcel/watcher-linux-arm64-musl": "2.5.6", + "@parcel/watcher-linux-x64-glibc": "2.5.6", + "@parcel/watcher-linux-x64-musl": "2.5.6", + "@parcel/watcher-win32-arm64": "2.5.6", + "@parcel/watcher-win32-ia32": "2.5.6", + "@parcel/watcher-win32-x64": "2.5.6" } }, "node_modules/@parcel/watcher-android-arm64": { - "version": "2.5.4", - "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.4.tgz", - "integrity": "sha512-hoh0vx4v+b3BNI7Cjoy2/B0ARqcwVNrzN/n7DLq9ZB4I3lrsvhrkCViJyfTj/Qi5xM9YFiH4AmHGK6pgH1ss7g==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz", + "integrity": "sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==", "cpu": [ "arm64" ], @@ -2923,9 +2900,9 @@ } }, "node_modules/@parcel/watcher-darwin-arm64": { - "version": "2.5.4", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.4.tgz", - "integrity": "sha512-kphKy377pZiWpAOyTgQYPE5/XEKVMaj6VUjKT5VkNyUJlr2qZAn8gIc7CPzx+kbhvqHDT9d7EqdOqRXT6vk0zw==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.6.tgz", + "integrity": "sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==", "cpu": [ "arm64" ], @@ -2944,9 +2921,9 @@ } }, "node_modules/@parcel/watcher-darwin-x64": { - "version": "2.5.4", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.4.tgz", - "integrity": "sha512-UKaQFhCtNJW1A9YyVz3Ju7ydf6QgrpNQfRZ35wNKUhTQ3dxJ/3MULXN5JN/0Z80V/KUBDGa3RZaKq1EQT2a2gg==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.6.tgz", + "integrity": "sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==", "cpu": [ "x64" ], @@ -2965,9 +2942,9 @@ } }, "node_modules/@parcel/watcher-freebsd-x64": { - "version": "2.5.4", - "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.4.tgz", - "integrity": "sha512-Dib0Wv3Ow/m2/ttvLdeI2DBXloO7t3Z0oCp4bAb2aqyqOjKPPGrg10pMJJAQ7tt8P4V2rwYwywkDhUia/FgS+Q==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.6.tgz", + "integrity": "sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng==", "cpu": [ "x64" ], @@ -2986,9 +2963,9 @@ } }, "node_modules/@parcel/watcher-linux-arm-glibc": { - "version": "2.5.4", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.4.tgz", - "integrity": "sha512-I5Vb769pdf7Q7Sf4KNy8Pogl/URRCKu9ImMmnVKYayhynuyGYMzuI4UOWnegQNa2sGpsPSbzDsqbHNMyeyPCgw==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.6.tgz", + "integrity": "sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ==", "cpu": [ "arm" ], @@ -3007,9 +2984,9 @@ } }, "node_modules/@parcel/watcher-linux-arm-musl": { - "version": "2.5.4", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.4.tgz", - "integrity": "sha512-kGO8RPvVrcAotV4QcWh8kZuHr9bXi9a3bSZw7kFarYR0+fGliU7hd/zevhjw8fnvIKG3J9EO5G6sXNGCSNMYPQ==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.6.tgz", + "integrity": "sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==", "cpu": [ "arm" ], @@ -3028,9 +3005,9 @@ } }, "node_modules/@parcel/watcher-linux-arm64-glibc": { - "version": "2.5.4", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.4.tgz", - "integrity": "sha512-KU75aooXhqGFY2W5/p8DYYHt4hrjHZod8AhcGAmhzPn/etTa+lYCDB2b1sJy3sWJ8ahFVTdy+EbqSBvMx3iFlw==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.6.tgz", + "integrity": "sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==", "cpu": [ "arm64" ], @@ -3049,9 +3026,9 @@ } }, "node_modules/@parcel/watcher-linux-arm64-musl": { - "version": "2.5.4", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.4.tgz", - "integrity": "sha512-Qx8uNiIekVutnzbVdrgSanM+cbpDD3boB1f8vMtnuG5Zau4/bdDbXyKwIn0ToqFhIuob73bcxV9NwRm04/hzHQ==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.6.tgz", + "integrity": "sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==", "cpu": [ "arm64" ], @@ -3070,9 +3047,9 @@ } }, "node_modules/@parcel/watcher-linux-x64-glibc": { - "version": "2.5.4", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.4.tgz", - "integrity": "sha512-UYBQvhYmgAv61LNUn24qGQdjtycFBKSK3EXr72DbJqX9aaLbtCOO8+1SkKhD/GNiJ97ExgcHBrukcYhVjrnogA==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.6.tgz", + "integrity": "sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==", "cpu": [ "x64" ], @@ -3091,9 +3068,9 @@ } }, "node_modules/@parcel/watcher-linux-x64-musl": { - "version": "2.5.4", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.4.tgz", - "integrity": "sha512-YoRWCVgxv8akZrMhdyVi6/TyoeeMkQ0PGGOf2E4omODrvd1wxniXP+DBynKoHryStks7l+fDAMUBRzqNHrVOpg==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.6.tgz", + "integrity": "sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==", "cpu": [ "x64" ], @@ -3112,9 +3089,9 @@ } }, "node_modules/@parcel/watcher-win32-arm64": { - "version": "2.5.4", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.4.tgz", - "integrity": "sha512-iby+D/YNXWkiQNYcIhg8P5hSjzXEHaQrk2SLrWOUD7VeC4Ohu0WQvmV+HDJokZVJ2UjJ4AGXW3bx7Lls9Ln4TQ==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.6.tgz", + "integrity": "sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==", "cpu": [ "arm64" ], @@ -3133,9 +3110,9 @@ } }, "node_modules/@parcel/watcher-win32-ia32": { - "version": "2.5.4", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.4.tgz", - "integrity": "sha512-vQN+KIReG0a2ZDpVv8cgddlf67J8hk1WfZMMP7sMeZmJRSmEax5xNDNWKdgqSe2brOKTQQAs3aCCUal2qBHAyg==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.6.tgz", + "integrity": "sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g==", "cpu": [ "ia32" ], @@ -3154,9 +3131,9 @@ } }, "node_modules/@parcel/watcher-win32-x64": { - "version": "2.5.4", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.4.tgz", - "integrity": "sha512-3A6efb6BOKwyw7yk9ro2vus2YTt2nvcd56AuzxdMiVOxL9umDyN5PKkKfZ/gZ9row41SjVmTVQNWQhaRRGpOKw==", + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.6.tgz", + "integrity": "sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw==", "cpu": [ "x64" ], @@ -3183,9 +3160,9 @@ "optional": true }, "node_modules/@rolldown/binding-android-arm64": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-beta.58.tgz", - "integrity": "sha512-mWj5eE4Qc8TbPdGGaaLvBb9XfDPvE1EmZkJQgiGKwchkWH4oAJcRAKMTw7ZHnb1L+t7Ah41sBkAecaIsuUgsug==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.4.tgz", + "integrity": "sha512-vRq9f4NzvbdZavhQbjkJBx7rRebDKYR9zHfO/Wg486+I7bSecdUapzCm5cyXoK+LHokTxgSq7A5baAXUZkIz0w==", "cpu": [ "arm64" ], @@ -3200,9 +3177,9 @@ } }, "node_modules/@rolldown/binding-darwin-arm64": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-beta.58.tgz", - "integrity": "sha512-wFxUymI/5R8bH8qZFYDfAxAN9CyISEIYke+95oZPiv6EWo88aa5rskjVcCpKA532R+klFmdqjbbaD56GNmTF4Q==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.4.tgz", + "integrity": "sha512-kFgEvkWLqt3YCgKB5re9RlIrx9bRsvyVUnaTakEpOPuLGzLpLapYxE9BufJNvPg8GjT6mB1alN4yN1NjzoeM8Q==", "cpu": [ "arm64" ], @@ -3217,9 +3194,9 @@ } }, "node_modules/@rolldown/binding-darwin-x64": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-beta.58.tgz", - "integrity": "sha512-ybp3MkPj23VDV9PhtRwdU5qrGhlViWRV5BjKwO6epaSlUD5lW0WyY+roN3ZAzbma/9RrMTgZ/a/gtQq8YXOcqw==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.4.tgz", + "integrity": "sha512-JXmaOJGsL/+rsmMfutcDjxWM2fTaVgCHGoXS7nE8Z3c9NAYjGqHvXrAhMUZvMpHS/k7Mg+X7n/MVKb7NYWKKww==", "cpu": [ "x64" ], @@ -3234,9 +3211,9 @@ } }, "node_modules/@rolldown/binding-freebsd-x64": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-beta.58.tgz", - "integrity": "sha512-Evxj3yh7FWvyklUYZa0qTVT9N2zX9TPDqGF056hl8hlCZ9/ndQ2xMv6uw9PD1VlLpukbsqL+/C6M0qwipL0QMg==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.4.tgz", + "integrity": "sha512-ep3Catd6sPnHTM0P4hNEvIv5arnDvk01PfyJIJ+J3wVCG1eEaPo09tvFqdtcaTrkwQy0VWR24uz+cb4IsK53Qw==", "cpu": [ "x64" ], @@ -3251,9 +3228,9 @@ } }, "node_modules/@rolldown/binding-linux-arm-gnueabihf": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-beta.58.tgz", - "integrity": "sha512-tYeXprDOrEgVHUbPXH6MPso4cM/c6RTkmJNICMQlYdki4hGMh92aj3yU6CKs+4X5gfG0yj5kVUw/L4M685SYag==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.4.tgz", + "integrity": "sha512-LwA5ayKIpnsgXJEwWc3h8wPiS33NMIHd9BhsV92T8VetVAbGe2qXlJwNVDGHN5cOQ22R9uYvbrQir2AB+ntT2w==", "cpu": [ "arm" ], @@ -3268,9 +3245,9 @@ } }, "node_modules/@rolldown/binding-linux-arm64-gnu": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-beta.58.tgz", - "integrity": "sha512-N78vmZzP6zG967Ohr+MasCjmKtis0geZ1SOVmxrA0/bklTQSzH5kHEjW5Qn+i1taFno6GEre1E40v0wuWsNOQw==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.4.tgz", + "integrity": "sha512-AC1WsGdlV1MtGay/OQ4J9T7GRadVnpYRzTcygV1hKnypbYN20Yh4t6O1Sa2qRBMqv1etulUknqXjc3CTIsBu6A==", "cpu": [ "arm64" ], @@ -3285,9 +3262,9 @@ } }, "node_modules/@rolldown/binding-linux-arm64-musl": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-beta.58.tgz", - "integrity": "sha512-l+p4QVtG72C7wI2SIkNQw/KQtSjuYwS3rV6AKcWrRBF62ClsFUcif5vLaZIEbPrCXu5OFRXigXFJnxYsVVZqdQ==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.4.tgz", + "integrity": "sha512-lU+6rgXXViO61B4EudxtVMXSOfiZONR29Sys5VGSetUY7X8mg9FCKIIjcPPj8xNDeYzKl+H8F/qSKOBVFJChCQ==", "cpu": [ "arm64" ], @@ -3302,9 +3279,9 @@ } }, "node_modules/@rolldown/binding-linux-x64-gnu": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-beta.58.tgz", - "integrity": "sha512-urzJX0HrXxIh0FfxwWRjfPCMeInU9qsImLQxHBgLp5ivji1EEUnOfux8KxPPnRQthJyneBrN2LeqUix9DYrNaQ==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.4.tgz", + "integrity": "sha512-DZaN1f0PGp/bSvKhtw50pPsnln4T13ycDq1FrDWRiHmWt1JeW+UtYg9touPFf8yt993p8tS2QjybpzKNTxYEwg==", "cpu": [ "x64" ], @@ -3319,9 +3296,9 @@ } }, "node_modules/@rolldown/binding-linux-x64-musl": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-beta.58.tgz", - "integrity": "sha512-7ijfVK3GISnXIwq/1FZo+KyAUJjL3kWPJ7rViAL6MWeEBhEgRzJ0yEd9I8N9aut8Y8ab+EKFJyRNMWZuUBwQ0A==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.4.tgz", + "integrity": "sha512-RnGxwZLN7fhMMAItnD6dZ7lvy+TI7ba+2V54UF4dhaWa/p8I/ys1E73KO6HmPmgz92ZkfD8TXS1IMV8+uhbR9g==", "cpu": [ "x64" ], @@ -3336,9 +3313,9 @@ } }, "node_modules/@rolldown/binding-openharmony-arm64": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-beta.58.tgz", - "integrity": "sha512-/m7sKZCS+cUULbzyJTIlv8JbjNohxbpAOA6cM+lgWgqVzPee3U6jpwydrib328JFN/gF9A99IZEnuGYqEDJdww==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.4.tgz", + "integrity": "sha512-6lcI79+X8klGiGd8yHuTgQRjuuJYNggmEml+RsyN596P23l/zf9FVmJ7K0KVKkFAeYEdg0iMUKyIxiV5vebDNQ==", "cpu": [ "arm64" ], @@ -3353,9 +3330,9 @@ } }, "node_modules/@rolldown/binding-wasm32-wasi": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-beta.58.tgz", - "integrity": "sha512-6SZk7zMgv+y3wFFQ9qE5P9NnRHcRsptL1ypmudD26PDY+PvFCvfHRkJNfclWnvacVGxjowr7JOL3a9fd1wWhUw==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.4.tgz", + "integrity": "sha512-wz7ohsKCAIWy91blZ/1FlpPdqrsm1xpcEOQVveWoL6+aSPKL4VUcoYmmzuLTssyZxRpEwzuIxL/GDsvpjaBtOw==", "cpu": [ "wasm32" ], @@ -3370,9 +3347,9 @@ } }, "node_modules/@rolldown/binding-win32-arm64-msvc": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-beta.58.tgz", - "integrity": "sha512-sFqfYPnBZ6xBhMkadB7UD0yjEDRvs7ipR3nCggblN+N4ODCXY6qhg/bKL39+W+dgQybL7ErD4EGERVbW9DAWvg==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.4.tgz", + "integrity": "sha512-cfiMrfuWCIgsFmcVG0IPuO6qTRHvF7NuG3wngX1RZzc6dU8FuBFb+J3MIR5WrdTNozlumfgL4cvz+R4ozBCvsQ==", "cpu": [ "arm64" ], @@ -3387,9 +3364,9 @@ } }, "node_modules/@rolldown/binding-win32-x64-msvc": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-beta.58.tgz", - "integrity": "sha512-AnFWJdAqB8+IDPcGrATYs67Kik/6tnndNJV2jGRmwlbeNiQQ8GhRJU8ETRlINfII0pqi9k4WWLnb00p1QCxw/Q==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.4.tgz", + "integrity": "sha512-p6UeR9y7ht82AH57qwGuFYn69S6CZ7LLKdCKy/8T3zS9VTrJei2/CGsTUV45Da4Z9Rbhc7G4gyWQ/Ioamqn09g==", "cpu": [ "x64" ], @@ -3404,16 +3381,16 @@ } }, "node_modules/@rolldown/pluginutils": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.58.tgz", - "integrity": "sha512-qWhDs6yFGR5xDfdrwiSa3CWGIHxD597uGE/A9xGqytBjANvh4rLCTTkq7szhMV4+Ygh+PMS90KVJ8xWG/TkX4w==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.4.tgz", + "integrity": "sha512-1BrrmTu0TWfOP1riA8uakjFc9bpIUGzVKETsOtzY39pPga8zELGDl8eu1Dx7/gjM5CAz14UknsUMpBO8L+YntQ==", "dev": true, "license": "MIT" }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.55.1.tgz", - "integrity": "sha512-9R0DM/ykwfGIlNu6+2U09ga0WXeZ9MRC2Ter8jnz8415VbuIykVuc6bhdrbORFZANDmTDvq26mJrEVTl8TdnDg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.60.2.tgz", + "integrity": "sha512-dnlp69efPPg6Uaw2dVqzWRfAWRnYVb1XJ8CyyhIbZeaq4CA5/mLeZ1IEt9QqQxmbdvagjLIm2ZL8BxXv5lH4Yw==", "cpu": [ "arm" ], @@ -3425,9 +3402,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.55.1.tgz", - "integrity": "sha512-eFZCb1YUqhTysgW3sj/55du5cG57S7UTNtdMjCW7LwVcj3dTTcowCsC8p7uBdzKsZYa8J7IDE8lhMI+HX1vQvg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.60.2.tgz", + "integrity": "sha512-OqZTwDRDchGRHHm/hwLOL7uVPB9aUvI0am/eQuWMNyFHf5PSEQmyEeYYheA0EPPKUO/l0uigCp+iaTjoLjVoHg==", "cpu": [ "arm64" ], @@ -3439,9 +3416,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.55.1.tgz", - "integrity": "sha512-p3grE2PHcQm2e8PSGZdzIhCKbMCw/xi9XvMPErPhwO17vxtvCN5FEA2mSLgmKlCjHGMQTP6phuQTYWUnKewwGg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.60.2.tgz", + "integrity": "sha512-UwRE7CGpvSVEQS8gUMBe1uADWjNnVgP3Iusyda1nSRwNDCsRjnGc7w6El6WLQsXmZTbLZx9cecegumcitNfpmA==", "cpu": [ "arm64" ], @@ -3453,9 +3430,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.55.1.tgz", - "integrity": "sha512-rDUjG25C9qoTm+e02Esi+aqTKSBYwVTaoS1wxcN47/Luqef57Vgp96xNANwt5npq9GDxsH7kXxNkJVEsWEOEaQ==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.60.2.tgz", + "integrity": "sha512-gjEtURKLCC5VXm1I+2i1u9OhxFsKAQJKTVB8WvDAHF+oZlq0GTVFOlTlO1q3AlCTE/DF32c16ESvfgqR7343/g==", "cpu": [ "x64" ], @@ -3467,9 +3444,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.55.1.tgz", - "integrity": "sha512-+JiU7Jbp5cdxekIgdte0jfcu5oqw4GCKr6i3PJTlXTCU5H5Fvtkpbs4XJHRmWNXF+hKmn4v7ogI5OQPaupJgOg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.60.2.tgz", + "integrity": "sha512-Bcl6CYDeAgE70cqZaMojOi/eK63h5Me97ZqAQoh77VPjMysA/4ORQBRGo3rRy45x4MzVlU9uZxs8Uwy7ZaKnBw==", "cpu": [ "arm64" ], @@ -3481,9 +3458,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.55.1.tgz", - "integrity": "sha512-V5xC1tOVWtLLmr3YUk2f6EJK4qksksOYiz/TCsFHu/R+woubcLWdC9nZQmwjOAbmExBIVKsm1/wKmEy4z4u4Bw==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.60.2.tgz", + "integrity": "sha512-LU+TPda3mAE2QB0/Hp5VyeKJivpC6+tlOXd1VMoXV/YFMvk/MNk5iXeBfB4MQGRWyOYVJ01625vjkr0Az98OJQ==", "cpu": [ "x64" ], @@ -3495,9 +3472,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.55.1.tgz", - "integrity": "sha512-Rn3n+FUk2J5VWx+ywrG/HGPTD9jXNbicRtTM11e/uorplArnXZYsVifnPPqNNP5BsO3roI4n8332ukpY/zN7rQ==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.60.2.tgz", + "integrity": "sha512-2QxQrM+KQ7DAW4o22j+XZ6RKdxjLD7BOWTP0Bv0tmjdyhXSsr2Ul1oJDQqh9Zf5qOwTuTc7Ek83mOFaKnodPjg==", "cpu": [ "arm" ], @@ -3509,9 +3486,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.55.1.tgz", - "integrity": "sha512-grPNWydeKtc1aEdrJDWk4opD7nFtQbMmV7769hiAaYyUKCT1faPRm2av8CX1YJsZ4TLAZcg9gTR1KvEzoLjXkg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.60.2.tgz", + "integrity": "sha512-TbziEu2DVsTEOPif2mKWkMeDMLoYjx95oESa9fkQQK7r/Orta0gnkcDpzwufEcAO2BLBsD7mZkXGFqEdMRRwfw==", "cpu": [ "arm" ], @@ -3523,9 +3500,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.55.1.tgz", - "integrity": "sha512-a59mwd1k6x8tXKcUxSyISiquLwB5pX+fJW9TkWU46lCqD/GRDe9uDN31jrMmVP3feI3mhAdvcCClhV8V5MhJFQ==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.60.2.tgz", + "integrity": "sha512-bO/rVDiDUuM2YfuCUwZ1t1cP+/yqjqz+Xf2VtkdppefuOFS2OSeAfgafaHNkFn0t02hEyXngZkxtGqXcXwO8Rg==", "cpu": [ "arm64" ], @@ -3537,9 +3514,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.55.1.tgz", - "integrity": "sha512-puS1MEgWX5GsHSoiAsF0TYrpomdvkaXm0CofIMG5uVkP6IBV+ZO9xhC5YEN49nsgYo1DuuMquF9+7EDBVYu4uA==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.60.2.tgz", + "integrity": "sha512-hr26p7e93Rl0Za+JwW7EAnwAvKkehh12BU1Llm9Ykiibg4uIr2rbpxG9WCf56GuvidlTG9KiiQT/TXT1yAWxTA==", "cpu": [ "arm64" ], @@ -3551,9 +3528,9 @@ ] }, "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.55.1.tgz", - "integrity": "sha512-r3Wv40in+lTsULSb6nnoudVbARdOwb2u5fpeoOAZjFLznp6tDU8kd+GTHmJoqZ9lt6/Sys33KdIHUaQihFcu7g==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.60.2.tgz", + "integrity": "sha512-pOjB/uSIyDt+ow3k/RcLvUAOGpysT2phDn7TTUB3n75SlIgZzM6NKAqlErPhoFU+npgY3/n+2HYIQVbF70P9/A==", "cpu": [ "loong64" ], @@ -3565,9 +3542,9 @@ ] }, "node_modules/@rollup/rollup-linux-loong64-musl": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.55.1.tgz", - "integrity": "sha512-MR8c0+UxAlB22Fq4R+aQSPBayvYa3+9DrwG/i1TKQXFYEaoW3B5b/rkSRIypcZDdWjWnpcvxbNaAJDcSbJU3Lw==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.60.2.tgz", + "integrity": "sha512-2/w+q8jszv9Ww1c+6uJT3OwqhdmGP2/4T17cu8WuwyUuuaCDDJ2ojdyYwZzCxx0GcsZBhzi3HmH+J5pZNXnd+Q==", "cpu": [ "loong64" ], @@ -3579,9 +3556,9 @@ ] }, "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.55.1.tgz", - "integrity": "sha512-3KhoECe1BRlSYpMTeVrD4sh2Pw2xgt4jzNSZIIPLFEsnQn9gAnZagW9+VqDqAHgm1Xc77LzJOo2LdigS5qZ+gw==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.60.2.tgz", + "integrity": "sha512-11+aL5vKheYgczxtPVVRhdptAM2H7fcDR5Gw4/bTcteuZBlH4oP9f5s9zYO9aGZvoGeBpqXI/9TZZihZ609wKw==", "cpu": [ "ppc64" ], @@ -3593,9 +3570,9 @@ ] }, "node_modules/@rollup/rollup-linux-ppc64-musl": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.55.1.tgz", - "integrity": "sha512-ziR1OuZx0vdYZZ30vueNZTg73alF59DicYrPViG0NEgDVN8/Jl87zkAPu4u6VjZST2llgEUjaiNl9JM6HH1Vdw==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.60.2.tgz", + "integrity": "sha512-i16fokAGK46IVZuV8LIIwMdtqhin9hfYkCh8pf8iC3QU3LpwL+1FSFGej+O7l3E/AoknL6Dclh2oTdnRMpTzFQ==", "cpu": [ "ppc64" ], @@ -3607,9 +3584,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.55.1.tgz", - "integrity": "sha512-uW0Y12ih2XJRERZ4jAfKamTyIHVMPQnTZcQjme2HMVDAHY4amf5u414OqNYC+x+LzRdRcnIG1YodLrrtA8xsxw==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.60.2.tgz", + "integrity": "sha512-49FkKS6RGQoriDSK/6E2GkAsAuU5kETFCh7pG4yD/ylj9rKhTmO3elsnmBvRD4PgJPds5W2PkhC82aVwmUcJ7A==", "cpu": [ "riscv64" ], @@ -3621,9 +3598,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.55.1.tgz", - "integrity": "sha512-u9yZ0jUkOED1BFrqu3BwMQoixvGHGZ+JhJNkNKY/hyoEgOwlqKb62qu+7UjbPSHYjiVy8kKJHvXKv5coH4wDeg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.60.2.tgz", + "integrity": "sha512-mjYNkHPfGpUR00DuM1ZZIgs64Hpf4bWcz9Z41+4Q+pgDx73UwWdAYyf6EG/lRFldmdHHzgrYyge5akFUW0D3mQ==", "cpu": [ "riscv64" ], @@ -3635,9 +3612,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.55.1.tgz", - "integrity": "sha512-/0PenBCmqM4ZUd0190j7J0UsQ/1nsi735iPRakO8iPciE7BQ495Y6msPzaOmvx0/pn+eJVVlZrNrSh4WSYLxNg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.60.2.tgz", + "integrity": "sha512-ALyvJz965BQk8E9Al/JDKKDLH2kfKFLTGMlgkAbbYtZuJt9LU8DW3ZoDMCtQpXAltZxwBHevXz5u+gf0yA0YoA==", "cpu": [ "s390x" ], @@ -3649,9 +3626,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.55.1.tgz", - "integrity": "sha512-a8G4wiQxQG2BAvo+gU6XrReRRqj+pLS2NGXKm8io19goR+K8lw269eTrPkSdDTALwMmJp4th2Uh0D8J9bEV1vg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.60.2.tgz", + "integrity": "sha512-UQjrkIdWrKI626Du8lCQ6MJp/6V1LAo2bOK9OTu4mSn8GGXIkPXk/Vsp4bLHCd9Z9Iz2OTEaokUE90VweJgIYQ==", "cpu": [ "x64" ], @@ -3663,9 +3640,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.55.1.tgz", - "integrity": "sha512-bD+zjpFrMpP/hqkfEcnjXWHMw5BIghGisOKPj+2NaNDuVT+8Ds4mPf3XcPHuat1tz89WRL+1wbcxKY3WSbiT7w==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.60.2.tgz", + "integrity": "sha512-bTsRGj6VlSdn/XD4CGyzMnzaBs9bsRxy79eTqTCBsA8TMIEky7qg48aPkvJvFe1HyzQ5oMZdg7AnVlWQSKLTnw==", "cpu": [ "x64" ], @@ -3677,9 +3654,9 @@ ] }, "node_modules/@rollup/rollup-openbsd-x64": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.55.1.tgz", - "integrity": "sha512-eLXw0dOiqE4QmvikfQ6yjgkg/xDM+MdU9YJuP4ySTibXU0oAvnEWXt7UDJmD4UkYialMfOGFPJnIHSe/kdzPxg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.60.2.tgz", + "integrity": "sha512-6d4Z3534xitaA1FcMWP7mQPq5zGwBmGbhphh2DwaA1aNIXUu3KTOfwrWpbwI4/Gr0uANo7NTtaykFyO2hPuFLg==", "cpu": [ "x64" ], @@ -3691,9 +3668,9 @@ ] }, "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.55.1.tgz", - "integrity": "sha512-xzm44KgEP11te3S2HCSyYf5zIzWmx3n8HDCc7EE59+lTcswEWNpvMLfd9uJvVX8LCg9QWG67Xt75AuHn4vgsXw==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.60.2.tgz", + "integrity": "sha512-NetAg5iO2uN7eB8zE5qrZ3CSil+7IJt4WDFLcC75Ymywq1VZVD6qJ6EvNLjZ3rEm6gB7XW5JdT60c6MN35Z85Q==", "cpu": [ "arm64" ], @@ -3705,9 +3682,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.55.1.tgz", - "integrity": "sha512-yR6Bl3tMC/gBok5cz/Qi0xYnVbIxGx5Fcf/ca0eB6/6JwOY+SRUcJfI0OpeTpPls7f194as62thCt/2BjxYN8g==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.60.2.tgz", + "integrity": "sha512-NCYhOotpgWZ5kdxCZsv6Iudx0wX8980Q/oW4pNFNihpBKsDbEA1zpkfxJGC0yugsUuyDZ7gL37dbzwhR0VI7pQ==", "cpu": [ "arm64" ], @@ -3719,9 +3696,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.55.1.tgz", - "integrity": "sha512-3fZBidchE0eY0oFZBnekYCfg+5wAB0mbpCBuofh5mZuzIU/4jIVkbESmd2dOsFNS78b53CYv3OAtwqkZZmU5nA==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.60.2.tgz", + "integrity": "sha512-RXsaOqXxfoUBQoOgvmmijVxJnW2IGB0eoMO7F8FAjaj0UTywUO/luSqimWBJn04WNgUkeNhh7fs7pESXajWmkg==", "cpu": [ "ia32" ], @@ -3733,9 +3710,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.55.1.tgz", - "integrity": "sha512-xGGY5pXj69IxKb4yv/POoocPy/qmEGhimy/FoTpTSVju3FYXUQQMFCaZZXJVidsmGxRioZAwpThl/4zX41gRKg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.60.2.tgz", + "integrity": "sha512-qdAzEULD+/hzObedtmV6iBpdL5TIbKVztGiK7O3/KYSf+HIzU257+MX1EXJcyIiDbMAqmbwaufcYPvyRryeZtA==", "cpu": [ "x64" ], @@ -3747,9 +3724,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.55.1.tgz", - "integrity": "sha512-SPEpaL6DX4rmcXtnhdrQYgzQ5W2uW3SCJch88lB2zImhJRhIIK44fkUrgIV/Q8yUNfw5oyZ5vkeQsZLhCb06lw==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.60.2.tgz", + "integrity": "sha512-Nd/SgG27WoA9e+/TdK74KnHz852TLa94ovOYySo/yMPuTmpckK/jIF2jSwS3g7ELSKXK13/cVdmg1Z/DaCWKxA==", "cpu": [ "x64" ], @@ -3761,14 +3738,14 @@ ] }, "node_modules/@schematics/angular": { - "version": "21.1.0", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.1.0.tgz", - "integrity": "sha512-gXf3gO5SeU+tiPHxXeQvdbua4C4/V+KH43JH2PYPxaNCD2HGo1uV0pfyNSNgcVF21voKlbAQ13YRrNDh7z5Kig==", + "version": "21.2.8", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.2.8.tgz", + "integrity": "sha512-Kx3PmuZIXhwQqAqoERAXqDCORHFbKTMd+eflXwZfpKkrbWJTVPqKpL4R9RVdEr2E6/VEXDFrdL1whIvGd1xmDg==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "21.1.0", - "@angular-devkit/schematics": "21.1.0", + "@angular-devkit/core": "21.2.8", + "@angular-devkit/schematics": "21.2.8", "jsonc-parser": "3.3.1" }, "engines": { @@ -3791,9 +3768,9 @@ } }, "node_modules/@sigstore/core": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-3.1.0.tgz", - "integrity": "sha512-o5cw1QYhNQ9IroioJxpzexmPjfCe7gzafd2RY3qnMpxr4ZEja+Jad/U8sgFpaue6bOaF+z7RVkyKVV44FN+N8A==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-3.2.0.tgz", + "integrity": "sha512-kxHrDQ9YgfrWUSXU0cjsQGv8JykOFZQ9ErNKbFPWzk3Hgpwu8x2hHrQ9IdA8yl+j9RTLTC3sAF3Tdq1IQCP4oA==", "dev": true, "license": "Apache-2.0", "engines": { @@ -3801,9 +3778,9 @@ } }, "node_modules/@sigstore/protobuf-specs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.5.0.tgz", - "integrity": "sha512-MM8XIwUjN2bwvCg1QvrMtbBmpcSHrkhFSCu1D11NyPvDQ25HEc4oG5/OcQfd/Tlf/OxmKWERDj0zGE23jQaMwA==", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.5.1.tgz", + "integrity": "sha512-/ScWUhhoFasJsSRGTVBwId1loQjjnjAfE4djL6ZhrXRpNCmPTnUKF5Jokd58ILseOMjzET3UrMOtJPS9sYeI0g==", "dev": true, "license": "Apache-2.0", "engines": { @@ -3811,27 +3788,27 @@ } }, "node_modules/@sigstore/sign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-4.1.0.tgz", - "integrity": "sha512-Vx1RmLxLGnSUqx/o5/VsCjkuN5L7y+vxEEwawvc7u+6WtX2W4GNa7b9HEjmcRWohw/d6BpATXmvOwc78m+Swdg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-4.1.1.tgz", + "integrity": "sha512-Hf4xglukg0XXQ2RiD5vSoLjdPe8OBUPA8XeVjUObheuDcWdYWrnH/BNmxZCzkAy68MzmNCxXLeurJvs6hcP2OQ==", "dev": true, "license": "Apache-2.0", "dependencies": { + "@gar/promise-retry": "^1.0.2", "@sigstore/bundle": "^4.0.0", - "@sigstore/core": "^3.1.0", + "@sigstore/core": "^3.2.0", "@sigstore/protobuf-specs": "^0.5.0", - "make-fetch-happen": "^15.0.3", - "proc-log": "^6.1.0", - "promise-retry": "^2.0.1" + "make-fetch-happen": "^15.0.4", + "proc-log": "^6.1.0" }, "engines": { "node": "^20.17.0 || >=22.9.0" } }, "node_modules/@sigstore/tuf": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-4.0.1.tgz", - "integrity": "sha512-OPZBg8y5Vc9yZjmWCHrlWPMBqW5yd8+wFNl+thMdtcWz3vjVSoJQutF8YkrzI0SLGnkuFof4HSsWUhXrf219Lw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-4.0.2.tgz", + "integrity": "sha512-TCAzTy0xzdP79EnxSjq9KQ3eaR7+FmudLC6eRKknVKZbV7ZNlGLClAAQb/HMNJ5n2OBNk2GT1tEmU0xuPr+SLQ==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -3924,9 +3901,9 @@ "license": "MIT" }, "node_modules/@vitejs/plugin-basic-ssl": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-2.1.0.tgz", - "integrity": "sha512-dOxxrhgyDIEUADhb/8OlV9JIqYLgos03YorAueTIeOUskLJSEsfwCByjbu98ctXitUN3znXKp0bYD/WHSudCeA==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-2.1.4.tgz", + "integrity": "sha512-HXciTXN/sDBYWgeAD4V4s0DN0g72x5mlxQhHxtYu3Tt8BLa6MzcJZUyDVFCdtjNs3bfENVHVzOsmooTVuNgAAw==", "dev": true, "license": "MIT", "engines": { @@ -3937,31 +3914,31 @@ } }, "node_modules/@vitest/expect": { - "version": "4.0.17", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.0.17.tgz", - "integrity": "sha512-mEoqP3RqhKlbmUmntNDDCJeTDavDR+fVYkSOw8qRwJFaW/0/5zA9zFeTrHqNtcmwh6j26yMmwx2PqUDPzt5ZAQ==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.5.tgz", + "integrity": "sha512-PWBaRY5JoKuRnHlUHfpV/KohFylaDZTupcXN1H9vYryNLOnitSw60Mw9IAE2r67NbwwzBw/Cc/8q9BK3kIX8Kw==", "dev": true, "license": "MIT", "dependencies": { - "@standard-schema/spec": "^1.0.0", + "@standard-schema/spec": "^1.1.0", "@types/chai": "^5.2.2", - "@vitest/spy": "4.0.17", - "@vitest/utils": "4.0.17", - "chai": "^6.2.1", - "tinyrainbow": "^3.0.3" + "@vitest/spy": "4.1.5", + "@vitest/utils": "4.1.5", + "chai": "^6.2.2", + "tinyrainbow": "^3.1.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/mocker": { - "version": "4.0.17", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.0.17.tgz", - "integrity": "sha512-+ZtQhLA3lDh1tI2wxe3yMsGzbp7uuJSWBM1iTIKCbppWTSBN09PUC+L+fyNlQApQoR+Ps8twt2pbSSXg2fQVEQ==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.5.tgz", + "integrity": "sha512-/x2EmFC4mT4NNzqvC3fmesuV97w5FC903KPmey4gsnJiMQ3Be1IlDKVaDaG8iqaLFHqJ2FVEkxZk5VmeLjIItw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "4.0.17", + "@vitest/spy": "4.1.5", "estree-walker": "^3.0.3", "magic-string": "^0.30.21" }, @@ -3970,7 +3947,7 @@ }, "peerDependencies": { "msw": "^2.4.9", - "vite": "^6.0.0 || ^7.0.0-0" + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "msw": { @@ -3982,26 +3959,26 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "4.0.17", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.0.17.tgz", - "integrity": "sha512-Ah3VAYmjcEdHg6+MwFE17qyLqBHZ+ni2ScKCiW2XrlSBV4H3Z7vYfPfz7CWQ33gyu76oc0Ai36+kgLU3rfF4nw==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.5.tgz", + "integrity": "sha512-7I3q6l5qr03dVfMX2wCo9FxwSJbPdwKjy2uu/YPpU3wfHvIL4QHwVRp57OfGrDFeUJ8/8QdfBKIV12FTtLn00g==", "dev": true, "license": "MIT", "dependencies": { - "tinyrainbow": "^3.0.3" + "tinyrainbow": "^3.1.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/runner": { - "version": "4.0.17", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.0.17.tgz", - "integrity": "sha512-JmuQyf8aMWoo/LmNFppdpkfRVHJcsgzkbCA+/Bk7VfNH7RE6Ut2qxegeyx2j3ojtJtKIbIGy3h+KxGfYfk28YQ==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.5.tgz", + "integrity": "sha512-2D+o7Pr82IEO46YPpoA/YU0neeyr6FTerQb5Ro7BUnBuv6NQtT/kmVnczngiMEBhzgqz2UZYl5gArejsyERDSQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "4.0.17", + "@vitest/utils": "4.1.5", "pathe": "^2.0.3" }, "funding": { @@ -4009,13 +3986,14 @@ } }, "node_modules/@vitest/snapshot": { - "version": "4.0.17", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.0.17.tgz", - "integrity": "sha512-npPelD7oyL+YQM2gbIYvlavlMVWUfNNGZPcu0aEUQXt7FXTuqhmgiYupPnAanhKvyP6Srs2pIbWo30K0RbDtRQ==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.5.tgz", + "integrity": "sha512-zypXEt4KH/XgKGPUz4eC2AvErYx0My5hfL8oDb1HzGFpEk1P62bxSohdyOmvz+d9UJwanI68MKwr2EquOaOgMQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "4.0.17", + "@vitest/pretty-format": "4.1.5", + "@vitest/utils": "4.1.5", "magic-string": "^0.30.21", "pathe": "^2.0.3" }, @@ -4024,9 +4002,9 @@ } }, "node_modules/@vitest/spy": { - "version": "4.0.17", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.0.17.tgz", - "integrity": "sha512-I1bQo8QaP6tZlTomQNWKJE6ym4SHf3oLS7ceNjozxxgzavRAgZDc06T7kD8gb9bXKEgcLNt00Z+kZO6KaJ62Ew==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.5.tgz", + "integrity": "sha512-2lNOsh6+R2Idnf1TCZqSwYlKN2E/iDlD8sgU59kYVl+OMDmvldO1VDk39smRfpUNwYpNRVn3w4YfuC7KfbBnkQ==", "dev": true, "license": "MIT", "funding": { @@ -4034,19 +4012,27 @@ } }, "node_modules/@vitest/utils": { - "version": "4.0.17", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.0.17.tgz", - "integrity": "sha512-RG6iy+IzQpa9SB8HAFHJ9Y+pTzI+h8553MrciN9eC6TFBErqrQaTas4vG+MVj8S4uKk8uTT2p0vgZPnTdxd96w==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.5.tgz", + "integrity": "sha512-76wdkrmfXfqGjueGgnb45ITPyUi1ycZ4IHgC2bhPDUfWHklY/q3MdLOAB+TF1e6xfl8NxNY0ZYaPCFNWSsw3Ug==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "4.0.17", - "tinyrainbow": "^3.0.3" + "@vitest/pretty-format": "4.1.5", + "convert-source-map": "^2.0.0", + "tinyrainbow": "^3.1.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, + "node_modules/@vitest/utils/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, "node_modules/@yarnpkg/lockfile": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", @@ -4089,9 +4075,9 @@ } }, "node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", "dev": true, "license": "MIT", "dependencies": { @@ -4124,49 +4110,35 @@ } }, "node_modules/algoliasearch": { - "version": "5.46.2", - "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.46.2.tgz", - "integrity": "sha512-qqAXW9QvKf2tTyhpDA4qXv1IfBwD2eduSW6tUEBFIfCeE9gn9HQ9I5+MaKoenRuHrzk5sQoNh1/iof8mY7uD6Q==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.48.1.tgz", + "integrity": "sha512-Rf7xmeuIo7nb6S4mp4abW2faW8DauZyE2faBIKFaUfP3wnpOvNSbiI5AwVhqBNj0jPgBWEvhyCu0sLjN2q77Rg==", "dev": true, "license": "MIT", "dependencies": { - "@algolia/abtesting": "1.12.2", - "@algolia/client-abtesting": "5.46.2", - "@algolia/client-analytics": "5.46.2", - "@algolia/client-common": "5.46.2", - "@algolia/client-insights": "5.46.2", - "@algolia/client-personalization": "5.46.2", - "@algolia/client-query-suggestions": "5.46.2", - "@algolia/client-search": "5.46.2", - "@algolia/ingestion": "1.46.2", - "@algolia/monitoring": "1.46.2", - "@algolia/recommend": "5.46.2", - "@algolia/requester-browser-xhr": "5.46.2", - "@algolia/requester-fetch": "5.46.2", - "@algolia/requester-node-http": "5.46.2" + "@algolia/abtesting": "1.14.1", + "@algolia/client-abtesting": "5.48.1", + "@algolia/client-analytics": "5.48.1", + "@algolia/client-common": "5.48.1", + "@algolia/client-insights": "5.48.1", + "@algolia/client-personalization": "5.48.1", + "@algolia/client-query-suggestions": "5.48.1", + "@algolia/client-search": "5.48.1", + "@algolia/ingestion": "1.48.1", + "@algolia/monitoring": "1.48.1", + "@algolia/recommend": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" }, "engines": { "node": ">= 14.0.0" } }, - "node_modules/angularx-qrcode": { - "version": "21.0.4", - "resolved": "https://registry.npmjs.org/angularx-qrcode/-/angularx-qrcode-21.0.4.tgz", - "integrity": "sha512-GZFa/X/3rHx/4peA4zNROkK6UaYqxJX0dgkEMk7dCcoYNwJM8/UkOkEUfcx+Btjr7iT4UEhf9twWhFjFp58wfw==", - "license": "MIT", - "dependencies": { - "qrcode": "1.5.4", - "tslib": "^2.3.0" - }, - "peerDependencies": { - "@angular/common": "^21.0.0", - "@angular/core": "^21.0.0" - } - }, "node_modules/ansi-escapes": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.2.0.tgz", - "integrity": "sha512-g6LhBsl+GBPRWGWsBtutpzBYuIIdBkLEvad5C/va/74Db018+5TZiyA26cZJAr3Rft5lprVqOIPxf5Vid6tqAw==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.3.0.tgz", + "integrity": "sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==", "dev": true, "license": "MIT", "dependencies": { @@ -4215,20 +4187,33 @@ "node": ">=12" } }, + "node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, "node_modules/baseline-browser-mapping": { - "version": "2.9.15", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.15.tgz", - "integrity": "sha512-kX8h7K2srmDyYnXRIppo4AH/wYgzWVCs+eKr3RusRSQ5PvRYoEFmR/I0PbdTjKFAoKqp5+kbxnNTFO9jOfSVJg==", + "version": "2.10.21", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.21.tgz", + "integrity": "sha512-Q+rUQ7Uz8AHM7DEaNdwvfFCTq7a43lNTzuS94eiWqwyxfV/wJv+oUivef51T91mmRY4d4A1u9rcSvkeufCVXlA==", "dev": true, "license": "Apache-2.0", "bin": { - "baseline-browser-mapping": "dist/cli.js" + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" } }, "node_modules/beasties": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/beasties/-/beasties-0.3.5.tgz", - "integrity": "sha512-NaWu+f4YrJxEttJSm16AzMIFtVldCvaJ68b1L098KpqXmxt9xOLtKoLkKxb8ekhOrLqEJAbvT6n6SEvB/sac7A==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/beasties/-/beasties-0.4.1.tgz", + "integrity": "sha512-2Imdcw3LznDuxAbJM26RHniOLAzE6WgrK8OuvVXCQtNBS8rsnD9zsSEa3fHl4hHpUY7BYTlrpvtPVbvu9G6neg==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -4239,10 +4224,11 @@ "htmlparser2": "^10.0.0", "picocolors": "^1.1.1", "postcss": "^8.4.49", - "postcss-media-query-parser": "^0.2.3" + "postcss-media-query-parser": "^0.2.3", + "postcss-safe-parser": "^7.0.1" }, "engines": { - "node": ">=14.0.0" + "node": ">=18.0.0" } }, "node_modules/bidi-js": { @@ -4287,10 +4273,23 @@ "dev": true, "license": "ISC" }, + "node_modules/brace-expansion": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", + "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, "node_modules/browserslist": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", - "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", "dev": true, "funding": [ { @@ -4308,11 +4307,11 @@ ], "license": "MIT", "dependencies": { - "baseline-browser-mapping": "^2.9.0", - "caniuse-lite": "^1.0.30001759", - "electron-to-chromium": "^1.5.263", - "node-releases": "^2.0.27", - "update-browserslist-db": "^1.2.0" + "baseline-browser-mapping": "^2.10.12", + "caniuse-lite": "^1.0.30001782", + "electron-to-chromium": "^1.5.328", + "node-releases": "^2.0.36", + "update-browserslist-db": "^1.2.3" }, "bin": { "browserslist": "cli.js" @@ -4339,9 +4338,9 @@ } }, "node_modules/cacache": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-20.0.3.tgz", - "integrity": "sha512-3pUp4e8hv07k1QlijZu6Kn7c9+ZpWWk4j3F8N3xPuCExULobqJydKYOTj1FTq58srkJsXvO7LbGAH4C0ZU3WGw==", + "version": "20.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-20.0.4.tgz", + "integrity": "sha512-M3Lab8NPYlZU2exsL3bMVvMrMqgwCnMWfdZbK28bn3pK6APT/Te/I8hjRPNu1uwORY9a1eEQoifXbKPQMfMTOA==", "dev": true, "license": "ISC", "dependencies": { @@ -4354,17 +4353,16 @@ "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "p-map": "^7.0.2", - "ssri": "^13.0.0", - "unique-filename": "^5.0.0" + "ssri": "^13.0.0" }, "engines": { "node": "^20.17.0 || >=22.9.0" } }, "node_modules/cacache/node_modules/lru-cache": { - "version": "11.2.4", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.4.tgz", - "integrity": "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==", + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", + "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==", "dev": true, "license": "BlueOak-1.0.0", "engines": { @@ -4402,19 +4400,10 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/caniuse-lite": { - "version": "1.0.30001765", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001765.tgz", - "integrity": "sha512-LWcNtSyZrakjECqmpP4qdg0MMGdN368D7X8XvvAqOcqMv0RxnlqVKZl2V6/mBR68oYMxOZPLw/gO7DuisMHUvQ==", + "version": "1.0.30001790", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001790.tgz", + "integrity": "sha512-bOoxfJPyYo+ds6W0YfptaCWbFnJYjh2Y1Eow5lRv+vI2u8ganPZqNm1JwNh0t2ELQCqIWg4B3dWEusgAmsoyOw==", "dev": true, "funding": [ { @@ -4518,14 +4507,14 @@ } }, "node_modules/cli-truncate": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.1.1.tgz", - "integrity": "sha512-SroPvNHxUnk+vIW/dOSfNqdy1sPEFkrTk6TUtqLCnBlo3N7TNYYkzzN7uSD6+jVjrdO4+p8nH7JzH6cIvUem6A==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.2.0.tgz", + "integrity": "sha512-xRwvIOMGrfOAnM1JYtqQImuaNtDEv9v6oIYAs4LIHwTiKee8uwvIi363igssOC0O5U04i4AlENs79LQLu9tEMw==", "dev": true, "license": "MIT", "dependencies": { - "slice-ansi": "^7.1.0", - "string-width": "^8.0.0" + "slice-ansi": "^8.0.0", + "string-width": "^8.2.0" }, "engines": { "node": ">=20" @@ -4599,6 +4588,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -4611,6 +4601,7 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, "license": "MIT" }, "node_modules/colorette": { @@ -4621,9 +4612,9 @@ "license": "MIT" }, "node_modules/content-disposition": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.1.tgz", - "integrity": "sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.1.0.tgz", + "integrity": "sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==", "dev": true, "license": "MIT", "engines": { @@ -4672,9 +4663,9 @@ } }, "node_modules/cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz", + "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==", "dev": true, "license": "MIT", "dependencies": { @@ -4683,6 +4674,10 @@ }, "engines": { "node": ">= 0.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/cross-spawn": { @@ -4718,14 +4713,14 @@ } }, "node_modules/css-tree": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz", - "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz", + "integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==", "dev": true, "license": "MIT", "dependencies": { - "mdn-data": "2.12.2", - "source-map-js": "^1.0.1" + "mdn-data": "2.27.1", + "source-map-js": "^1.2.1" }, "engines": { "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" @@ -4761,9 +4756,9 @@ } }, "node_modules/cssstyle/node_modules/lru-cache": { - "version": "11.2.4", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.4.tgz", - "integrity": "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==", + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", + "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==", "dev": true, "license": "BlueOak-1.0.0", "engines": { @@ -4771,19 +4766,29 @@ } }, "node_modules/data-urls": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-6.0.0.tgz", - "integrity": "sha512-BnBS08aLUM+DKamupXs3w2tJJoqU+AkaE/+6vQxi/G/DPmIZFJJp9Dkb1kM03AZx8ADehDUZgsNxju3mPXZYIA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-6.0.1.tgz", + "integrity": "sha512-euIQENZg6x8mj3fO6o9+fOW8MimUI4PpD/fZBhJfeioZVy9TUpM4UY7KjQNVZFlqwJ0UdzRDzkycB997HEq1BQ==", "dev": true, "license": "MIT", "dependencies": { - "whatwg-mimetype": "^4.0.0", - "whatwg-url": "^15.0.0" + "whatwg-mimetype": "^5.0.0", + "whatwg-url": "^15.1.0" }, "engines": { "node": ">=20" } }, + "node_modules/data-urls/node_modules/whatwg-mimetype": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-5.0.0.tgz", + "integrity": "sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20" + } + }, "node_modules/debug": { "version": "4.4.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", @@ -4802,15 +4807,6 @@ } } }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/decimal.js": { "version": "10.6.0", "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", @@ -4839,12 +4835,6 @@ "node": ">=8" } }, - "node_modules/dijkstrajs": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz", - "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==", - "license": "MIT" - }, "node_modules/dom-serializer": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", @@ -4927,9 +4917,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.267", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz", - "integrity": "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==", + "version": "1.5.343", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.343.tgz", + "integrity": "sha512-YHnQ3MXI08icvL9ZKnEBy05F2EQ8ob01UaMOuMbM8l+4UcAq6MPPbBTJBbsBUg3H8JeZNt+O4fjsoWth3p6IFg==", "dev": true, "license": "ISC" }, @@ -4950,31 +4940,6 @@ "node": ">= 0.8" } }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, - "node_modules/encoding/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/entities": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", @@ -5039,9 +5004,9 @@ } }, "node_modules/es-module-lexer": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", - "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz", + "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==", "dev": true, "license": "MIT" }, @@ -5059,9 +5024,9 @@ } }, "node_modules/esbuild": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.2.tgz", - "integrity": "sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz", + "integrity": "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -5072,32 +5037,32 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.27.2", - "@esbuild/android-arm": "0.27.2", - "@esbuild/android-arm64": "0.27.2", - "@esbuild/android-x64": "0.27.2", - "@esbuild/darwin-arm64": "0.27.2", - "@esbuild/darwin-x64": "0.27.2", - "@esbuild/freebsd-arm64": "0.27.2", - "@esbuild/freebsd-x64": "0.27.2", - "@esbuild/linux-arm": "0.27.2", - "@esbuild/linux-arm64": "0.27.2", - "@esbuild/linux-ia32": "0.27.2", - "@esbuild/linux-loong64": "0.27.2", - "@esbuild/linux-mips64el": "0.27.2", - "@esbuild/linux-ppc64": "0.27.2", - "@esbuild/linux-riscv64": "0.27.2", - "@esbuild/linux-s390x": "0.27.2", - "@esbuild/linux-x64": "0.27.2", - "@esbuild/netbsd-arm64": "0.27.2", - "@esbuild/netbsd-x64": "0.27.2", - "@esbuild/openbsd-arm64": "0.27.2", - "@esbuild/openbsd-x64": "0.27.2", - "@esbuild/openharmony-arm64": "0.27.2", - "@esbuild/sunos-x64": "0.27.2", - "@esbuild/win32-arm64": "0.27.2", - "@esbuild/win32-ia32": "0.27.2", - "@esbuild/win32-x64": "0.27.2" + "@esbuild/aix-ppc64": "0.27.3", + "@esbuild/android-arm": "0.27.3", + "@esbuild/android-arm64": "0.27.3", + "@esbuild/android-x64": "0.27.3", + "@esbuild/darwin-arm64": "0.27.3", + "@esbuild/darwin-x64": "0.27.3", + "@esbuild/freebsd-arm64": "0.27.3", + "@esbuild/freebsd-x64": "0.27.3", + "@esbuild/linux-arm": "0.27.3", + "@esbuild/linux-arm64": "0.27.3", + "@esbuild/linux-ia32": "0.27.3", + "@esbuild/linux-loong64": "0.27.3", + "@esbuild/linux-mips64el": "0.27.3", + "@esbuild/linux-ppc64": "0.27.3", + "@esbuild/linux-riscv64": "0.27.3", + "@esbuild/linux-s390x": "0.27.3", + "@esbuild/linux-x64": "0.27.3", + "@esbuild/netbsd-arm64": "0.27.3", + "@esbuild/netbsd-x64": "0.27.3", + "@esbuild/openbsd-arm64": "0.27.3", + "@esbuild/openbsd-x64": "0.27.3", + "@esbuild/openharmony-arm64": "0.27.3", + "@esbuild/sunos-x64": "0.27.3", + "@esbuild/win32-arm64": "0.27.3", + "@esbuild/win32-ia32": "0.27.3", + "@esbuild/win32-x64": "0.27.3" } }, "node_modules/escalade": { @@ -5138,9 +5103,9 @@ } }, "node_modules/eventemitter3": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", - "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz", + "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==", "dev": true, "license": "MIT" }, @@ -5158,9 +5123,9 @@ } }, "node_modules/eventsource-parser": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.6.tgz", - "integrity": "sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.8.tgz", + "integrity": "sha512-70QWGkr4snxr0OXLRWsFLeRBIRPuQOvt4s8QYjmUlmlkyTZkRqS7EDVRZtzU3TiyDbXSzaOeF0XUKy8PchzukQ==", "dev": true, "license": "MIT", "engines": { @@ -5229,11 +5194,14 @@ } }, "node_modules/express-rate-limit": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.5.1.tgz", - "integrity": "sha512-7iN8iPMDzOMHPUYllBEsQdWVB6fPDMPqwjBaFrgr4Jgr/+okjvzAy+UHlYYL/Vs0OsOrMkwS6PJDkFlJwoxUnw==", + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-8.3.2.tgz", + "integrity": "sha512-77VmFeJkO0/rvimEDuUC5H30oqUC4EyOhyGccfqoLebB0oiEYfM7nwPrsDsBL1gsTpwfzX8SFy2MT3TDyRq+bg==", "dev": true, "license": "MIT", + "dependencies": { + "ip-address": "10.1.0" + }, "engines": { "node": ">= 16" }, @@ -5308,19 +5276,6 @@ "url": "https://opencollective.com/express" } }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -5393,15 +5348,16 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" } }, "node_modules/get-east-asian-width": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz", - "integrity": "sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.5.0.tgz", + "integrity": "sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==", "dev": true, "license": "MIT", "engines": { @@ -5451,18 +5407,18 @@ } }, "node_modules/glob": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz", - "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==", + "version": "13.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", + "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { - "minimatch": "^10.1.1", - "minipass": "^7.1.2", - "path-scurry": "^2.0.0" + "minimatch": "^10.2.2", + "minipass": "^7.1.3", + "path-scurry": "^2.0.2" }, "engines": { - "node": "20 || >=22" + "node": "18 || 20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -5509,9 +5465,9 @@ } }, "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz", + "integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==", "dev": true, "license": "MIT", "dependencies": { @@ -5522,12 +5478,11 @@ } }, "node_modules/hono": { - "version": "4.11.4", - "resolved": "https://registry.npmjs.org/hono/-/hono-4.11.4.tgz", - "integrity": "sha512-U7tt8JsyrxSRKspfhtLET79pU8K+tInj5QZXs1jSugO1Vq5dFj3kmZsRldo29mTBfcjDRVRXrEZ6LS63Cog9ZA==", + "version": "4.12.14", + "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.14.tgz", + "integrity": "sha512-am5zfg3yu6sqn5yjKBNqhnTX7Cv+m00ox+7jbaKkrLMRJ4rAdldd1xPd/JzbBWspqaQv6RSTrgFN95EsfhC+7w==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=16.9.0" } @@ -5546,9 +5501,9 @@ } }, "node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "11.2.4", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.4.tgz", - "integrity": "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==", + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", + "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==", "dev": true, "license": "BlueOak-1.0.0", "engines": { @@ -5569,9 +5524,9 @@ } }, "node_modules/htmlparser2": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz", - "integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.1.0.tgz", + "integrity": "sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ==", "dev": true, "funding": [ "https://github.com/fb55/htmlparser2?sponsor=1", @@ -5584,14 +5539,14 @@ "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", - "domutils": "^3.2.1", - "entities": "^6.0.0" + "domutils": "^3.2.2", + "entities": "^7.0.1" } }, "node_modules/htmlparser2/node_modules/entities": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", - "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz", + "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", "dev": true, "license": "BSD-2-Clause", "engines": { @@ -5688,22 +5643,12 @@ } }, "node_modules/immutable": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.4.tgz", - "integrity": "sha512-p6u1bG3YSnINT5RQmx/yRZBpenIl30kVxkTLDyHLIMk0gict704Q9n+thfDI7lTRm9vXdDYutVzXhzcThxTnXA==", + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.5.tgz", + "integrity": "sha512-t7xcm2siw+hlUM68I+UEOK+z84RzmN59as9DZ7P1l0994DKUWV7UXBMQZVxaoMSRQ+PBZbHCOoBt7a2wxOMt+A==", "dev": true, "license": "MIT" }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", @@ -5741,22 +5686,6 @@ "node": ">= 0.10" } }, - "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -5873,9 +5802,9 @@ } }, "node_modules/jose": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/jose/-/jose-6.1.3.tgz", - "integrity": "sha512-0TpaTfihd4QMNwrz/ob2Bp7X04yuxJkjRGi4aKmOqwhov54i6u79oCv7T+C7lo70MKH6BesI3vscD1yb/yzKXQ==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/jose/-/jose-6.2.2.tgz", + "integrity": "sha512-d7kPDd34KO/YnzaDOlikGpOurfF0ByC2sEV4cANCtdqLlTfBlw2p14O/5d/zv40gJPbIQxfES3nSx1/oYNyuZQ==", "dev": true, "license": "MIT", "funding": { @@ -6051,14 +5980,15 @@ } }, "node_modules/lmdb": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.4.4.tgz", - "integrity": "sha512-+Y2DqovevLkb6DrSQ6SXTYLEd6kvlRbhsxzgJrk7BUfOVA/mt21ak6pFDZDKxiAczHMWxrb02kXBTSTIA0O94A==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.5.1.tgz", + "integrity": "sha512-NYHA0MRPjvNX+vSw8Xxg6FLKxzAG+e7Pt8RqAQA/EehzHVXq9SxDqJIN3JL1hK0dweb884y8kIh6rkWvPyg9Wg==", "dev": true, "hasInstallScript": true, "license": "MIT", "optional": true, "dependencies": { + "@harperfast/extended-iterable": "^1.0.3", "msgpackr": "^1.11.2", "node-addon-api": "^6.1.0", "node-gyp-build-optional-packages": "5.2.2", @@ -6069,25 +5999,13 @@ "download-lmdb-prebuilds": "bin/download-prebuilds.js" }, "optionalDependencies": { - "@lmdb/lmdb-darwin-arm64": "3.4.4", - "@lmdb/lmdb-darwin-x64": "3.4.4", - "@lmdb/lmdb-linux-arm": "3.4.4", - "@lmdb/lmdb-linux-arm64": "3.4.4", - "@lmdb/lmdb-linux-x64": "3.4.4", - "@lmdb/lmdb-win32-arm64": "3.4.4", - "@lmdb/lmdb-win32-x64": "3.4.4" - } - }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" + "@lmdb/lmdb-darwin-arm64": "3.5.1", + "@lmdb/lmdb-darwin-x64": "3.5.1", + "@lmdb/lmdb-linux-arm": "3.5.1", + "@lmdb/lmdb-linux-arm64": "3.5.1", + "@lmdb/lmdb-linux-x64": "3.5.1", + "@lmdb/lmdb-win32-arm64": "3.5.1", + "@lmdb/lmdb-win32-x64": "3.5.1" } }, "node_modules/log-symbols": { @@ -6127,6 +6045,23 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz", + "integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, "node_modules/log-update/node_modules/string-width": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", @@ -6184,13 +6119,15 @@ } }, "node_modules/make-fetch-happen": { - "version": "15.0.3", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-15.0.3.tgz", - "integrity": "sha512-iyyEpDty1mwW3dGlYXAJqC/azFn5PPvgKVwXayOGBSmKLxhKZ9fg4qIan2ePpp1vJIwfFiO34LAPZgq9SZW9Aw==", + "version": "15.0.5", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-15.0.5.tgz", + "integrity": "sha512-uCbIa8jWWmQZt4dSnEStkVC6gdakiinAm4PiGsywIkguF0eWMdcjDz0ECYhUolFU3pFLOev9VNPCEygydXnddg==", "dev": true, "license": "ISC", "dependencies": { + "@gar/promise-retry": "^1.0.0", "@npmcli/agent": "^4.0.0", + "@npmcli/redact": "^4.0.0", "cacache": "^20.0.1", "http-cache-semantics": "^4.1.1", "minipass": "^7.0.2", @@ -6199,7 +6136,6 @@ "minipass-pipeline": "^1.2.4", "negotiator": "^1.0.0", "proc-log": "^6.0.0", - "promise-retry": "^2.0.1", "ssri": "^13.0.0" }, "engines": { @@ -6217,9 +6153,9 @@ } }, "node_modules/mdn-data": { - "version": "2.12.2", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz", - "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==", + "version": "2.27.1", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz", + "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==", "dev": true, "license": "CC0-1.0" }, @@ -6287,27 +6223,27 @@ } }, "node_modules/minimatch": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", - "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { - "@isaacs/brace-expansion": "^5.0.0" + "brace-expansion": "^5.0.5" }, "engines": { - "node": "20 || >=22" + "node": "18 || 20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "engines": { "node": ">=16 || 14 >=14.17" } @@ -6326,29 +6262,29 @@ } }, "node_modules/minipass-fetch": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-5.0.0.tgz", - "integrity": "sha512-fiCdUALipqgPWrOVTz9fw0XhcazULXOSU6ie40DDbX1F49p1dBrSRBuswndTx1x3vEb/g0FT7vC4c4C2u/mh3A==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-5.0.2.tgz", + "integrity": "sha512-2d0q2a8eCi2IRg/IGubCNRJoYbA1+YPXAzQVRFmB45gdGZafyivnZ5YSEfo3JikbjGxOdntGFvBQGqaSMXlAFQ==", "dev": true, "license": "MIT", "dependencies": { "minipass": "^7.0.3", - "minipass-sized": "^1.0.3", + "minipass-sized": "^2.0.0", "minizlib": "^3.0.1" }, "engines": { "node": "^20.17.0 || >=22.9.0" }, "optionalDependencies": { - "encoding": "^0.1.13" + "iconv-lite": "^0.7.2" } }, "node_modules/minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.7.tgz", + "integrity": "sha512-TbqTz9cUwWyHS2Dy89P3ocAGUGxKjjLuR9z8w4WUTGAVgEj17/4nhgo2Du56i0Fm3Pm30g4iA8Lcqctc76jCzA==", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "dependencies": { "minipass": "^3.0.0" }, @@ -6410,38 +6346,18 @@ "license": "ISC" }, "node_modules/minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-2.0.0.tgz", + "integrity": "sha512-zSsHhto5BcUVM2m1LurnXY6M//cGhVaegT71OfOXoprxT6o780GZd792ea6FfrQkuU4usHZIUczAQMRUE2plzA==", "dev": true, "license": "ISC", "dependencies": { - "minipass": "^3.0.0" + "minipass": "^7.1.2" }, "engines": { "node": ">=8" } }, - "node_modules/minipass-sized/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-sized/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "license": "ISC" - }, "node_modules/minizlib": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz", @@ -6473,9 +6389,9 @@ "license": "MIT" }, "node_modules/msgpackr": { - "version": "1.11.8", - "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.8.tgz", - "integrity": "sha512-bC4UGzHhVvgDNS7kn9tV8fAucIYUBuGojcaLiz7v+P63Lmtm0Xeji8B/8tYKddALXxJLpwIeBmUN3u64C4YkRA==", + "version": "1.11.10", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.10.tgz", + "integrity": "sha512-iCZNq+HszvF+fC3anCm4nBmWEnbeIAfpDs6IStAEKhQ2YSgkjzVG2FF9XJqwwQh5bH3N9OUTUt4QwVN6MLMLtA==", "dev": true, "license": "MIT", "optional": true, @@ -6554,21 +6470,21 @@ "optional": true }, "node_modules/node-gyp": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-12.1.0.tgz", - "integrity": "sha512-W+RYA8jBnhSr2vrTtlPYPc1K+CSjGpVDRZxcqJcERZ8ND3A1ThWPHRwctTx3qC3oW99jt726jhdz3Y6ky87J4g==", + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-12.3.0.tgz", + "integrity": "sha512-QNcUWM+HgJplcPzBvFBZ9VXacyGZ4+VTOb80PwWR+TlVzoHbRKULNEzpRsnaoxG3Wzr7Qh7BYxGDU3CbKib2Yg==", "dev": true, "license": "MIT", "dependencies": { "env-paths": "^2.2.0", "exponential-backoff": "^3.1.1", "graceful-fs": "^4.2.6", - "make-fetch-happen": "^15.0.0", "nopt": "^9.0.0", "proc-log": "^6.0.0", "semver": "^7.3.5", - "tar": "^7.5.2", + "tar": "^7.5.4", "tinyglobby": "^0.2.12", + "undici": "^6.25.0", "which": "^6.0.0" }, "bin": { @@ -6595,23 +6511,33 @@ } }, "node_modules/node-gyp/node_modules/isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz", + "integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "engines": { - "node": ">=16" + "node": ">=20" + } + }, + "node_modules/node-gyp/node_modules/undici": { + "version": "6.25.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.25.0.tgz", + "integrity": "sha512-ZgpWDC5gmNiuY9CnLVXEH8rl50xhRCuLNA97fAUnKi8RRuV4E6KG31pDTsLVUKnohJE0I3XDrTeEydAXRw47xg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.17" } }, "node_modules/node-gyp/node_modules/which": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-6.0.0.tgz", - "integrity": "sha512-f+gEpIKMR9faW/JgAgPK1D7mekkFoqbmiwvNzuhsHetni20QSgzg9Vhn0g2JSJkkfehQnqdUAx7/e15qS1lPxg==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz", + "integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==", "dev": true, "license": "ISC", "dependencies": { - "isexe": "^3.1.1" + "isexe": "^4.0.0" }, "bin": { "node-which": "bin/which.js" @@ -6621,9 +6547,9 @@ } }, "node_modules/node-releases": { - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", - "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "version": "2.0.38", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.38.tgz", + "integrity": "sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==", "dev": true, "license": "MIT" }, @@ -6696,9 +6622,9 @@ } }, "node_modules/npm-packlist": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-10.0.3.tgz", - "integrity": "sha512-zPukTwJMOu5X5uvm0fztwS5Zxyvmk38H/LfidkOMt3gbZVCyro2cD/ETzwzVPcWZA3JOyPznfUN/nkyFiyUbxg==", + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-10.0.4.tgz", + "integrity": "sha512-uMW73iajD8hiH4ZBxEV3HC+eTnppIqwakjOYuvgddnalIw2lJguKviK1pcUJDlIWm1wSJkchpDZDSVVsZEYRng==", "dev": true, "license": "ISC", "dependencies": { @@ -6832,9 +6758,9 @@ } }, "node_modules/ora": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-9.0.0.tgz", - "integrity": "sha512-m0pg2zscbYgWbqRR6ABga5c3sZdEon7bSgjnlXC64kxtxLOyjRcbbUkLj7HFyy/FTD+P2xdBWu8snGhYI0jc4A==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-9.3.0.tgz", + "integrity": "sha512-lBX72MWFduWEf7v7uWf5DHp9Jn5BI8bNPGuFgtXMmr2uDz2Gz2749y3am3agSDdkhHPHYmmxEGSKH85ZLGzgXw==", "dev": true, "license": "MIT", "dependencies": { @@ -6844,9 +6770,8 @@ "is-interactive": "^2.0.0", "is-unicode-supported": "^2.1.0", "log-symbols": "^7.0.1", - "stdin-discarder": "^0.2.2", - "string-width": "^8.1.0", - "strip-ansi": "^7.1.2" + "stdin-discarder": "^0.3.1", + "string-width": "^8.1.0" }, "engines": { "node": ">=20" @@ -6863,33 +6788,6 @@ "license": "MIT", "optional": true }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/p-map": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.4.tgz", @@ -6903,19 +6801,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/pacote": { - "version": "21.0.4", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-21.0.4.tgz", - "integrity": "sha512-RplP/pDW0NNNDh3pnaoIWYPvNenS7UqMbXyvMqJczosiFWTeGGwJC2NQBLqKf4rGLFfwCOnntw1aEp9Jiqm1MA==", + "version": "21.3.1", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-21.3.1.tgz", + "integrity": "sha512-O0EDXi85LF4AzdjG74GUwEArhdvawi/YOHcsW6IijKNj7wm8IvEWNF5GnfuxNpQ/ZpO3L37+v8hqdVh8GgWYhg==", "dev": true, "license": "ISC", "dependencies": { @@ -6945,13 +6834,13 @@ } }, "node_modules/parse5": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.0.tgz", - "integrity": "sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.1.tgz", + "integrity": "sha512-z1e/HMG90obSGeidlli3hj7cbocou0/wa5HacvI3ASx34PecNjNQeaHNo5WIZpWofN9kgkqV1q5YvXe3F0FoPw==", "dev": true, "license": "MIT", "dependencies": { - "entities": "^6.0.0" + "entities": "^8.0.0" }, "funding": { "url": "https://github.com/inikulin/parse5?sponsor=1" @@ -6999,13 +6888,13 @@ } }, "node_modules/parse5/node_modules/entities": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", - "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-8.0.0.tgz", + "integrity": "sha512-zwfzJecQ/Uej6tusMqwAqU/6KL2XaB2VZ2Jg54Je6ahNBGNH6Ek6g3jjNCF0fG9EWQKGZNddNjU5F1ZQn/sBnA==", "dev": true, "license": "BSD-2-Clause", "engines": { - "node": ">=0.12" + "node": ">=20.19.0" }, "funding": { "url": "https://github.com/fb55/entities?sponsor=1" @@ -7021,15 +6910,6 @@ "node": ">= 0.8" } }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -7040,17 +6920,10 @@ "node": ">=8" } }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true, - "license": "MIT" - }, "node_modules/path-scurry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz", - "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", + "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { @@ -7058,16 +6931,16 @@ "minipass": "^7.1.2" }, "engines": { - "node": "20 || >=22" + "node": "18 || 20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/path-scurry/node_modules/lru-cache": { - "version": "11.2.4", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.4.tgz", - "integrity": "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==", + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", + "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==", "dev": true, "license": "BlueOak-1.0.0", "engines": { @@ -7075,9 +6948,9 @@ } }, "node_modules/path-to-regexp": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz", - "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==", + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.2.tgz", + "integrity": "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==", "dev": true, "license": "MIT", "funding": { @@ -7100,9 +6973,9 @@ "license": "ISC" }, "node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "dev": true, "license": "MIT", "engines": { @@ -7135,19 +7008,10 @@ "node": ">=16.20.0" } }, - "node_modules/pngjs": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz", - "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==", - "license": "MIT", - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/postcss": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "version": "8.5.10", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.10.tgz", + "integrity": "sha512-pMMHxBOZKFU6HgAZ4eyGnwXF/EvPGGqUr0MnZ5+99485wwW41kW91A4LOGxSHhgugZmSChL5AlElNdwlNgcnLQ==", "dev": true, "funding": [ { @@ -7180,6 +7044,33 @@ "dev": true, "license": "MIT" }, + "node_modules/postcss-safe-parser": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz", + "integrity": "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss-safe-parser" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, "node_modules/proc-log": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.1.0.tgz", @@ -7228,129 +7119,10 @@ "node": ">=6" } }, - "node_modules/qrcode": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.4.tgz", - "integrity": "sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==", - "license": "MIT", - "dependencies": { - "dijkstrajs": "^1.0.1", - "pngjs": "^5.0.0", - "yargs": "^15.3.1" - }, - "bin": { - "qrcode": "bin/qrcode" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/qrcode/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/qrcode/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "node_modules/qrcode/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/qrcode/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/qrcode/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/qrcode/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/qrcode/node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "license": "ISC" - }, - "node_modules/qrcode/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "license": "MIT", - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/qrcode/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "license": "ISC", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/qs": { - "version": "6.14.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz", - "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==", + "version": "6.15.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.1.tgz", + "integrity": "sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -7410,15 +7182,6 @@ "dev": true, "license": "Apache-2.0" }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", @@ -7429,33 +7192,6 @@ "node": ">=0.10.0" } }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "license": "ISC" - }, - "node_modules/resolve": { - "version": "1.22.11", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", - "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.16.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/restore-cursor": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", @@ -7491,14 +7227,14 @@ "license": "MIT" }, "node_modules/rolldown": { - "version": "1.0.0-beta.58", - "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-beta.58.tgz", - "integrity": "sha512-v1FCjMZCan7f+xGAHBi+mqiE4MlH7I+SXEHSQSJoMOGNNB2UYtvMiejsq9YuUOiZjNeUeV/a21nSFbrUR+4ZCQ==", + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.4.tgz", + "integrity": "sha512-V2tPDUrY3WSevrvU2E41ijZlpF+5PbZu4giH+VpNraaadsJGHa4fR6IFwsocVwEXDoAdIv5qgPPxgrvKAOIPtA==", "dev": true, "license": "MIT", "dependencies": { - "@oxc-project/types": "=0.106.0", - "@rolldown/pluginutils": "1.0.0-beta.58" + "@oxc-project/types": "=0.113.0", + "@rolldown/pluginutils": "1.0.0-rc.4" }, "bin": { "rolldown": "bin/cli.mjs" @@ -7507,25 +7243,25 @@ "node": "^20.19.0 || >=22.12.0" }, "optionalDependencies": { - "@rolldown/binding-android-arm64": "1.0.0-beta.58", - "@rolldown/binding-darwin-arm64": "1.0.0-beta.58", - "@rolldown/binding-darwin-x64": "1.0.0-beta.58", - "@rolldown/binding-freebsd-x64": "1.0.0-beta.58", - "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-beta.58", - "@rolldown/binding-linux-arm64-gnu": "1.0.0-beta.58", - "@rolldown/binding-linux-arm64-musl": "1.0.0-beta.58", - "@rolldown/binding-linux-x64-gnu": "1.0.0-beta.58", - "@rolldown/binding-linux-x64-musl": "1.0.0-beta.58", - "@rolldown/binding-openharmony-arm64": "1.0.0-beta.58", - "@rolldown/binding-wasm32-wasi": "1.0.0-beta.58", - "@rolldown/binding-win32-arm64-msvc": "1.0.0-beta.58", - "@rolldown/binding-win32-x64-msvc": "1.0.0-beta.58" + "@rolldown/binding-android-arm64": "1.0.0-rc.4", + "@rolldown/binding-darwin-arm64": "1.0.0-rc.4", + "@rolldown/binding-darwin-x64": "1.0.0-rc.4", + "@rolldown/binding-freebsd-x64": "1.0.0-rc.4", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.4", + "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.4", + "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.4", + "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.4", + "@rolldown/binding-linux-x64-musl": "1.0.0-rc.4", + "@rolldown/binding-openharmony-arm64": "1.0.0-rc.4", + "@rolldown/binding-wasm32-wasi": "1.0.0-rc.4", + "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.4", + "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.4" } }, "node_modules/rollup": { - "version": "4.55.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.55.1.tgz", - "integrity": "sha512-wDv/Ht1BNHB4upNbK74s9usvl7hObDnvVzknxqY/E/O3X6rW1U1rV1aENEfJ54eFZDTNo7zv1f5N4edCluH7+A==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.60.2.tgz", + "integrity": "sha512-J9qZyW++QK/09NyN/zeO0dG/1GdGfyp9lV8ajHnRVLfo/uFsbji5mHnDgn/qYdUHyCkM2N+8VyspgZclfAh0eQ==", "dev": true, "license": "MIT", "dependencies": { @@ -7539,31 +7275,31 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.55.1", - "@rollup/rollup-android-arm64": "4.55.1", - "@rollup/rollup-darwin-arm64": "4.55.1", - "@rollup/rollup-darwin-x64": "4.55.1", - "@rollup/rollup-freebsd-arm64": "4.55.1", - "@rollup/rollup-freebsd-x64": "4.55.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.55.1", - "@rollup/rollup-linux-arm-musleabihf": "4.55.1", - "@rollup/rollup-linux-arm64-gnu": "4.55.1", - "@rollup/rollup-linux-arm64-musl": "4.55.1", - "@rollup/rollup-linux-loong64-gnu": "4.55.1", - "@rollup/rollup-linux-loong64-musl": "4.55.1", - "@rollup/rollup-linux-ppc64-gnu": "4.55.1", - "@rollup/rollup-linux-ppc64-musl": "4.55.1", - "@rollup/rollup-linux-riscv64-gnu": "4.55.1", - "@rollup/rollup-linux-riscv64-musl": "4.55.1", - "@rollup/rollup-linux-s390x-gnu": "4.55.1", - "@rollup/rollup-linux-x64-gnu": "4.55.1", - "@rollup/rollup-linux-x64-musl": "4.55.1", - "@rollup/rollup-openbsd-x64": "4.55.1", - "@rollup/rollup-openharmony-arm64": "4.55.1", - "@rollup/rollup-win32-arm64-msvc": "4.55.1", - "@rollup/rollup-win32-ia32-msvc": "4.55.1", - "@rollup/rollup-win32-x64-gnu": "4.55.1", - "@rollup/rollup-win32-x64-msvc": "4.55.1", + "@rollup/rollup-android-arm-eabi": "4.60.2", + "@rollup/rollup-android-arm64": "4.60.2", + "@rollup/rollup-darwin-arm64": "4.60.2", + "@rollup/rollup-darwin-x64": "4.60.2", + "@rollup/rollup-freebsd-arm64": "4.60.2", + "@rollup/rollup-freebsd-x64": "4.60.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.60.2", + "@rollup/rollup-linux-arm-musleabihf": "4.60.2", + "@rollup/rollup-linux-arm64-gnu": "4.60.2", + "@rollup/rollup-linux-arm64-musl": "4.60.2", + "@rollup/rollup-linux-loong64-gnu": "4.60.2", + "@rollup/rollup-linux-loong64-musl": "4.60.2", + "@rollup/rollup-linux-ppc64-gnu": "4.60.2", + "@rollup/rollup-linux-ppc64-musl": "4.60.2", + "@rollup/rollup-linux-riscv64-gnu": "4.60.2", + "@rollup/rollup-linux-riscv64-musl": "4.60.2", + "@rollup/rollup-linux-s390x-gnu": "4.60.2", + "@rollup/rollup-linux-x64-gnu": "4.60.2", + "@rollup/rollup-linux-x64-musl": "4.60.2", + "@rollup/rollup-openbsd-x64": "4.60.2", + "@rollup/rollup-openharmony-arm64": "4.60.2", + "@rollup/rollup-win32-arm64-msvc": "4.60.2", + "@rollup/rollup-win32-ia32-msvc": "4.60.2", + "@rollup/rollup-win32-x64-gnu": "4.60.2", + "@rollup/rollup-win32-x64-msvc": "4.60.2", "fsevents": "~2.3.2" } }, @@ -7601,9 +7337,9 @@ "license": "MIT" }, "node_modules/sass": { - "version": "1.97.1", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.97.1.tgz", - "integrity": "sha512-uf6HoO8fy6ClsrShvMgaKUn14f2EHQLQRtpsZZLeU/Mv0Q1K5P0+x2uvH6Cub39TVVbWNSrraUhDAoFph6vh0A==", + "version": "1.97.3", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.97.3.tgz", + "integrity": "sha512-fDz1zJpd5GycprAbu4Q2PV/RprsRtKC/0z82z0JLgdytmcq0+ujJbJ/09bPGDxCLkKY3Np5cRAOcWiVkLXJURg==", "dev": true, "license": "MIT", "dependencies": { @@ -7665,9 +7401,9 @@ } }, "node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true, "license": "ISC", "bin": { @@ -7724,12 +7460,6 @@ "url": "https://opencollective.com/express" } }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "license": "ISC" - }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -7781,14 +7511,14 @@ } }, "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" + "object-inspect": "^1.13.4" }, "engines": { "node": ">= 0.4" @@ -7875,17 +7605,17 @@ } }, "node_modules/slice-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz", - "integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-8.0.0.tgz", + "integrity": "sha512-stxByr12oeeOyY2BlviTNQlYV5xOj47GirPr4yA1hE9JCtxfQN0+tVbkxwCtYDQWhEKWFHsEK48ORg5jrouCAg==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^6.2.1", - "is-fullwidth-code-point": "^5.0.0" + "ansi-styles": "^6.2.3", + "is-fullwidth-code-point": "^5.1.0" }, "engines": { - "node": ">=18" + "node": ">=20" }, "funding": { "url": "https://github.com/chalk/slice-ansi?sponsor=1" @@ -7973,17 +7703,6 @@ "node": ">=0.10.0" } }, - "node_modules/spdx-correct": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", - "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, "node_modules/spdx-exceptions": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", @@ -7992,9 +7711,9 @@ "license": "CC-BY-3.0" }, "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-4.0.0.tgz", + "integrity": "sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==", "dev": true, "license": "MIT", "dependencies": { @@ -8003,16 +7722,16 @@ } }, "node_modules/spdx-license-ids": { - "version": "3.0.22", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz", - "integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==", + "version": "3.0.23", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.23.tgz", + "integrity": "sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==", "dev": true, "license": "CC0-1.0" }, "node_modules/ssri": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-13.0.0.tgz", - "integrity": "sha512-yizwGBpbCn4YomB2lzhZqrHLJoqFGXihNbib3ozhqF/cIp5ue+xSmOQrjNasEE62hFxsCcg/V/z23t4n8jMEng==", + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-13.0.1.tgz", + "integrity": "sha512-QUiRf1+u9wPTL/76GTYlKttDEBWV1ga9ZXW8BG6kfdeyyM8LGPix9gROyg9V2+P0xNyF3X2Go526xKFdMZrHSQ==", "dev": true, "license": "ISC", "dependencies": { @@ -8040,16 +7759,16 @@ } }, "node_modules/std-env": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz", - "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.1.0.tgz", + "integrity": "sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ==", "dev": true, "license": "MIT" }, "node_modules/stdin-discarder": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.2.2.tgz", - "integrity": "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.3.2.tgz", + "integrity": "sha512-eCPu1qRxPVkl5605OTWF8Wz40b4Mf45NY5LQmVPQ599knfs5QhASUm9GbJ5BDMDOXgrnh0wyEdvzmL//YMlw0A==", "dev": true, "license": "MIT", "engines": { @@ -8060,14 +7779,14 @@ } }, "node_modules/string-width": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.1.0.tgz", - "integrity": "sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.0.tgz", + "integrity": "sha512-6hJPQ8N0V0P3SNmP6h2J99RLuzrWz2gvT7VnK5tKvrNqJoyS9W4/Fb8mo31UiPvy00z7DQXkP2hnKBVav76thw==", "dev": true, "license": "MIT", "dependencies": { - "get-east-asian-width": "^1.3.0", - "strip-ansi": "^7.1.0" + "get-east-asian-width": "^1.5.0", + "strip-ansi": "^7.1.2" }, "engines": { "node": ">=20" @@ -8077,13 +7796,13 @@ } }, "node_modules/strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^6.0.1" + "ansi-regex": "^6.2.2" }, "engines": { "node": ">=12" @@ -8092,19 +7811,6 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/symbol-tree": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", @@ -8113,9 +7819,9 @@ "license": "MIT" }, "node_modules/tar": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.3.tgz", - "integrity": "sha512-ENg5JUHUm2rDD7IvKNFGzyElLXNjachNLp6RaGf4+JOgxXHkqA+gq81ZAMCUmtMtqBsoU62lcp6S27g1LCYGGQ==", + "version": "7.5.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.13.tgz", + "integrity": "sha512-tOG/7GyXpFevhXVh8jOPJrmtRpOTsYqUIkVdVooZYJS/z8WhfQUX8RJILmeuJNinGAMSu1veBr4asSHFt5/hng==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { @@ -8147,9 +7853,9 @@ "license": "MIT" }, "node_modules/tinyexec": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz", - "integrity": "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.1.1.tgz", + "integrity": "sha512-VKS/ZaQhhkKFMANmAOhhXVoIfBXblQxGX1myCQ2faQrfmobMftXeJPcZGp0gS07ocvGJWDLZGyOZDadDBqYIJg==", "dev": true, "license": "MIT", "engines": { @@ -8174,9 +7880,9 @@ } }, "node_modules/tinyrainbow": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.0.3.tgz", - "integrity": "sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.0.tgz", + "integrity": "sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==", "dev": true, "license": "MIT", "engines": { @@ -8184,22 +7890,22 @@ } }, "node_modules/tldts": { - "version": "7.0.19", - "resolved": "https://registry.npmjs.org/tldts/-/tldts-7.0.19.tgz", - "integrity": "sha512-8PWx8tvC4jDB39BQw1m4x8y5MH1BcQ5xHeL2n7UVFulMPH/3Q0uiamahFJ3lXA0zO2SUyRXuVVbWSDmstlt9YA==", + "version": "7.0.28", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-7.0.28.tgz", + "integrity": "sha512-+Zg3vWhRUv8B1maGSTFdev9mjoo8Etn2Ayfs4cnjlD3CsGkxXX4QyW3j2WJ0wdjYcYmy7Lx2RDsZMhgCWafKIw==", "dev": true, "license": "MIT", "dependencies": { - "tldts-core": "^7.0.19" + "tldts-core": "^7.0.28" }, "bin": { "tldts": "bin/cli.js" } }, "node_modules/tldts-core": { - "version": "7.0.19", - "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.0.19.tgz", - "integrity": "sha512-lJX2dEWx0SGH4O6p+7FPwYmJ/bu1JbcGJ8RLaG9b7liIgZ85itUVEPbMtWRVrde/0fnDPEPHW10ZsKW3kVsE9A==", + "version": "7.0.28", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.0.28.tgz", + "integrity": "sha512-7W5Efjhsc3chVdFhqtaU0KtK32J37Zcr9RKtID54nG+tIpcY79CQK/veYPODxtD/LJ4Lue66jvrQzIX2Z2/pUQ==", "dev": true, "license": "MIT" }, @@ -8214,9 +7920,9 @@ } }, "node_modules/tough-cookie": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.0.tgz", - "integrity": "sha512-kXuRi1mtaKMrsLUxz3sQYvVl37B0Ns6MzfrtV5DvJceE9bPyspOqk9xxv7XbZWcfLWbFmm997vl83qUWVJA64w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.1.tgz", + "integrity": "sha512-LktZQb3IeoUWB9lqR5EWTHgW/VTITCXg4D21M+lvybRVdylLrRMnqaIONLVb5mav8vM19m44HIcGq4qASeu2Qw==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -8290,41 +7996,15 @@ } }, "node_modules/undici": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-7.18.0.tgz", - "integrity": "sha512-CfPufgPFHCYu0W4h1NiKW9+tNJ39o3kWm7Cm29ET1enSJx+AERfz7A2wAr26aY0SZbYzZlTBQtcHy15o60VZfQ==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.24.4.tgz", + "integrity": "sha512-BM/JzwwaRXxrLdElV2Uo6cTLEjhSb3WXboncJamZ15NgUURmvlXvxa6xkwIOILIjPNo9i8ku136ZvWV0Uly8+w==", "dev": true, "license": "MIT", "engines": { "node": ">=20.18.1" } }, - "node_modules/unique-filename": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-5.0.0.tgz", - "integrity": "sha512-2RaJTAvAb4owyjllTfXzFClJ7WsGxlykkPvCr9pA//LD9goVq+m4PPAeBgNodGZ7nSrntT/auWpJ6Y5IFXcfjg==", - "dev": true, - "license": "ISC", - "dependencies": { - "unique-slug": "^6.0.0" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/unique-slug": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-6.0.0.tgz", - "integrity": "sha512-4Lup7Ezn8W3d52/xBhZBVdx323ckxa7DEvd9kPQHppTkLoJXw6ltrBCyj5pnrxj0qKDxYMJ56CoxNuFCscdTiw==", - "dev": true, - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -8366,17 +8046,6 @@ "browserslist": ">= 4.21.0" } }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, "node_modules/validate-npm-package-name": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-7.0.2.tgz", @@ -8398,9 +8067,9 @@ } }, "node_modules/vite": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.0.tgz", - "integrity": "sha512-dZwN5L1VlUBewiP6H9s2+B3e3Jg96D0vzN+Ry73sOefebhYr9f94wwkMNN/9ouoU8pV1BqA1d1zGk8928cx0rg==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.2.tgz", + "integrity": "sha512-Bby3NOsna2jsjfLVOHKes8sGwgl4TT0E6vvpYgnAYDIF/tie7MRaFthmKuHx1NSXjiTueXH3do80FMQgvEktRg==", "dev": true, "license": "MIT", "dependencies": { @@ -8473,31 +8142,31 @@ } }, "node_modules/vitest": { - "version": "4.0.17", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.0.17.tgz", - "integrity": "sha512-FQMeF0DJdWY0iOnbv466n/0BudNdKj1l5jYgl5JVTwjSsZSlqyXFt/9+1sEyhR6CLowbZpV7O1sCHrzBhucKKg==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.5.tgz", + "integrity": "sha512-9Xx1v3/ih3m9hN+SbfkUyy0JAs72ap3r7joc87XL6jwF0jGg6mFBvQ1SrwaX+h8BlkX6Hz9shdd1uo6AF+ZGpg==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/expect": "4.0.17", - "@vitest/mocker": "4.0.17", - "@vitest/pretty-format": "4.0.17", - "@vitest/runner": "4.0.17", - "@vitest/snapshot": "4.0.17", - "@vitest/spy": "4.0.17", - "@vitest/utils": "4.0.17", - "es-module-lexer": "^1.7.0", - "expect-type": "^1.2.2", + "@vitest/expect": "4.1.5", + "@vitest/mocker": "4.1.5", + "@vitest/pretty-format": "4.1.5", + "@vitest/runner": "4.1.5", + "@vitest/snapshot": "4.1.5", + "@vitest/spy": "4.1.5", + "@vitest/utils": "4.1.5", + "es-module-lexer": "^2.0.0", + "expect-type": "^1.3.0", "magic-string": "^0.30.21", "obug": "^2.1.1", "pathe": "^2.0.3", "picomatch": "^4.0.3", - "std-env": "^3.10.0", + "std-env": "^4.0.0-rc.1", "tinybench": "^2.9.0", "tinyexec": "^1.0.2", "tinyglobby": "^0.2.15", - "tinyrainbow": "^3.0.3", - "vite": "^6.0.0 || ^7.0.0", + "tinyrainbow": "^3.1.0", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0", "why-is-node-running": "^2.3.0" }, "bin": { @@ -8513,12 +8182,15 @@ "@edge-runtime/vm": "*", "@opentelemetry/api": "^1.9.0", "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", - "@vitest/browser-playwright": "4.0.17", - "@vitest/browser-preview": "4.0.17", - "@vitest/browser-webdriverio": "4.0.17", - "@vitest/ui": "4.0.17", + "@vitest/browser-playwright": "4.1.5", + "@vitest/browser-preview": "4.1.5", + "@vitest/browser-webdriverio": "4.1.5", + "@vitest/coverage-istanbul": "4.1.5", + "@vitest/coverage-v8": "4.1.5", + "@vitest/ui": "4.1.5", "happy-dom": "*", - "jsdom": "*" + "jsdom": "*", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "@edge-runtime/vm": { @@ -8539,6 +8211,12 @@ "@vitest/browser-webdriverio": { "optional": true }, + "@vitest/coverage-istanbul": { + "optional": true + }, + "@vitest/coverage-v8": { + "optional": true + }, "@vitest/ui": { "optional": true }, @@ -8547,6 +8225,9 @@ }, "jsdom": { "optional": true + }, + "vite": { + "optional": false } } }, @@ -8564,9 +8245,9 @@ } }, "node_modules/watchpack": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.0.tgz", - "integrity": "sha512-e6vZvY6xboSwLz2GD36c16+O/2Z6fKvIf4pOXptw2rY9MVwE/TXc6RGqxD3I3x0a28lwBY7DE+76uTPSsBrrCA==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz", + "integrity": "sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==", "dev": true, "license": "MIT", "dependencies": { @@ -8635,12 +8316,6 @@ "node": ">= 8" } }, - "node_modules/which-module": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", - "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", - "license": "ISC" - }, "node_modules/why-is-node-running": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", @@ -8662,6 +8337,7 @@ "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", @@ -8676,6 +8352,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -8685,6 +8362,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -8700,12 +8378,14 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, "license": "MIT" }, "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -8715,6 +8395,7 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", @@ -8729,6 +8410,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" @@ -8745,9 +8427,9 @@ "license": "ISC" }, "node_modules/ws": { - "version": "8.19.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz", - "integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.0.tgz", + "integrity": "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==", "dev": true, "license": "MIT", "engines": { @@ -8873,9 +8555,9 @@ } }, "node_modules/zod": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.5.tgz", - "integrity": "sha512-k7Nwx6vuWx1IJ9Bjuf4Zt1PEllcwe7cls3VNzm4CQ1/hgtFUK2bRNG3rvnpPUhFjmqJKAKtjV576KnUkHocg/g==", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", + "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==", "dev": true, "license": "MIT", "funding": { @@ -8883,13 +8565,13 @@ } }, "node_modules/zod-to-json-schema": { - "version": "3.25.1", - "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.1.tgz", - "integrity": "sha512-pM/SU9d3YAggzi6MtR4h7ruuQlqKtad8e9S0fmxcMi+ueAK5Korys/aWcV9LIIHTVbj01NdzxcnXSN+O74ZIVA==", + "version": "3.25.2", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.2.tgz", + "integrity": "sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==", "dev": true, "license": "ISC", "peerDependencies": { - "zod": "^3.25 || ^4" + "zod": "^3.25.28 || ^4" } } } diff --git a/package.json b/package.json index cb816f6..e0982c7 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "fast-check", + "name": "qr-vitanova", "version": "0.0.0", "scripts": { "ng": "ng", @@ -29,7 +29,6 @@ "@angular/forms": "^21.0.0", "@angular/platform-browser": "^21.0.0", "@angular/router": "^21.0.0", - "angularx-qrcode": "^21.0.4", "rxjs": "~7.8.0", "tslib": "^2.3.0" }, @@ -41,4 +40,4 @@ "typescript": "~5.9.2", "vitest": "^4.0.8" } -} +} \ No newline at end of file diff --git a/payment.html b/payment.html new file mode 100644 index 0000000..184d9bb --- /dev/null +++ b/payment.html @@ -0,0 +1,291 @@ + + + + + Оплата через СБП + + + + + + + +
+
+ +
+ +

Оплата через СБП

+

Система быстрых платежей

+
+ +
+ +
+ +
+ + +
+ +
+ +
+ 🇷🇺 + RUB + Российский рубль +
+ +
+ + +
+ + + +
+ + + +
+
+ + + + + diff --git a/proxy.conf.json b/proxy.conf.json new file mode 100644 index 0000000..83d7baa --- /dev/null +++ b/proxy.conf.json @@ -0,0 +1,23 @@ +{ + "/proxy/legacy-qr": { + "target": "https://qr.vitanova.network:567", + "secure": false, + "changeOrigin": true, + "pathRewrite": { "^/proxy/legacy-qr": "" }, + "logLevel": "debug" + }, + "/proxy/fastcheck": { + "target": "https://api.fastcheck.store", + "secure": true, + "changeOrigin": true, + "pathRewrite": { "^/proxy/fastcheck": "" }, + "logLevel": "debug" + }, + "/proxy/qr-vitanova": { + "target": "https://qr.vitanova.network", + "secure": true, + "changeOrigin": true, + "pathRewrite": { "^/proxy/qr-vitanova": "" }, + "logLevel": "debug" + } +} diff --git a/public/Fastcheck_API (1).txt b/public/Fastcheck_API (1).txt new file mode 100644 index 0000000..ee210a8 --- /dev/null +++ b/public/Fastcheck_API (1).txt @@ -0,0 +1,142 @@ +eFastcheck.store +General Information +Information exchange with the Fastcheck server is realized via RESTful API. All requests to the server must be executed via HTTPS using GET||POST||PUT||DELETE requests to the given ROOT address. Body of requests must be in JSON format. All not public requests must be signed by the client and the public key must be sent to the server for client identification and sign checking. + + + + +Check if server is available +Client needs to periodically check if the server is available by sending “ping” to the client. On error corresponding message must be shown. +Protocol: https +Root Path: api.Fastcheck.store +Type GET +Path /ping +Request Parameters: +{ + + +} +Response (OK): +{ +"message": "pong", +} +________________ + + +Create new websession +Creates a new websession for qr generation. By timeout a new websession must be requested, after the user shows some activity (click on qr). +Protocol: https +Root Path: api.Fastcheck.store +Type GET +Path /websession +Request Parameters: +{ + + +} +Response (OK): +{ +"sessionId": “1AF3781BF6B94604B771AEA1D44FA63A” +"userId" : "", +"expires" : "sessionId", +"userSessionId": "", +"Status": false +} +________________ + + +Check websession status +Check if the user is already logged in. a new websession for qr generation. By timeout a new websession must be requested, after the user shows some activity (click on qr). +Protocol: https +Root Path: api.Fastcheck.store +Type GET +Path /websession/:webSessionID +Request Parameters: +{ + + +} +Response (OK): +{ +"sessionId": “1AF3781BF6B94604B771AEA1D44FA63A”, +"userId" : "kHaAe9roaC2uq63AKGE/8+Ti/t/iFro68QhEZ1dRGLo", +"expires" : "sessionId", +"userSessionId": "8A94EFEFD003426A9B456C48CAC99BE6", +"Status": true +} +________________ +Delete websession status +Delete the session to log out from the system. +Protocol: https +Root Path: api.Fastcheck.store +Type DELETE +Path /websession/:webSessionID +Request Parameters: +{ +"sessionId": “1AF3781BF6B94604B771AEA1D44FA63A” +} +Response (OK): +{ +} +________________ + + +Check Fastcheck status +Check if fastcheck exists and get the amount assigned to check. +Protocol: https +Root Path: api.Fastcheck.store +Type GET +Path /fastcheck + + +Request Parameters: +{ +"fastcheck": “1234-5678-0001”, +} +Response (OK): +{ + "fastcheck": "1234-5678-0001", + "expiration": 2021-07-07T09:08:18Z , + "Status": true +} +________________ +New Fastcheck +Create a fastcheck for a given amount. The Users must have a sufficient amount on the balance. +Protocol: https +Root Path: api.Fastcheck.store +Type POST +Path /fastcheck +HEADER: Authorization - {"sessionID": "1AF3781BF6B94604B771AEA1D44FA63A"} +Request Parameters: + { + "amount": 158000, + "currency": "RUB" + } +Response (OK): +{ + "fastcheck": "1234-5678-0001", + "expiration": 2021-07-07T09:08:18Z , + "code": "5864", + "Status": true +} +________________ +Accept Fastcheck +Accept fastcheck to the user balance. +Protocol: https +Root Path: api.Fastcheck.store +Type POST +Path /fastcheck +HEADER: Authorization - {"sessionID": "1AF3781BF6B94604B771AEA1D44FA63A"} +Request Parameters: + { + "fastcheck": "1234-5678-0001", + "code": "5864" + } +Response (404-ERROR): +{ + "message": "not authorized" +} +Response (200-OK): +{ + "message": "ok" +} \ No newline at end of file diff --git a/public/SBP QR API.txt b/public/SBP QR API.txt new file mode 100644 index 0000000..157b449 --- /dev/null +++ b/public/SBP QR API.txt @@ -0,0 +1,262 @@ +General Information +Information exchange with the SBP server is realized via RESTful API. All requests to the server must be executed via HTTPS using GET||POST||PUT||DELETE requests to the given ROOT address. Body of requests must be in JSON format. All not public requests must be signed by the client and the public key must be sent to the server for client identification and sign checking. + + +Header: +“Authorization”: {JSON WITH KEY AND PARTNERID} + + +Check if server is available +Client needs to periodically check if the server is available by sending “ping” to the client. On error corresponding message must be shown. +Protocol: https +Root Path: QR.VITANOVA.NETWORK +Type GET +Path /ping +Request Parameters: +{ + + +} +Response (Error): +{ +"message": "pong", +"status": "Wrong Header" +} +Response (OK): +{ +"message": "pong", +"status": "Correct Header" +} +________________ + + +Create New QR code +Create New QR for payment via SBP +Protocol: https +Root Path: QR.VITANOVA.NETWORK +Type POST +Path /qr +Request Parameters: +{ +"amount": 10.00, //amount from 10Rub to 499.000 Rub +"qrDescription": "Item description", +"order": "540", //orderid at partner’s platform +"partnerID": 102 //same as in header +"Phonemask": 79xxxx66265 //User phone number mask, needed only for crypto based operations. Payment will be accepted only from phone numbers corresponding to the mask +"Namelastname": Hakxx Sargxxxx /Mask for User name, lastname in cyrilic, needed only for crypto based operations. Payment will be accepted only from the user corresponding to that mask. +} + + +Response !=200(Error): +{ + "error": "wrong key" +} +Response =200(OK): +{ + "qrId": "BD10002CI1V3JP1T8QR8TIQ8K35RBVQB", + "qrStatus": "NEW", + "qrExpirationDate": "2025-11-20T10:10:44Z", + "Payload": "https://qr.nspk.ru/BD10002CI1V3JP1T8QR8TIQ8K35RBVQB?type=02&bank=100000000007&sum=1000&cur=RUB&crc=8ACC", + "qrUrl": "https://e-commerce.raiffeisen.ru/api/sbp/v1/qr/BD10002CI1V3JP1T8QR8TIQ8K35RBVQB/image" +} +________________ + + +Check Dynamic QR code +Check QR status +Protocol: https +Root Path: QR.VITANOVA.NETWORK +Type GET +Path /qr/dynamic/{qrId} + + +Request Parameters: +{ +} + + +Response !=200(Error): +{ + "error": "Error from the bank " +} +Response =200(OK): +{ +`json:"nspkID"` //": "AD100060JFQF8FSB9Q28FFL88IH6SST0" `json:"amount"` // "1235" +`json:"currency" // "RUB" +`json:"order"` // "126" partner order id PaymentDetails +`json:"paymentDetails"` // "Назначение платежа 2", +`json:"qrType"` //"QRDynamic", +`json:"qrExpirationDate"` //: "2025-11-22T09:14:38+03:00" `json:"sbpBank"` // "raiffeisen" +`json:"sbpMerchant"` //"Dexar" +`json:"sbpMerchantId"` //"", uint64 +`json:"sbpOperationId"` //0 Status +`json:"status"` //": "NEW", "APPROVED", "REJECTED", "COMPLETED" +`json:"nspkurl"` //"https://qr.nspk.ru/AD100060JFQF8FSB9Q28FFL88IH6SST0 +`json:"statusurl"` // "https://partner.com/1234321/status" url for checking QR `json:"redirectUrl"` //"https://fastcheck.store/" +`json:"qrDescription"` //"QR для оплаты заказа" +`json:"additionalInfo"` // TTL +`json:"TTL"` //10 timeout in minutes +`json:"callbackUrl"` // https://partner.com/1234321 callback after QR get paid +`json:"retry"` //0 retry count for calling partner +`json:"partnerID"` //103 Partner created QR PartnerqrID `json:"partnerqrID"` //QR ID in partner system RequestIP +`json:"requestIP"` //IP address of client requested QR +} +________________ + + +Check Static QR code +Get all qr-s paid by static QR for today, skipping already read qr codes +Protocol: https +Root Path: QR.VITANOVA.NETWORK +Type GET +Path /qr/static/{qrId}?skip=25 +Request Parameters: +{ +} + + +Response =200(OK): +[{ +`json:"nspkID"` //": "AD100060JFQF8FSB9Q28FFL88IH6SST0" `json:"amount"` // "1235" +`json:"currency" // "RUB" +`json:"order"` // "126" partner order id PaymentDetails +`json:"paymentDetails"` // "Назначение платежа 2", +`json:"qrType"` //"QRDynamic", +`json:"qrExpirationDate"` //: "2025-11-22T09:14:38+03:00" `json:"sbpBank"` // "raiffeisen" +`json:"sbpMerchant"` //"Dexar" +`json:"sbpMerchantId"` //"", uint64 +`json:"sbpOperationId"` //0 Status +`json:"status"` //": "NEW", "APPROVED", "REJECTED", "COMPLETED" +`json:"nspkurl"` //"https://qr.nspk.ru/AD100060JFQF8FSB9Q28FFL88IH6SST0 +`json:"statusurl"` // "https://partner.com/1234321/status" url for checking QR `json:"redirectUrl"` //"https://fastcheck.store/" +`json:"qrDescription"` //"QR для оплаты заказа" +`json:"additionalInfo"` // TTL +`json:"TTL"` //10 timeout in minutes +`json:"callbackUrl"` // https://partner.com/1234321 callback after QR get paid +`json:"retry"` //0 retry count for calling partner +`json:"partnerID"` //103 Partner created QR PartnerqrID `json:"partnerqrID"` //QR ID in partner system RequestIP +`json:"requestIP"` //IP address of client requested QR +}] + + +________________ + + +Delete QR +Delete unused QR. If QR is not paid until expiration time, it will be automatically deleted. +Protocol: https +Root Path: QR.VITANOVA.NETWORK +Type DELETE +Path /qr/{qrId} +Request Parameters: +{ +} + + +Response !=200(Error): +{ +"error": "Error from the bank " + + +} +Response =200(OK): +{ + } +________________ +Check Partner +Returns partner status, with balance and transactions. Each transaction id is QR code, which can be checked additionally. +Root Path: API.VITANOVA.NETWORK +Type Get +Path /partners/{partnerID} +Request Parameters: +{ +} +Response !=200(Error): +{ +"error": "Not authorized " +} +Response =200(OK): +{ + "telegram_id": 8285633, + "username": "ZZZ", + "first_name": "АMAN", + "last_name": "", + "balance": 22, + "transaction": [ + { + "additionalInfo": "Ручка", + "paymentPurpose": "Ручка", + "amount": 22, + "code": "SUCCESS", + "createDate": "2025-11-22T15:57:40.925104+03:00", + "currency": "RUB", + "order": "8285633735_301", + "paymentStatus": "SUCCESS", + "qrId": "AD10004C1K9N71MN907RD56UOA0BHIBR", + "transactionDate": "2025-11-22T15:58:14.814187+03:00", + "transactionId": 771515533, + "qrExpirationDate": "2025-11-22T16:12:40+03:00" + } + ], + "inn": 0 + } + + + + + + +________________ + + +Withdraw +Get amount from balance and Creates fastcheck, which then can be for buying usdt, transferring to bank account and to bank card. Fastcheck can be checked on site or via API only by Id, but can be used only with code. +Root Path: QR.VITANOVA.NETWORK +Type POST +Path/partners/withdraw/{partnerID} +Request Parameters: +{ +“amount”: 10600.00 +“currency”: “RUB” +“partnerId: “1023454” +“wallet”: “TBia4uHnb3oSSZm5isP284cA7Np1v15Vhi” +“” +“rate”:79.50 +} + + +Response !=200(Error): +{ +"error": "Not enough amount on balance " +} +Response !=200(Error): +{ +"error": "Rate is not correct " +} +Response =200(OK): +{ + “trxID”:”T5Mv2v8n9L7jY4k1pW3QhUoZfE9R1X3s7rY6tB0pA2C4D6E8F5H” +} +________________ +RATE +Get currency exchange rate. +Root Path: QR.VITANOVA.NETWORK +Type GET +Path/partners/rate +Request Parameters: + + + + +Response !=200(Error): +{ +"error": "Not Authorized " +} + + +Response =200(OK): + + +{ + "rate": 78.5 +} \ No newline at end of file diff --git a/public/alipay.svg b/public/alipay.svg new file mode 100644 index 0000000..cd9e6d7 --- /dev/null +++ b/public/alipay.svg @@ -0,0 +1,5 @@ + + + A + diff --git a/public/example.json b/public/example.json new file mode 100644 index 0000000..e69de29 diff --git a/public/favicon.ico b/public/favicon.ico index 57614f9c967596fad0a3989bec2b1deff33034f6..897b8b4302918b4b7ca279d29dc4b800624fdbff 100644 GIT binary patch literal 15086 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 ebh=CI@#P9gk~WdCV$S)jBVk+s literal 15086 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 Nr__JTFzvMr^FKp4S3v*( diff --git a/public/flags/arm.svg b/public/flags/arm.svg new file mode 100644 index 0000000..b83d158 --- /dev/null +++ b/public/flags/arm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/flags/en.svg b/public/flags/en.svg new file mode 100644 index 0000000..b3d4b3b --- /dev/null +++ b/public/flags/en.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/flags/ru.svg b/public/flags/ru.svg new file mode 100644 index 0000000..6a66ca4 --- /dev/null +++ b/public/flags/ru.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/i18n/en.json b/public/i18n/en.json new file mode 100644 index 0000000..dc91bc0 --- /dev/null +++ b/public/i18n/en.json @@ -0,0 +1,130 @@ +{ + "header": { + "nav_about": "About", + "nav_contacts": "Contacts", + "nav_partners": "Partners", + "nav_support": "Support", + "aria_nav": "Navigation", + "aria_menu": "Mobile menu", + "aria_burger": "Menu", + "aria_close": "Close menu" + }, + "footer": { + "desc": "An innovative virtual check service for individuals. Create digital checks online and cash them out at partner bank ATMs 24/7.", + "contacts_heading": "Contacts", + "russia": "Russia", + "armenia": "Armenia", + "support_label": "Tech support", + "support_hours": "24/7", + "questions_label": "Questions", + "questions_hours": "10:00–19:00 MSK", + "legal_heading": "Legal details", + "legal_company": "LLC «VIAEXPORT»", + "legal_inn_ru": "TIN (RU): 9909675800", + "legal_inn_am": "TIN (AM): 01051049", + "legal_kpp": "KPP: 770287001", + "legal_ogrn": "OGRN: 282.110.1296681", + "legal_address": "Armenia, 0201, Yerevan, Minskaya St. 21-23, apt. 44", + "rights": "LLC «VIAEXPORT». All rights reserved.", + "director": "Director: Amirkhanyan Sargis Artashesovich" + }, + "fastcheck": { + "subtitle": "Enter fastCHECK details or create a new one", + "number_label": "fastCHECK number", + "number_placeholder": "123456-123456-123456", + "number_new": "New", + "amount_label": "Amount", + "amount_checking": "Checking…", + "code_label": "Code", + "code_placeholder": "000000", + "pay_btn": "Pay", + "modal_title": "Sign in via Telegram", + "modal_sub": "Scan QR or open the link", + "modal_loading": "Loading…", + "modal_open_tg": "Open in Telegram", + "modal_confirming": "Confirming payment…", + "modal_waiting": "Waiting for sign-in…", + "modal_paid_title": "Paid", + "modal_paid_sub": "fastCHECK successfully accepted.", + "share_email": "Send by email", + "share_tg": "Send via Telegram" + }, + "create": { + "title": "New", + "subtitle": "Enter the amount to top up", + "back_label": "Back", + "payment_label": "Payment method", + "currency_label": "Currency", + "amount_label": "Payment amount", + "note_label": "Note", + "note_placeholder": "Reason for payment...", + "creating": "Creating…", + "create_btn": "Create", + "amount_hint": "Allowed amount:", + "qr_label": "Scan QR to pay", + "qr_waiting": "Waiting for payment confirmation…" + }, + "sbp": { + "title": "Pay via SBP", + "subtitle": "Fast Payment System", + "amount_label": "Payment amount", + "currency_name": "Russian ruble", + "note_label": "Note", + "note_placeholder": "Reason for payment...", + "pay_loading": "Please wait...", + "pay_btn": "Proceed to payment" + }, + "about": { + "title": "About the service", + "lead": "fastCHECK is an innovative virtual check service for individuals, available 24/7.", + "what_title": "What is fastCHECK?", + "what_text": "fastCHECK is a digital check you create online and cash out at partner bank ATMs at any time of day. No queues, no offices — just your phone and the nearest ATM.", + "how_title": "How does it work?", + "step1": "Log in and create a new fastCHECK with the required amount.", + "step2": "Save the check number and 5-digit code.", + "step3": "Enter the details on the site and confirm via Telegram.", + "step4": "Receive the funds in a convenient way.", + "why_title": "Why fastCHECK?", + "why1": "Available 24/7 — including weekends and holidays.", + "why2": "Secure authorisation via Telegram.", + "why3": "Supports SBP and other popular payment methods.", + "why4": "Fast processing — from seconds to a few minutes.", + "company_title": "About the company", + "company_text": "The service is developed by LLC VIAEXPORT (TIN 9909675800). The company is registered in Russia and Armenia. Legal address: Armenia, 0201, Yerevan, Minskaya St. 21-23, apt. 44." + }, + "contacts": { + "title": "Contacts", + "lead": "We are available 24/7. Choose your preferred way to reach us.", + "ru_label": "Phone — Russia", + "am_label": "Phone — Armenia", + "email_label": "Email", + "tg_label": "Telegram bot", + "hours_title": "Working hours" + }, + "errors": { + "not_found": "Payment not found or expired.", + "lookup_failed": "Could not verify the number. Please try again.", + "session_failed": "Could not create a session. Please try again.", + "payment_failed": "Could not process the payment. Check the code and try again.", + "invalid_code": "Invalid code. Please check and try again.", + "invalid_amount": "Please enter a valid amount." + }, + "common": { + "secure": "Secure connection" + }, + "partners": { + "title": "Partners", + "lead": "Stores, services and companies accepting fastCHECK as a payment method.", + "cat_finance": "Finance", + "cat_retail": "Retail", + "cat_hotels": "Hotels", + "cat_services": "Services", + "p1_desc": "Currency exchange and transfers across Armenia.", + "p2_desc": "Forex broker supporting fastCHECK for account top-ups.", + "p3_desc": "Online retailer with delivery across Russia and CIS.", + "p4_desc": "Hotel booking and payment via fastCHECK.", + "cta_title": "Want to become a partner?", + "cta_text": "Connect fastCHECK to your business — fast, with minimal paperwork.", + "cta_btn": "Contact us" + } +} diff --git a/public/i18n/hy.json b/public/i18n/hy.json new file mode 100644 index 0000000..b1596a3 --- /dev/null +++ b/public/i18n/hy.json @@ -0,0 +1,130 @@ +{ + "header": { + "nav_about": "Ծառայության մասին", + "nav_contacts": "Կապ", + "nav_partners": "Գործընկերներ", + "nav_support": "Աջակցություն", + "aria_nav": "Նավիգացիա", + "aria_menu": "Բջջային ընտրացանկ", + "aria_burger": "Ընտրացանկ", + "aria_close": "Փակել ընտրացանկը" + }, + "footer": { + "desc": "Ֆիզիկական անձանց համար վիրտուալ չեկերի նորարարական ծառայություն: Ստեղծեք թվային չեկեր առցանց և կանխիկացրեք դրանք գործընկեր բանկերի բանկոմատներում 24/7:", + "contacts_heading": "Կապ", + "russia": "Ռուսաստան", + "armenia": "Հայաստան", + "support_label": "Տեխ. աջակցություն", + "support_hours": "24/7", + "questions_label": "Հարցեր", + "questions_hours": "10:00–19:00 MSK", + "legal_heading": "Իրավաբանական տվյալներ", + "legal_company": "ООО «ВИАЭКСПОРТ»", + "legal_inn_ru": "ИНН (РФ): 9909675800", + "legal_inn_am": "ИНН (AM): 01051049", + "legal_kpp": "КПП: 770287001", + "legal_ogrn": "ОГРН: 282.110.1296681", + "legal_address": "Հայաստան, 0201, Երևան, Մինսկայա փ. 21-23, բն. 44", + "rights": "ООО «ВИАЭКСПОРТ»: Բոլոր իրավունքները պաշտպանված են:", + "director": "Տնօրեն՝ Ամիրխանյան Սարգիս Արտաշեսի" + }, + "fastcheck": { + "subtitle": "Մուտքագրեք fastCHECK տվյալները կամ ստեղծեք նորը", + "number_label": "fastCHECK համար", + "number_placeholder": "123456-123456-123456", + "number_new": "Նոր", + "amount_label": "Գումար", + "amount_checking": "Ստուգվում է…", + "code_label": "Կոդ", + "code_placeholder": "000000", + "pay_btn": "Վճարել", + "modal_title": "Մուտք գործել Telegram-ով", + "modal_sub": "Սկանավորեք QR կամ բացեք հղումը", + "modal_loading": "Բեռնվում է…", + "modal_open_tg": "Բացել Telegram-ում", + "modal_confirming": "Վճարման հաստատում…", + "modal_waiting": "Սպասում ենք մուտքի…", + "modal_paid_title": "Վճարված է", + "modal_paid_sub": "fastCHECK-ը հաջողությամբ ընդունված է:", + "share_email": "Ուղարկել էլ. նամակով", + "share_tg": "Ուղարկել Telegram-ով" + }, + "create": { + "title": "Նոր", + "subtitle": "Նշեք համալրման գումարը", + "back_label": "Հետ", + "payment_label": "Վճարման եղանակ", + "currency_label": "Արժույթ", + "amount_label": "Վճարման գումար", + "note_label": "Նշում", + "note_placeholder": "Վճարման պատճառ...", + "creating": "Ստեղծվում է…", + "create_btn": "Ստեղծել", + "amount_hint": "Թույլատրելի գումար՝", + "qr_label": "Սկանավորեք QR-կոդը վճարելու համար", + "qr_waiting": "Սպասում ենք վճարման հաստատման…" + }, + "sbp": { + "title": "Վճարել SBP-ով", + "subtitle": "Արագ վճարումների համակարգ", + "amount_label": "Վճարման գումար", + "currency_name": "Ռուսական ռուբլի", + "note_label": "Նշում", + "note_placeholder": "Վճարման պատճառ...", + "pay_loading": "Սպասեք...", + "pay_btn": "Անցնել վճարմանը" + }, + "about": { + "title": "Ծառայության մասին", + "lead": "fastCHECK-ը ֆիզիկական անձանց համար վիրտուալ չեկերի նորարարական ծառայություն է, հասանելի 24/7:", + "what_title": "Ի՞նչ է fastCHECK-ը", + "what_text": "fastCHECK-ը թվային չեկ է, որը ստեղծում եք առցանց և կանխիկացնում գործընկեր բանկերի բանկոմատներում: Հերթեր չկան, գրասենյակներ չկան — միայն հեռախոս և ամենամոտ բանկոմատ:", + "how_title": "Ինչպե՞ս է դա աշխատում", + "step1": "Մուտք գործեք և ստեղծեք նոր fastCHECK անհրաժեշտ գումարով:", + "step2": "Պահպանեք չեկի համարն ու 5-նիշ կոդը:", + "step3": "Մուտքագրեք տվյալները կայքում և հաստատեք Telegram-ի միջոցով:", + "step4": "Ստացեք գումարն ձեզ հարմար ձևով:", + "why_title": "Ինչու՞ fastCHECK", + "why1": "Հասանելի 24/7 — ներառյալ հանգստյան և տոն օրերը:", + "why2": "Անվտանգ թույլտվություն Telegram-ի միջոցով:", + "why3": "Աջակցում է ՍԲՊ-ին և այլ հայտնի վճարման եղանակներ:", + "why4": "Արագ մշակում — վայրկյաններից մինչև մի քանի րոպե:", + "company_title": "Ընկերության մասին", + "company_text": "Ծառայությունը մշակվել է ООО «ВИАЭКСПОРТ»-ի կողմից (ИНН 9909675800): Ընկերությունը գրանցված է Ռուսաստանում և Հայաստանում: Իրավաբանական հասցե՝ Հայաստան, 0201, Երևան, Մինսկայա փ. 21-23, բն. 44:" + }, + "contacts": { + "title": "Կապ", + "lead": "Մենք կապի մեջ ենք 24/7: Ընտրեք կապի հարմար եղանակ:", + "ru_label": "Հեռախոս — Ռուսաստան", + "am_label": "Հեռախոս — Հայաստան", + "email_label": "Էլ. փոստ", + "tg_label": "Telegram-բոտ", + "hours_title": "Աշխատանքային ժամեր" + }, + "errors": { + "not_found": "Վճարումը չի գտնվել կամ ժամկետն անցել է:", + "lookup_failed": "Չհաջողվեց ստուգել համարը: Կրկին փորձեք:", + "session_failed": "Չհաջողվեց ստեղծել նիստ: Կրկին փորձեք:", + "payment_failed": "Չհաջողվեց մշակել վճարումը: Ստուգեք կոդը և կրկին փորձեք:", + "invalid_code": "Սխալ կոդ: Ստուգեք և կրկին մուտքագրեք:", + "invalid_amount": "Մուտքագրեք ճիշտ գումար:" + }, + "common": { + "secure": "Անվտանգ կապ" + }, + "partners": { + "title": "Գործընկերներ", + "lead": "Խանութներ, ծառայություններ և ընկերություններ, որոնք ընդունում են fastCHECK-ը:", + "cat_finance": "Ֆինանսներ", + "cat_retail": "Ռիթեյլ", + "cat_hotels": "Հյուրանոցներ", + "cat_services": "Ծառայություններ", + "p1_desc": "Արժույթի փոխանակում և փոխանցումներ ամբողջ Հայաստանում:", + "p2_desc": "Ֆորեքս բրոքեր fastCHECK-ով հաշիվ համալրման համար:", + "p3_desc": "Առցանց ռիթեյլ՝ Ռուսաստանով և ԱՊՀ-ով առաքմամբ:", + "p4_desc": "Հյուրանոցի ամրագրում և վճարում fastCHECK-ի միջոցով:", + "cta_title": "Ցանկանու՞մ եք դառնալ գործընկեր", + "cta_text": "Միացրեք fastCHECK-ը ձեր բիզնեսին — արագ, նվազ փաստաթղթերով:", + "cta_btn": "Կապվեք մեզ հետ" + } +} diff --git a/public/i18n/ru.json b/public/i18n/ru.json new file mode 100644 index 0000000..d4a025b --- /dev/null +++ b/public/i18n/ru.json @@ -0,0 +1,130 @@ +{ + "header": { + "nav_about": "О сервисе", + "nav_contacts": "Контакты", + "nav_partners": "Партнёры", + "nav_support": "Поддержка", + "aria_nav": "Навигация", + "aria_menu": "Мобильное меню", + "aria_burger": "Меню", + "aria_close": "Закрыть меню" + }, + "footer": { + "desc": "Инновационный сервис виртуальных чеков для физических лиц. Создавайте цифровые чеки онлайн и обналичивайте их через банкоматы банков-партнёров 24/7.", + "contacts_heading": "Контакты", + "russia": "Россия", + "armenia": "Армения", + "support_label": "Техподдержка", + "support_hours": "24/7", + "questions_label": "Вопросы", + "questions_hours": "10:00–19:00 МСК", + "legal_heading": "Реквизиты", + "legal_company": "ООО «ВИАЭКСПОРТ»", + "legal_inn_ru": "ИНН (РФ): 9909675800", + "legal_inn_am": "ИНН (AM): 01051049", + "legal_kpp": "КПП: 770287001", + "legal_ogrn": "ОГРН: 282.110.1296681", + "legal_address": "Армения, 0201, Ереван, ул. Минская, дом 21-23, кв. 44", + "rights": "ООО «ВИАЭКСПОРТ». Все права защищены.", + "director": "Директор: Амирханян Саргис Арташесович" + }, + "fastcheck": { + "subtitle": "Введите данные fastCHECK или создайте новый", + "number_label": "Номер fastCHECK", + "number_placeholder": "123456-123456-123456", + "number_new": "Новый", + "amount_label": "Сумма", + "amount_checking": "Проверяем…", + "code_label": "Код", + "code_placeholder": "000000", + "pay_btn": "Оплатить", + "modal_title": "Войти через Telegram", + "modal_sub": "Отсканируйте QR или откройте ссылку", + "modal_loading": "Загрузка…", + "modal_open_tg": "Открыть в Telegram", + "modal_confirming": "Подтверждение оплаты…", + "modal_waiting": "Ожидание входа…", + "modal_paid_title": "Оплачено", + "modal_paid_sub": "fastCHECK успешно принят.", + "share_email": "Отправить на почту", + "share_tg": "Отправить в Telegram" + }, + "create": { + "title": "Новый", + "subtitle": "Укажите сумму для пополнения", + "back_label": "Назад", + "payment_label": "Способ оплаты", + "currency_label": "Валюта", + "amount_label": "Сумма платежа", + "note_label": "Примечание", + "note_placeholder": "Причина платежа...", + "creating": "Создание…", + "create_btn": "Создать", + "amount_hint": "Допустимая сумма:", + "qr_label": "Отсканируйте QR для оплаты", + "qr_waiting": "Ожидаем подтверждения оплаты…" + }, + "sbp": { + "title": "Оплата через СБП", + "subtitle": "Система быстрых платежей", + "amount_label": "Сумма платежа", + "currency_name": "Российский рубль", + "note_label": "Примечание", + "note_placeholder": "Причина платежа...", + "pay_loading": "Подождите...", + "pay_btn": "Перейти к оплате" + }, + "about": { + "title": "О сервисе", + "lead": "fastCHECK — инновационный сервис виртуальных чеков для физических лиц, доступный 24/7.", + "what_title": "Что такое fastCHECK?", + "what_text": "fastCHECK — это цифровой чек, который вы создаёте онлайн и обналичиваете через банкоматы банков-партнёров в любое время суток. Никакой очереди, никаких офисов — только телефон и ближайший банкомат.", + "how_title": "Как это работает?", + "step1": "Зайдите в личный кабинет и создайте новый fastCHECK с нужной суммой.", + "step2": "Запомните или сохраните номер чека и 5-значный код.", + "step3": "Введите данные на сайте и подтвердите операцию через Telegram.", + "step4": "Получите средства удобным вам способом.", + "why_title": "Почему fastCHECK?", + "why1": "Работает 24/7 — включая выходные и праздники.", + "why2": "Безопасная авторизация через Telegram.", + "why3": "Поддержка СБП и других популярных методов оплаты.", + "why4": "Быстрое обслуживание — от секунд до нескольких минут.", + "company_title": "О компании", + "company_text": "Сервис разработан ООО «ВИАЭКСПОРТ» (ИНН 9909675800). Компания зарегистрирована в России и Армении, юридический адрес: Армения, 0201, Ереван, ул. Минская, дом 21-23, кв. 44." + }, + "contacts": { + "title": "Контакты", + "lead": "Мы на связи 24/7. Выберите удобный способ связи.", + "ru_label": "Телефон — Россия", + "am_label": "Телефон — Армения", + "email_label": "Электронная почта", + "tg_label": "Telegram-бот", + "hours_title": "Часы работы" + }, + "errors": { + "not_found": "Платёж не найден или просрочен.", + "lookup_failed": "Не удалось проверить номер. Попробуйте ещё раз.", + "session_failed": "Не удалось создать сессию. Попробуйте ещё раз.", + "payment_failed": "Не удалось принять платёж. Проверьте код и попробуйте снова.", + "invalid_code": "Неверный код. Проверьте и введите снова.", + "invalid_amount": "Введите корректную сумму." + }, + "common": { + "secure": "Защищённое соединение" + }, + "partners": { + "title": "Партнёры", + "lead": "Магазины, сервисы и компании, принимающие fastCHECK как способ оплаты.", + "cat_finance": "Финансы", + "cat_retail": "Ритейл", + "cat_hotels": "Отели", + "cat_services": "Услуги", + "p1_desc": "Обмен валют и переводы по всей Армении.", + "p2_desc": "Форекс-брокер с поддержкой fastCHECK для пополнения счёта.", + "p3_desc": "Онлайн-ритейлер с доставкой по России и СНГ.", + "p4_desc": "Бронирование и оплата проживания через fastCHECK.", + "cta_title": "Хотите стать партнёром?", + "cta_text": "Подключите fastCHECK к своему бизнесу — быстро, без лишних документов.", + "cta_btn": "Связаться с нами" + } +} diff --git a/public/logo_big.png b/public/logo_big.png new file mode 100644 index 0000000000000000000000000000000000000000..1bec9be2c0ff1125ba2aa32aedf3c2cb1329de09 GIT binary patch literal 383654 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
  • -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%0DWH{niQao_ zk=BVD*&^kLx|vGNwQ<2Cv{N(l{}_6hTF-#a%NB}`Br z_IiFWVNZVUC*L^;^{@6Ky?1B9oKRVAgNQA)^9I+)YiHX@S>-jZ3z7+S`|o+MH@&0z zPab@FR94TBD+1(#AU_K>Ps*4Wtu?WPi4z?XDuYg;9-Lhms}{_e{-#lOoNRKV8b;%c zTPN0ykQ^fm<@W(=SfWytXrm0opp;J9is(kSETQfIJgx=y0W_}d6Zz3E{N#Hd{@_cY z{!5ZM{^ao!cBbrYBEf#H{oI7fr*3T-5Pu3|b>_ZIHl$u+XJ^ zyW&V`&{`8l&1Q>T&-g9BCkJ$AOXsbkt+tniY`LYHDpX<8^n7h?++qn}yl+*4RVR$wQ*~&Vs%DB~3H`+s~fx!CR|r zC{4#XlRO8j@KOm3tH4bt+ph0!x{1@vH9A#II{uQaYqKst+rvn``%#+EcHt&|0!<4*6O|LkYJ^4o8H_^q!PutP24dVMw!&ZX=E z7l~Bu<~pNr8GP1}v;OEjv6CnN6@$I?e`KQUmvH{#U*@juEu!ExHU)3Yvuui~JOT+I zL>N#vO^f)<7SzTfTI$_18&N;Id?ra-=2C(X*3FEv zE$=y_p`CMD^C?W;GG-Ci6=FZ3HI#D6!-^(uL){plocFa!Qc6nZluEA#1!QU<-y+CsQO!A}}G?D_570df(_Ww26}-NQ0)$#4C-C+d?Ymu=l;j zjq}*HmrBn*e*7~(`3LX*yNvkums2hE@dHL1Yj2toY?2`7l20B~K{p6OH94{+QA#Ck z6IckL-fIOwgetxxcVB30S(3qKFBEpF4Z=A>LQ4qYJ-JdYPuf<_yE17&taCSw>q9@-hyRfW zdt>W3-ulabI<2faP!+ssw;VzVI=~ZyjV%MT#R=dctkD|loke}7#9FH}Jq840tVy=< zUW%k01R!k=;sPqL_c2*eBCy+zTf(%IVYq+ z-Sd`{Ex6JI2*p~o)`sDkuP-5yV8e*MV6(Xn!ybH{P;CTgdZFc-_{*W>(xTpWbiAO5|!UNK;AALb$s$46(9 zH_%Yta?`Y9Bd2N5!XAMKTeZ;3rFy9%-nsm5^nS1dVA=-Gih!t_J)}lEQAumEGB#CNJ%4_D@|EBJrh^6h!bg1lZpH6D{&Y@;U|U<714ejBT3(vs z#VCZ8pjwiWm2wqwO57WT4vVvssS?4S1MeEnlNq!{Xn?G$lL}d$&s%=Jkqig#NB6W= zO(AHS83gD}f{cD73b2T1NDyFDnlJ}$vvy83R94D*q7J%f*a;fH_!tykvS>iCQ_tq~R z1e=oBoE!lA@c;8*KlAxLVj!qgYA&n@HMmx&#zTX}6l*P4ITaB~KulP`+F%7btP7-8 zC)<@YD4TXyT;8V49O2Z&%Zj-yOHnpnSl$W*t&0f>ozmq6{BT!L!C(6$$Cs+00aDd#QU&n2bvy=REAWkVG@rSV|!o3!M32i!C@f znP(QE+H<@yO(=w!l!MnbDwX7dOFAQ1_t}!vDLlg!Llabpki&L`09vR4bwXy)55vmO z=ka3p(a(M5H(xbiZ~w$+J2#xQhIS3vQ9_RR)}AROW>ACj?nE@L-5MwE0DI$iG{5~b zpWPe7&4A&Vq`k?;u7lB+3c0Gw6p9L!tgJ;u$CWYK*~XzO9*4HqCKxr?q>a8(C_vys zAvV;-DAaD1aM3Ru5ME;T2Ay_T8I=nb6ducQGu{}Del&LU-jApK{ZIe(H(#!$|FR0| z|Mc;bd2bP1C|0o^cxd=)&5A{(grpb*A6Jrg^%OE)5U+!ZAfQan05EwXNw~{UtwTnm-P&V}b*)T7 zrjUD*lQB*d^!mbuIpk`}y4ah|g}o61_MkIw7=9)rEHGU7LV_48SBhwd>oC0+pLy(w@ut zB&E&6*-Y7?8|+D?<#-#QF)`<1>0KDz2n4Old`xFSaouh7`OWRHn)VuyFeJ2NnaBj! zCZka*Cw8r4%z1mE6*7H2vkKjPQbq%es=F!eRc+f z_l)QMh`>oNDA5Cq$M<6#^!%t-=hev<4VPc+2m8OY2&y=X7#Q)@O}2tE711hwl&?)tTZE80VoU&&6=D_0XwsdW zRhbo%8G_!8E`s0HD%+kB7)EP`E>&>kpH}nJ2fy@_AAESXvF%G*WAqmfde+GLlDF$} z*-^=7z2wl>H7})_BoG-?Z0G!NR@YUBz-m-Vj_j8Z;Li1M}s?1O$zH75eZ4Pn)7Z( zRYC%t^1~(VSvOOt=*)EHDY^1a-?!+^Q8gY_%bANuNwAMT{+6Hpy|-UAU=L@<=ITrY zHt~)bP<7iiu}W4Ip=*Z{*X-zMb2R^AY}*?>7xC?{etr+^0Vr;7YQ}vMc4%GD3*Kv7 za7fl*i*?5?OKM!nokuIyfUqWJhG0l#74a;Hc-}CqfuOZaZA=s@^+TuEz7>>l9q6D8 zcGc*I*b8e;t)sQ*VL?!XfNC61PwxQx@QYfhFU3bZOr>XRa7}w`04b*}lbqVBRaz8I z`ibp1Sy9%u6mmDJf&ku+v{{RE#De6qr%XDWB=xMSGNs3Y&`#C|#!lthgb8Nail-wb z_h)r}!B(7YTj%Z2IJn~E0BKh-b{Hej&9001Sl$@bcf&=;GEbJk*U zjnB^eArVp;M1j4D`Z77CORDI#3IxXNAYKdrjO>O)Z_Jjj&<)Nn?fRK&ypE#SaO^8v zkufMW!BZ94z0=3Pa0l2IKH_`tyz{z;eH{up80ZCWF7er=q_=!q%PkX&!RPfQ10eeL z(#|E7SJPH1ht=LI1wv)d9g|&>c`k32QR8}|G}IRmDV3a2Hqp8Cw(?F5o^D2qrlKb_ zHB*OM)%Y`=oT@0Px=!IX<@3BvMAf=dD`Sn(2b%=snt_ZdcZ$raWeTVn)cZcIpd;;W zt9k`WFT%R)$f#yQO2khOqzYLxJ0NA_}gjoSw&ZxYLwyx`GL*o7_Py!rS8f8!E1?9X-n%!u0 zJ1 zisc1}=MPW*_3OX+s*8Pp;^FDpC(!a1WWzY8qJDy{q&E1vs>m3cS^y`re~-cLZs(h< zBEC02Y_zV+k#ov5b?9rb0V^#Uo{~L&MjBD}aBS*OVOGacj1Kn>P}Dx<)L_Mp-5a)r zMkj5EN~SADZ5mRaUl_GCpmxu0a~-P|yum&btF;bCfskMjo0^dpjfO0g+5Pj!4}al@ ze*MFjYqQ@ySg!1n0El7yB)DlSlM| z$UUn~w+)1>I?{34)tySLrmXFW;d~}#%Wpd=y;hYPj@W^h+8jX*G=Zim4ay4z?yL_0 zi7ACSCPTWkBDB^WE&~#0s%F+DNhZdPGKyqN+=ZF?L_x=k#4^Eb%s3m9QHv4Tc;t80 z*!Jx4C;$5OUwp-h=7WkjKXb=zbDT2gbw(cAl*rR8+~9F}y62i0rWRNKtzG5qH+JaF z+w+g+U};f`x4oE}+62r+H{)gN3=g(8$8m*&ZCZ<7M{9K?DlGPO4ov`!5-uJ&gs+LKR^D3ANrFo_Hn#>2iQBW zIR^Xq@w}tLIy88N^Es8srD~Xh0mcY`*J8SGa?ZDPxt^0=6@@x>kSdZg@B5xao?kfP zH@i6Ej7xU!HWOCQ=`HW%puJrlP*NaqmNm#Nb~)`<1Ng&dQIT3B;Q6>ExI%TF$MsWE ztqh7@nLQn~;X~3{Z=FM}&-0$s1P$e?si^{l~zw@WWFLT#eZcaAxt1pM%yx}h5K}Gy$XGJc2 zr2zW#I+Qa6W!KzV+lW#SDfBJcy)`!I;M|=RGGb#wa8@VNJMCTL^tWs;vtoP1Agmv|lGb3+<*&Czd5^=DjKn2-#YO*E4Kvyb;8;4hu zsZ3LOpxCXp{kG9Wn=N2j>)C#qt#Eoi2AtvZ`8Wc)r3TcZTEr@9DtXWShwy{=-3YN~C_VTHooqYB4|IdRR0Q;v?b=C`5qClZF zC00$UP&9Bg+BOp5bnBZCgSMkXv{^W%3U;eXM;#I+W|#OC5E3(NyrCrJ?55esQVAeU zYWKMH8g+(zKx??Ri(E_+9pkYqTAcyZY{~kAi}+`Er5sKe_wj?Ho$mVy zz*;LMPn1w8>ZY$2i@K4trZmX8l=G=?(ph<8#$67;Ot;Q9jOai6b zxn%R(`AJ@kV>LuU=^*PxTX8;Pld;x$=Z#oCN7Z+|%Hw&PYzVi87y}5H*842@sH**3 zrVdQQYB#I2aT`X=c~%xd^{eyBE#v6LfK?sMOfTHV52F<3YferYWm>|(AQRQqZ?c%;lrn)j` zt{QkvTx1oVXfUV*Rvla3XLm8!pT7j`WeoO>@4VJhjssvn^I+adtJ=CP$*~Sv)|2_P z@bt)umN81{GTl(x$_h%_s6}McNnNj0GfUlMWO&ijZf=tbt@q&!Z~LRfz1F(A8rNilwG$P?b9NqacN|kflCpLVpVqXxQ!Y&(IWY(~ z#%HUDNj37cnT6Dz6I3HZrk5gKx$!va1zGkx_Q`{v|K*?k{Z|aw;!#xAoozV{l+smQ z*P-PTRbq4l1`pK{jZmFmfBc07d%5EBP3;K#rh^6ZR;^6~g4CkPsWi{CXl&b9H2dSh z*A>_f@*1so#o;sOobiKt3W$@{(S?SNN_7LGI;yM=3T8V>yJ}a1>P>W5alEO6!8j_N zV!$RA3{L3dT>07AQiJklCw8;@Cyx$*z57zwJ(#d}UrJA}&$IZZLtW+r$xMUXI{#V9bQ&H^G~OuHbA->+M2E=XIf4|BZNU0d{6_N zE3+vClq(?|&_Wkb8>KWhS#{(p3zuKk>vlYtkZqSUnB4gaG1^^J0k}}L(K?!_jmbFZ zBry0YI#LPk5rV!u_n#jC`=LL4_s)WS>)kT+Z+y*7&4+98pg(1`Fo!>rlhJ@hJ`8Ibd zlUS$BLUpa#ixq2Pyx5tzJQ|Ez+hJ**#~ocOrgint>xV!8^DAQ+u>3>2yq&y|i&g*MSxz=agU2Z83LDRn~9~GSfsh(01E{Q>a8`RM*z>meMSHI+rJe&g9&A ze{?n+d&N9k5kdK?lhMqw9~5ZsT(2~kj>O66loFcTq)1}Hvz2nDvqyB*vNUh=I7MPe z%$r<6p4ItWjk8tsJFnf5*2;}q(~H@aVVbdvPagg2*I&5>J9$Lct_I3^Yx#z$W?GqT zZPetn3xlqEOI<44_N)If^yb|+*n%B)KiqSG!fXW4S_LpSgTa+klMoKjB@dekmF1y! z4wF5)KwR6X>*d64cR=VVItOTGR|=k{rqXN%s%jaj4AK``$DQ8X#t@vgXjC%B=*F81 zP@45SllDYwf>!HuGrRZn;V=Er9bk8v<}ah(_W;<@oVWF*DRyn=lCmbr1`I)Ttv+E- zw^jiG$+yTGda_z&)nb+DRwuyCe4gnfCA|dbaSytku>+nWAAp=sOm>4-&bhUc%m7vg zTSS`_Dl`r}dW$}?)y!(4Tds_;H%iio)(mFTpR)-l*~}x;gk%L)7-tlai>w^R8ErSp zl=I~{4sHu-guEYB<>##0u}25Me)$()Ibf&CwJo7~sw1sdCzl*Aw?ZL0KP-KH6gERU zjI*!4tVR66H(REE>n}e))qYgo?)eeB&YGybwc4Z5WW;e8^PZv@lQUy*b~hStJ3M^e zIUslDDJ~M~u^yexbXe)BQmY$%kLg%6H}%mBmzNOrE?%7PD`jHz-lfC4n1H@~3@@`{ zPG}X!(~Gl*zx2a@b*NtZA_jZ!otMwO*EKre5QhKOm1sJJuMDt6E~NceqiNQHa4f;8!Y&nWu71a#DFPK}R!QQ7Vkt z=BF4$zA#Y_ddHS=5V2CbrQY4wY)0?>Zvgg9Cl6TRmk=>LP_;Fg0$YlA7QW{d7wlbct*Y*^0@HH>K0rrWtCIC)7T} zd~?o*z3`PXVmX?lg^o-ZLD=JyZ~2i|4cI%!hdkKvnd4o{q?|~jYDs2r-wPl`t8wH# zljqxNe*o;i8ZO_^xrpEN)?fV7Jh0lIySA6IRv~pEgqy`VAW1b(N+}YU5ZDeWWSf&# z&Y`l_n9inKGy#nv986BfK1$S4%6psk4# zDH3A#Gwp{vz<%rt3w9vvWd+;YuQdky%Lh+5mq%jJ;>})C$ve^sU~9JXYh6j+Q+SyN zlLs3{bm+t?Yz>8$@n&HtgPwCnp~IfRW<$xI?-^zEE)TYnavX-ycw?*CD0_Oonex61 zIVA7YnX`V}+Mbc3wAO*-uu3!&V+2}Mx~aLU6XTr*6OKT@Q=RQe-;r~)$nNQ0ZJv&i zC{?=URb4$Li>Es;7W%0BZ1%P9e&rUdKlFpGkFC9Jw+-*1Ep$)sYqHm6D-^Tg+U{FZ z(J!V-{oos(2m6bEV#e{S3Xt&765tjaTPDGqUG895_ zQdkndAUPNrda}_WK&X<3DzU^>@)ivxCL5uv5u(z?b+#c)*Mvbo7%U2^dK}Hs>7(`6 zzw%!$;uk^K>m=+i9{xll1+?o{V<5TR&Sc`)I;b58&VVwZnib`8zuj`83id0|jBe|0 zQjjR8Cv7DQ0(3$tWI+2WNp_FV=af>butrd-UtPk{QNonEAbFrhTb~B+m?64vLmkHH z1x~udTQDvqM3XB*I+l3qYR}Ju(IlHNiCO4C2VBjHYo$5BAodettZP z7O@VZg2WRK$0{M9DYZi0sDV4Bw%p#704|7R)3Z8=p%KBr(`|Sm9P#JX8Js0BdMgZK z5BWlAtwA_;xf_Cpo5U3w^VDn1wj2+bxphhSS>C{CgrhOr+5O`~Z^c*s>h78MvfB6H zB_2%JYpt;P^GBb`Cn&($o5r*#Nm@}-RJ#r(5MG017gR_o>9%RN!I5Y&Ote{KO)O~| zLaCIj0i`s*)`=2!!zq#MfM7$pQ-dF^a`kMbVlkV>bnOORN+O=APKGy_U;?Z*I`sylfgFLg(=jb?THIWOIf$7 zl%~{AjzcPSXat&zBveCki3nK{XYwuAj89?89UAU;v33@?MuT119@p96{aiO_CM7ek zC*0)OmIzZ!X4s)7In=K2R_3~^R{>SEd-U^4Jcguv@mt#H8btK_~7SWy^HwP=|i@5C!+LQ z+Hpxti`E3JTpL=i#tL{SKrUD9e@&HolXdz(dGz?Xb=FDSN+7^7m9p(htpN(4O@R{~ zLeuWKJqvbVW2$xVlOUJ8kXajy0-JT}Oy&hc#}wu5aoBWdNY`SDKJcVa1$D7DX#C)O z?`zOO12<5#aln00+RF~_4w)h32#bW>{+3b^RRsq z9H?Z^Y;5I<7tT}S^JdF=w{8QL7N8>Gy6~1#vhB^hWfK5|sm*d;(?nY;C6)UX;Wy4% z<&K0T3KS@^q9I@)WT8=6yLOU?+OQ_C8kKS>P7;?eD^2@Spn_h~u~E9$jwnQBhD0vY z9zCYi_2MF5PBf|VZB2|1iZh~$z|%I2%6V1^Z6#NZ3wc zbNC<*(R-%{PE5%&r4tF+glZf+w}7mJ)S**Pe`O6Q3{la>iyK{n1xmc^>S&rw`e&dsbK5>qJ(xlNFx?JvlEU3WbKT-#KFF2&~IY0$bI zgEp5m!?hirl^iy;oxp_2r<;+OeiKLM@iqn(FFholAmdYi_cjf>uq&mQjuS%wjXSp= z&A_UokAC4RKXL%2kb5j2cZ8l3hsC^&D;#D;O1GFe+`%1Mbgds_Sz)M6huj zj{N<_Vmvo9p;hNU`}zT}pL(@d>8>B_(z*e9+0VPeDo2iLpaf9~>zxmQRq`BXCoche z=^`FP#5Xh#cG%Hee{`=sRufXfY8LLr0TMcY&p0gM2zNncEKll~RVaQOi?S9=r@SwT zKxgcQwMB8F7i=^-}gKa4OlI zewHpQw$_Zg0xD+q#;h2vJAOSo2~%5{DN;!(qnYvf;qQjZ(F_B4?e|jCxml4Zr|#AS z^qBmai|6rz%=&EdZj%O+;(1GQ6Lax&T`dSweNJWCQ4FS54AjmNR*RWNHCA24#vFGl zFG1nBo9(+Q-uJ7Dj*lLG=eN9iz)l~tByYE z+|m5T=fU3o`16kiSSY6B0A1e}gunwiK1LLLB?i#k^wY)_94(42geyR9Ioc^~PzEez zg4Te!RJ?S?X;cXqE*3MxFzKSeNE!&@B37o4#-V0d>e@AwB^g0s1sgDacY5;C&wuS( z{_p_U_kG))kNEDvgnh%oKYX3l96$Gd2pEO$v;2*p$|UUBr{mo(nj$iPsWXLfAlRc_o|>1}CKg3JBaRu2287 zqxk^Xo7&O*vYfuVY7DWO=(bG_x-RG@l>&Aw$HJ3J z-+ut?dw%fS?n*fhLgF{P{mwhD^}hVggC|9-?Xyd@zPY4Z$VqZatQB%$!O|9H+ z*tTh;7>!9+6Rap^Tv^H!p)F7;v~q*pq3meA7j&xU^zi+2IT$tU2Bm-#vY}}Bit}VJ zSvPpJURO{N(rt1`7f)kzeUV76i!#I(y)=C!q31G@S+)umK7|4b#MP}bl&k$YpK5nz z!czNkR1+7UFId0G_dfdghyU^G-~Fm9IZi*jcLriD451rIfj0@Ps1>+^=!|OYi48WM zpPamu>Hi(DH?~{luAF{;0ZrQXx%6}vp$Mf@X*4<;EZ_h%bSWef!?Q4;^V*7pMvcBH z%2;EJb0!5dWTMv5p!Tbl=PoH_EHBz92HOsSLONGOM?IjwObcO+o^fVOTA~XPN45Ls zN1uJ|N5B821^d=-{nmHi{bB>eH@(jI_)j0oCw&W|)CYoY<&%zfycR3KoB}@_N>h@O zc9dT5F>A6I?HOxym8lLm9kXsOWeEMu+Ukl~(hZ|CNWH;0IXuUJ~Fq-~{e&Fk`J`eWU$7jc);hgt{^KH{|juPmNO`@J{wqgTkj^*5h4r?v+LwCMxsLpduob`903h|=^fPbd-()+@EPRZ*xNpfE!Uoyfqi z%U)NBi@{`?14r%84O$`~U#P`UqsfWWiID9@7#4a_8I^&VnrXAuB=<9grXtah-RZ-V zul>mP|IYhA{ypFKZ66!}d)cva2*6(F&H0nFPoHREn@~7VE`{74-mFn*(i+AoP!2ek zG;G;6m|(KWj&lM8J4`RQ?6x^b@$F zQqE4fBX>ryX2@XW%r>p6MxUq3OjYrQgWC5s+-k~hdzqtISB8mAiePoZyrRfVJLJJ> zwyEmmm92GEjkD|S^q+p=hkxMf0FXd$zu)>4Yoe3yPMF4Vp4Gl9ba3i z`6wXXregHOV^B62+-;_Iy0F9$sIM-GO`FJ&jwznwO$Z4?Qi$4QrExtFQ-n5q4eDuo zZP<+-9ge3DKmN*he*f>idjRbFzV&W!+czKbV0T5>uQL($&yVF1xe>OuN=nYlr6j}b z##+ZUk%gxcjFhqoGR&zJ7A;_|&30-6;Vd^dQudSptf|0O($2sEFh=LiO47491au1} zWnc;^;j@M$+jL&}G8R3n+Mo;J(zUp`5K~K-52;aTsYWn0$bQLFOR{sAY|$S322>6^ zfUq*5Y?)G{5NIk)+Bb=`ST|EZZ7>)m(A!EB z5?4aM1nl2quy@{E3--=ifBo5~_qu=?>xyNiqotsYMt)$cL46jGNfIWHyX2jZzT|3X za80gYUTkaPl+X;bL0N6aO4I0!8+AoZn)ooX7tXXSbhDh)@?!K+sUhWrN3rNip%ECh zs4v8=U4b3(LMg=vuq=IAad~%+0xUFv! zm3_LF>4H_tVM-zbWLmHT$w_~k%yoo;N26xvd``Pnrd=;@U+_-ivr0uAJl2d>NwfB{ zUa|1%_ z4mq}UH-CCpD)rtMBF7u6a2(E$KYe_Uq3A5o&}SBg0m8Z#_d0CPZLpwu>;(JXo+ho&JlV0k1VS{+q{7=qA(zQ?r$PJE#42Z>cy^ zu;R23wxZYa$y~C`uXWB=+x1u*J&7&tCMr39!6*nh^`>sGX_4J#-ccs$`~aKvm`8mz z5KSj$7)>wubRN>R9~3IT(TQs3HE3;Zx^i@{pX)8lxJH<0` zU(c>*8yb~bR=x{{A#Dv^=BtP{GH$aBj5h&0lW9f(V3!*_L6UzGLrOk zMF$i|c2J`s^CMYJvy($5$GiX05BByOn+JRA-O~rB$G`*-3Bsswpa<>I`D73}((IMl zP5`~CRVg;7g1(UQv@TUh2{!>vP$dv@ZfK#@Q5Y}M1l1~$n*feiA#}tTsV3#eWWZ=` z0F9_jRRMzq38Z3GT(Ge^Oc?vh*MImoKKP#R`a-5Z)FR&b?ynWGzkB>?FGJnBrp%>; zTTW;{CvaZjx@TN6)=qOO=`HC@HM?C*mkJrwN0Q^TWgX-Eno`&{mD*@FXFVsB&hN6! zRL=EG`B@xQdoNRYzNv4zl&-_HUoMRU=k-9CmdT9yHh~R#q_(D!yC{lrP%7u~3$+P-n% zIA~XB03uniB_*!w(S-)Uh>@%y0jVYglA2_~YE@4p2_1B=2!)w8%%n^PG`tJ7DK2Kk zeNc8*Td0rhLiT*_!D3ZK#l-H>gMa@Kb};Wdx!Z)B>V$||(hF+&in57rc%j-ffeGz8O1qlE`j)?(Z!-_k_H5R}>V=f- znsPpG=ksn}8_&S|8Isw8^)RcN3$`Wmtx(=7xE$AXLkJ@ZN+jprW;lQrD$NIPs!C6! zx|kmT-pwnkt-*+C;rIniBFncw`XUB<_w9GyV441{zxn8t@&E=j!P@Wu zl^yE>4ctcQ7=hzq>h%_9Eu5B?pnFY;jD@Xj~AUhn!g|FG%0eT%^p}k@oXsEi545#QdMF!XkZ01I&~A>_8r|y$w2R>$r(Y} zi`A-~D4)+++c0Te<)Rxbqm=lSA@Z6OoHpEw(JQl7q`MLX^yQSZxo8mhLJu*gYQNpZ zc=WVIL;4rpj(9pgt_onQHZfBcc}{MA{g3FhzcWm)g={BFQBT9P>;MyJ9FXheRT4b@BYW1djGqA{NN%U@?h^DRK#yM zR3pAt19ljV`1n+G97O7*>?NfglN7+v1N04yv;PF_jjpCYXw#2AVaKZH z2Kr2ngH54AZirE3jl9P#x*oZ3I+%s7!IZUbkX1w8Jf)@2Hta_upjLX@$JDto2IS_N z)0_!2tj_v2RFf1WYJGp80!>s$k%kT^7rCp`ZiPB8VE5V2eC4~p99gbhR$h;&6OJC4X7@+v9{kL~L;RMn z|Khj3+Dr8I!Ge9_j%_3Pb`YAhIKi&_v)LW(!j!GisN9_;RV9csu=VZ}i8 zKsYa9fo*y=UNzPhbYD&n_&+qb^^ z&F_BW+lPLz*Q_EQrUsnO?G%Cy{NMM3aZ5q1o4RV{B`*!{_?&G6-*)ZBIV{0Yx!O;C zA##2Tl1phD4$jnM-ARyK@H>TLyPZo{Yoi9$fJ}g-Vq3B$gW%op%sG2j6qSTH0R*K@ z*c3t}%96A`KO&u{gs$chCJD)s1kRtuRZkP5A_S*4n#p8;mVz1dOz5>A_eYW)La-nB z&hLEn8!k^Cp2B*NhD$!vn?#N&y_^&Z1E$u|i+-)$O5@@Vu)|!$17L6PNRGSM^XEQ0 zrJO4c{Y6ALgZqQE2x?Fvpt3VoSz}yQMTM-!Ah3kta3~LG^jLvbYV=q*T`x?YOf_N7 zQKyT!P|TR1J2Ue+B9c+X90#aMB%`(i(aPxMh-`GT^*=v)@B?4_DVe%v zeYZ_4YjV`>lGYn0<;9NW17VWMZte!3j*@w>OCeNuY(mT@UD;MIfxOa>-W}Ir)h%wyV79G1$Q^`iYC? zi8UqkE0W4tAw#m`@Z8+Dj*m;Da?(jP`-e&y?5|IR-=Sg@CQu!99V z6w}|ihp%}+{m(tT2Toa06Fy0{;tiUmRfR{w%T3a9CHt;nyN(*v#pICl8Yc*Z+_t>o z2QI-|M>D0@HA+4sl(VgzCn*sN66XXl6YWfoC6#|;?>c+zNUA86x;hj3Ej-c^#@;m= zV;G`YW57fcL}tl|3<4yC;8qUZ{qnqdGv4vw^!HsVo_iU399?;?K;L#9>I}ctmR@3 zp(bh7Nu3DO%f1&0_nZ3Y&S0g#e*NN?fBw`X2H0oETts0wODQ9Pp%!HX!^Gsm6auUz zO}0lOy>#i}M)M#dzWQbRgzR{J^}!o5iaeuP0j+MGR$FwEm}!)tk#regl&nM>T&vr$ zo=IS;wYnXcE}1H!btVbYGYC6luv&IALs~tmUIHs<_i(_Z1&aL)kOe1@gkvs26$}e( zutZ`Wb2CY*c5PCct}$9Os2Jkf3Yu0)Lvq}t zO*I3$w$3S+1D=c;p# z2(;jQL+6{z_b&ZuFe2{nU;Oe<9x=dP``J5n((Rcwqsz)w3@@B;`KFj*ZG zdwUdVCdnReW883>M5&uWcOh_+KDMkSJRVYnmh`V8zw znZ!ckxLr+pUf+D_`e&|Rf6M+azyF3u%wU)9Y=qI8pn|1mv6$}7#ylXavuzLhmd$WN zar8@l=^rKH%a^?V5k=ANiB=I*sMg(8Qsz!+kwDJw8ibHvlr!hHoz=PC>QP4QzyPk0 z&Qt=ei74SlP~0aE4Q4w(nnh z{xiRL{!`z7(?5H#SN$y)@s+RmU!HLimZ+`BLr4``;;%ielsUF5Nj- z5r={1%Q%wb;UaItrd6@1CQKm!ty;+Mn$Wr>=q(NksX}vMv}(0RfO6-w05cYiQqRPw z;5%&~+si5539uP<2pL~!+bIPBxjMiia5(*4Xl3JIlo@7Zs*=+B8=JmgL z{tF*@^WgRUyOU!8*#EqAA1`By17g{@xr|9lP`*v9QkXKtToz$W&OSR^GiRe(gs@FB zEQAVxLe|_*8OE}rh~ZnbtZ?4xF|t5zjIn~*BoTR9++J#A5+qQ^HA@k{IRNbM zCE_byzVCyL=l37{(jEiI8B_^sm0OAelGcqCV&)R3GTmyY6-;27dwpz>;y8&%WvY;J zMkon+uCd?{u%1J&cuVq4*g+=LI6Vz05L-IwYK?Ozk0^z*1T@2JRt5+2gUr`=E)A=J z*T3+lr{6m=*g3$S8dStFG2nmv`TPBIIn{~_$%4-WyIoYG1!An; z>#c!Ywpp8DeLEiz*W7GV{pSV_QaqQBHv6iH{Mz@9TloOQ-kdTC=X~AyiCCs=J zg;NZzm8)8oHusrgDY}i3I635^WJSeFgwuvJ#X4oJ1ZB6}u%s|uo)S>)SP)>HbVeYt zMOnxUD(e-~GwE)(D76X&D`|c*lRQb%lu|x}okq7oYwf#6pk5&roLbp%9F0A<$sBU* z?ObfGetxiV?0@|Ei$8hgg-3cnqsVd3bjK~^v%nV%?1}{3Hsp$FnaqVjVg}+!x8$=| z2L?NzgT0*R%nzF|dgFGIBH{rXWVfydq>;hKb%6(&0JI8RSI)Juj5%kv(jbOf?LcT{ zgkD-L2nb1qa!5Lc6wHI@r$?eR1bOMpxRNlRM=MS5Hr6|XF~T5}wDo-6+n2ujvFE?_ z`tQExy$_8X=PKf8_5GhC?2TXf;Jt{zH>W6tb-CD^P%E^b)`-pI%=al{tC`z1lRXnU zfH4xG??GXnrDbGiEFN+|(kPT75=oRaZO%?vY%~b)&UTO_h_&;WW93MDs%+;vYea|l zuoBqH+sxf6!3)cWA6iI}bjTsB#d>)xL!2K=BYE!yA_deSH?2Zv3%BVz$z?aUQYg9E z%pbfoYKWsz>fLX6_anZbyYAWagHN@Go)Loe5)$Wui4Ki&s>xm%_F z)`X>ra*jrXT$iZrU7gQF>%g(rsiK-X#!T!0wOSh!#10lHEZj^fT-@&3Tp*F^9y97@ z;kHOT*Qhre%r@&Dghxt+0<18uhPjhg_lY>bW+!-0TCl#GJb3QIpV@zYcn|-z@BP5Y zU~d`#Hp+@$*8c$ZYEq*N0tb68xu6Z zkEYd*E-q=y%k7$>*sc-zw>gFQmg`E`R#zg%uRj5AD9mljz%O&uYL>$)T}Ua+dFGMJ2+9Pj!2!sTmU z&MnwDYHnr)uTT!csaA`2JIA6-pkM}c7K_|?WmM~w(@HC_pfv}q+Y(%mdIuGf0c(j0 z;}lOK=Sn~;P(;E7f;Hf98x)$^uI{>d-$BAT&qM}Uj@I*oNq;c5U<1H@G%(n?nSPvu zo!5xtw#xtbeB=|?oXgv^Ni&+HML{d!VPdK(ODW4)!v?sp6eAuH;7B;D5LyXINSRiQ zqzMu^N92G|bR)xxkR~02N2^<=vxz*k1wBbpv?`8chN7Ff-q?xI)+UOhN`mZXfkW%; zF%c46iw_mv14NR;l+ws_G|1FQ3X5@7P$iV8P`R|cvsjvKB4l6l+CCWaq~5ZB{o?-h z@4oe!N85wF`i-Bxy4l*B29XLFqB*;bxJhcHdx3A9Ak#X95T=LC7@hsZi#VR~SrODb ziZEhT3%S!~FBh7lLe)_8%wO;s#zv>`#o zDkJy|HC2sBSuUDp(Ol|+U7-osEDBno-C>BhC~0)c8Z+rEB&D7u3F1-CjwE;m0f8Vh zE2Zqwl-A{#cHN0$^4~n4g|LUmgisplefP2 znMZp)1Hc}j<@Q)<%t(2=VCe)1NGWn_mR6mJ>2d-UlEuH}BEI@%yU{#y_nQX4uZZQ+E&^8~gXaKx4rm`>X4mKWU^FfVb2r2|E9jj`%w zme5;$=juWc6k6F&G&nC>+C_!EF^Qc*ElOc0^X^Yy9gI@@pL+9~{>EVE`(Pu34HDx2 zb`Cb)#&6osvpqK>BqcL~0J`1)BqU2}be|x?QhJ)MnbJxL1t9>5N*$v#J!Jz3PRHEB zg@2OK zkNASdR4KhYnV@_P1%zZ7F_7YLsS_|lc19#FWUG7R$v)V>HeprO1}2z-=$&wbj@ZE# z9OwgbShIMhQRj5OZEbI0lr@mSp;c!gXd(0tg6krmx_+&NMcG6p$XaBi0J*^#M3n&Q zkrr}dWpAsbVGl?kia#w?}+c};4&er?^y)yV>E}k>kH=cU-nP(q4gI($Nk|ZDf&y2ZT zpd2tG!APmOu{sf`ti<8L<-cdszwYH;Ar5xL=RVJm^D0!CyL;Omn1oe2ilt^O!7DhB z=y<7);sB7gHz!yNoScM3zDDc?>Ue{O;Oko2)5ALRO5y zQgS(|fntPc5=7HPq!xtnTiad;=<-9#0|{*8s&a>!R0KPo;c}Lxp{!!lkdn|U?N;+% z^m}_rX7Gt9WEms#LE+x|ZEre2yib7^Xfg9b@j@ZMLU1QHP}Tw?T81Kv6f1Y+X;fqB zjk9G*($?fx?3tAB#_nGDFh03J$ToMM$wq8EFby&|Yhhok$QnyKM@E zM@h+Hyc^ijjnhZY0`{rKD<;>fb&jMEgi;ovP6$GiMM~HL<7kt0D-8HqdMpi+2Lhd9 zujS61*uLwOt?Pb>%>L-b{qYQ4?S*F^af$ev0bts0^BKb_j_%y4m1(OjwF1p8$jLG! zhep%C4VpjlvfpTa*w`lo(T!4W>7)+UMI zsqeh;!a!j|iTH*$3=DQoVE@zL(T6?8cpH07Lr8uw3f@pBTgch6tJ=cYAPiDXsl?u9+wMk{9 zAR)#mWD9grmof(DgLK$4jP1Fv!*SU=V^5TolIq@up3g+*ue>za=HBwHZ++_BuY2}y z6!wNUz2Q}3iTLWrF+Le(j%!ybXX}El(*+VHnW`=p*sbXTEgH5f*qTKQG7B>kfNl`m zF|{j5#Ws{6;(*HJWI=#Xk7Sk9vF?AFT8cq9~(O9r=e z8={S%7YZgqd2OWRhImI#&zc!q^Ik)}GhQl#_$h{!MTqo~n7-4|dU|m0%7<@$^x}*A zgT(RipT7E;cRym0WAq|UlfCVhu&f$min%MQjPW|r-IUd4vSYN`OY`Zazptx2nS+gP zsTASM*WC9iUD zqpKIQ`{a2~A^#K<#{PE1DIlbcB_-j&Y~#R$Hs3UG*fRyG(6X zP6T&9vdpE*2_<{AR~2%uQks+C9KoWbIzXD?kVyxKmaO)*_vZm{az3r6fBx#n_Fo(b zY*_z!>!SzQYcE|T%Wls&TpgdAeaSK;S)a`mz_PD}CXf|nUF?17Z*Kb6J(+_I=QUrs zvsa-iL0BtR4owXj_>u-B=6z@x= z7IUYvo+tDmHYu()DV0tICLByCrW23Xh^nA9(S2W@P`e@XD}TE5xr;Ae{MP=ru7BaF zw>^8|Q3LFad(X|6$Ho|x77dBnZJas5iWA6$TK1}ICnAJ&&JQnt_(^2Izto6#_R7K+ z(1xUUQX7!f^{X9K?v`ZPhbiLbTl%e+Iks(SL`LM1+{D%*53pD71~jUEA}BsWRy`OrT%>817edhqAJd~DDU_Xi`#PhauO zdq)O)wCD2Gdb^x1IZFu?3(gT{En=k8PPNAN2{Jxy{k=<!z#6|A`V}i3$P;D3?yY!49Au21u5};`<6=$JJOU6p1rZ{BfNduI|1e3I+ z^o%xzop;!qxk_tZMobAotPUhPyWMyxO~QeSRedCs*u}FW1)IfQ8>R9w+lz>EPgQ}> zn)`wGM_y{LDx6dAcY(Siulz#IrKhHs^G}QfcJamQ!}-*^pL+K*7vA}5T@gofwr&A_CHmrkB|) ziC8bpVMv5cWP(MeC!i9G}^QZy#**o-jo22>PS&E9bTrvP?lQRGiChujI zhu~5aFMa9ilR4PGPFJ7%`~nbhPIXXfn_$rf*FlTqvD5k9;@F7L3lU+@wMwBr%ur{FO5x>volcFq$~s{G(6<5DDbU!T7c_u~G= zkAL@-<1*ODV57+K%BNoWs>k)L)F^m8f9dmtv?K+=<+ek{k}Tks6eVG44lEA^0uTiQ zObEDKlW|#vq$I_dCqhhsRRPT!7^AbBS(!4?nPt}{UBT95IdQ z4}Tf*+P?MWpS4yIbSs~*b7^STgehy%@TXqRTRfKTvP?Re%H-Ly&h|g6P zrLQN@set(OsKcrhoW_WJ4R-FllpdyHr+QwZ+Rp9#=AXtP*!8b}=tr*|Ob3ICcs^%7 zmpESYn6%y34zKO}_-oJI%rZrbgkxjDTTU{^59vH@*rE*g({e4A!o_$AAFp&MG3O~E zEFPI`C8O6}l#tg3`EQ0q|_FZR%S)FFV;R(`WJ>gDR zkB#J~QdugMN3~GtB+PcoOM!cczQ=WSSVwgvLb`oYQZroqW^ULiil^M@~e{_zuu(KjGX*o+{O4Kc3`sE6+pD0X7 zdDc{>3i)^JZw2i8f5CydfCF1ReT*m4Ux;S!FiWJoI3hNHN!Vr#AKWX4s#6UfTm zIUyUl*r3p#LgDLUg-ppKb)J^!b}whn%RbNvQodGV)hB}2w6>drZUESyo*xvB{TGH+ z%Zoo9N`hyeedHzL8~27J=)LVSt8mqnfsjD6w4z>2JK%K5m6BB@7n}?XHUjM79PH)% z2H(S-l~3GpH&(6Is&CQMfC?-}pnDusCQf7@!G#Dt=r)mg%N0h5;zI?k;#i76xX0^q z?8JPHKvA`*;`E-7(^74?I$ZSLb2N^1e80)3C+2`*O8NBgrC)sJ`XG3{@QpW(Q?Q{% z9Gx74$T7x_KF;Cf&%Sx1a!txsat~JB#FkB(5k4bL!|9rlMZaiK0zz_yOGXGDi3u~Z zPKjcv?p2c#OerBvLq~w6A{dK=-8LjEniHN8g>eK2^G;b~`nmBLMHKb9{LwBp9=txLyeLeNJct7|3t@)J?4+_W7f4%sY7oPvZ_unuO z*fWnBU}J1soiF!<3iPbPG!repEfZfU?LyL5B4jQ@u|B$S?xuhL`(O7&rhnLYeC>nV zK^YPzW38XGbOsy&Zv#zCnv&K;)H0QUk>V~klO9C{?nq2p6$B1^<3s5)BtU9vu$oT# zKwa1fUvs>|SvgZZmFO@c+gDqGn}j1iY3!A&A0D$K_Ah?ur>__^#DDf+W8}@_Ei8Wd z#m`r1NkoE0y@G64Ww<~aNk~c-NR>y4Zl}5zoReA7a$FMDRFpPth6uhTS2cDtCA26h zZknT}NotiO-a}1&nk5@p6Ovb1n29d8*xC+nVAM-8b%gH4W6xz|-iFx2(%!0hJ&z3| z>73COgf)`#%urkcQerb#0>^uHP?!8=`{%!WX8$cOj2!l@AH4F}XU@-~E)n_OgE;>>vJx-#&M(DVff>>~e+LL|c*A zO_F7D!Nj69c8vB_GGE$dFA@n}2-Ig#(9OK(Rw&XJgl8xtGDDu*c|vO$jVjT}N$rDF zS?960Ko-m;9D5=X5@|lVPMdxO`tY2iO;WHWJvgLl5?-RmAC?E62;}mPSNSjgOhY zGnK~*lo8r=Cw2f>0{&?F*>eUPd$1=Ac78tnl@F5ihB8YTU1F>>UKo-4nTfb{MhJ-d zd=7>V1rkdREJ_VlBwBI=C#n>#hI?zN5cgbI%Y+oddrFZM%JF(7q_8`Y%zM>EY3JFb z@2))e;Xi)p`o%#-{KC^uUl{TAfrmzpQRH~V9Q&VHHA3$0s2aS;{qL9SMZ4F}>Wdv^*;tBJEOGZv|cV>kXltAxdIh zx_Q@2p+z?h(kn`w?2qDlu?A8vAxJlgHHy)yx{f&}yI4;S53L7fDwC-lJ>5~`A4GrT z`}zFJ)vF)-(AaDoCc{gO zP=ZpBm&ZBSM?UgIMf_KT(B~_r7wrU)skAY9sP>9JibPc?ajr}hryzTuz{Kzvs5`B5 zqP?YoXC?$b4J=5wC%xJv5_Yndvg_R`qLODgF4R;>-uqtdc}lHPe6qUor{Njl{rw>z z^Se*I`#dgS5IF{bo$sm)THfP3`(?P6?ito zSS=zZgq0;_WK=z3Qcas!jz%fkGzB^%X==QgD$Ehe3#3X$O1x&C;vf!f50g0*4lqzW zA~gnz;{7N&AX9V9MZyUsXT>y793$~qDlX$a%Dv)#s{k{+atc2;qiw(y-dn-h6~bALT4l`x4qTIQl3^YvD2)^Nv=RMY74!!Lfe`G213dsY-Zv1ZAh^VDlR?E z0PmQPgdVY(&%Ldb1M9t{5sMB*j{tgK`+5Cf7=c}U{aXgt+5Y&!dSXkinTfNl6>~ss3MLG_M}35*n|G!+KsAP%%!pt zf$E%BT3bYv0*E5Spmv?hk$}1AmQbk})drM5mdaY0@XSn(ghD~M$U$z1xAjI!Q7c*d zjW~>Q?xXcqN;{bgOOfH54}bBaV|{piSX_GZg$w6K--i;%0I*j))-ztn*S~V3nbuqg z*>gG&_B3p+u!=26*j<^HCQ20*!J@Lkqlz^HI5t$!qbO|0Ys}YC`B+uWI<8e}dadVe zZ%c*9k>Aja1gAn&+;(%*E1zd_?d8gg90E}rRj-7tZz+$nC62iEEUeUSpib>uY1Mq5 zEGkZj_YkDNA~*GX{^6@1`^*b}9IC_pw+t?+aS`mC!X7!m4z6;o@8H zrYq&O4u)`q-CT~CKpPB zFBe_};fxCBkDx9%ivc_iwe6+Y=x`-;SoRL%=v?0mfnuw=-X;^jsg0k~~=KV9y&1TkOYSmQ-`NYjv)r)dQ55E8KH zOAc7!7+A&_rKDESk%)^OailDovj#KLkS3K9K`+`Q@5QQ=2{}AKP4m&C-&E*o)w!^xg}J5K>2;^7_{N^7iVVhszv_!{I*n zKl$@lzVm(Wc;|qw@jPOH4Z)*ZwCswCq)mF85th?}5V}A%p;I*xuBy^TT|RlJBL1xh zdol-mIBb5-psi}n21E-yX_rEjwPA@^S};Mmw%0mQKC!k9Esmv}fK~_#r9jlk@lbQ{ z6ocvk(9yIOEyA2rxJlcwUvGrw|Rs@KvQ4|g&@rqKqaIl~(on@ybqd+ozRMLvm zl&rF}VQd7L?FC1@?+Th_^cG3Tt~3!T*C`>Pn_J{C<-!XeLoe9E6FZHEs#6Oe5l0JN z$fhij%Ox_%djXu*aL_D)QAtyPtp&{u28u#tx*89 zMG_0G*da%5$25yV=-vrHTH&a2d=#ZaEaZXS_p4G-$;3=qK^65X)ar(B1&@d*=~WM? zFRdK+!8)8#Ar5Lg_)_<;4*|3od?vC$Nt%)}g;)?IG9^zVVK}YJ0bR|dh8PLXZEJxD zPb*4Rvy!bVzN@7*LfW}i3oaBYvFpowe(9-HGbMenp!$2SSJ}lG05zPpTQzY5emF1$+s?9b5@D zQDKdX+%|qHNHZcFYirGUA@a5^J*INi8tmS)zSPUG5b@iud>c~4(a~V9oqqe3v$hR( z98PUJ@xm{b-k<$~X95vcv2{>Z$2h=vt(s+7z*&Tx!~>;V+9}?89lLdhc{D-JMlEy* zcI^5$Y-gJNybutfKo0F`AVHVmz!~DPJl9(2SRtpc1!YObvF;7Kyc9?#I^D<=k*UF2 zralUAAYH17j<*^sot2^PuMq&%_Cen9YslN}{c1 z-|$vrku^2draZJAOizQv@yUtre*40O(J0utKNHx0T}3>kupi#LH#0jRYmseoZ4fE^ z73^l!CvGH}%T*FNTgXWriPmJ5tOTwr9YF*E<1aM7B=J`uKlJxN4#*X2M4VDuHAGU! z4OW6$M(CE%I?S3X8bh=REu}=I2<{uv{Uf!A9*|9a)_$SsRHIg{ay?qWopE*h(UoMfl_I9f}-~AwEwLzl`6!KiiCTEP8xYh%GCZv8*!|cP64iCMA8qD-kL> zC`(XcsVPWeh03n(_N#2wAxxQ+7wZ`(nP4L0WyHf_Um{ttt`0L$Tp-PKEZZa70X!4a z(`T;#{?xaj0t4$e(3d4J0NAnknb`k{UtPaDH9M$lLAq(eduw)~cGn)flEfm;oYHYK zd*&I&ICYU5RJ#rec+b`&#OY$B?fGEvT^Ii8j`f}ewH~2JpaA(YLMX_Q;ti@A1$y8J znmP?%ahX=7+my~2_6)(YB5^}Zk)b2{l`L*bCZy3-qMzhE41==QTHgO~@$%*lgtbZC zdh>0N=no0(?YGap{fy6OK6T^Kl_-ADdAMSawCDy5kF9u2FIQ`VkKE6wgVjdP>lR=? z1DXE0O8>WZj`{gEz{FFlYD_T2^IFK6Smiq5)*B_X-J2bYn7JZJGg&aHxo-20t!;V5 z2!&OEj8r03ie#}6vXb>mVH7FiBI7DH5h;`or{G91c5vez)(M`3gxYsYp=(pP zE`l;}{U;f2VJ*2)QO+1?rg*5Q7-mT?)q5s3jK@NeYKHC5e|I#;s)s;cA!ph&k?NVC z46(buqSH(>MntU3^%&!xHhYDtwr=cxusFW6y|Z}$AiMt_^z6@n;~OIa`zini3^rAb z$7(K+>Y5Df0R}5h&*xHhI#QCf>n7DPTCYq%AM9vc<@r3=U)wo8y!7rD6JtNfMT8n1 z*JE@HfjW%hH13Fw#gRz3d?3;Yb%&_RJE|jvh+WQg>ROwRmOYXLL83)ClPVN-C9=a$ zsxW0JVwsyzWYs$Oxn1d^fP*rfhSP-pJLOeL$C zOij79x<~eUr70%%?<{UZzaFYt__Fhhuf2Zpt+&4M)?0@Z1|WN;x5IAsof&J!%MS4g z4py)idDL;SpLZCaFiZ;>5MRsI)L$L`@LZ?=tN7#lm%g~+M>+RYr1L1L7!*nT^TzRu`TG#XxhpIk+jQXn1zIjicV2qIvFY0noFei;WvUKK??!gRp_|! zboSEqdp4ihIdk>17lFRcgNQg{u-AaWz$tYMRQf;1_ZL6<;Ksa9?CfOHs{?i(j$us% z7g~zah#EoND#HZ8<>UHl$efy-GPoX)YPa75k$$AqYZWV{grXt!{eD~HEETDdeIaGx zq0%~i^Dv{O9wwX#fUKmX|GAJ&Aw;DjXunQ^P_j%=PJ@EW4H6Q)wZ1j{%DH6)cflOi!#<|=at zZz`o^H>1e*!3^m!9VVi13a72}SQAA{n;=f_z{ljlwcnq$_!?P#UwiwNbEnUa+RVo$ zt9bc^pWnKFXKKD)u7z>-kYL}|TUb{(M{;$2%h9Zog(M3Qd}ru)826ok2Z|s((F_S8 zE2IvB2Op+_n*!C=6p-F9SXsj>#93onb!>A`g}rXqAQVdNhMFs?v#i(7dIi(cP!j^8 zaYl+jGs!3~qBR{75|&R&4i3cI)0>k!hb`v0k6*a>4Tv|6azp^w*=Kt{PEEkLN*oV> zg(c~YQQt%2bF{j_$8y~rixoqXNQ~R=l?8CqAI^iF{69V&>>qQ0U){a*?v05kHi|B< z@{}cPHAs3glAXwIQAb6?1JiE8n+4AdVyM(&pt%-^;;@CRV_wiwuPGLiEX*YmBJ_>a zrVwpW8qN#7(SoeTJ`vOKWPEmNRDnT;XnlyM0b{UH>Nxb7M{&X~==k-mPw&h=3W#1K zYk;n)VcL5L)S|ga1w&>_2LNe6mcM=J1|=R697wGT9!c!Y1QpjXOI*A@OZHoAu!TwqN^v=S>4F*`s*&q*BS-BE z812|3hiRT=B8%5K-YBzVuMh70*Wg>$wUvsACdt2U`8mRG}V|CSdby*0S53@Qxh4vk;S~(Xq521 zUQeu)y?!G0H0MFNB1A}?ElLd4F41B3gv(54c@~k;8u}X}eC^mph*qZGymjt%i!VqI zzcIqsE3dqL_E`h04to)6p6AybANlSI>hKC1bNb0@#G_ggb<&tRzC&h?Rt9_>WW?jp z(>ylu>I*-+_wM(85a&_YsMX?_B~9jfSSHfTxuX&lp|n98>8cPibY;BJ(*(I~DtRao zGeV07B4DD@g7!@#lPj{>!%iwP-Y958>r&3l?_OWDB{^h>o1dL})24^u{D!6U@H{{X zb_)3G`20w0dh_zF+e>$67uH)rQYXD6+am6&)+#d*_olETvlOjJ{A49_iEyOMh*t?8 z`b7FQI}he=;aWW|6gLK`W|gC!u5`0Z*0kgq9mc#wN;WhNGZQebC0Yw4%$!jw98{Fq zLm`Prf~{5Zkf1CBtO+gFN*#tzr=XX39d6?ElPeUp?FV zapFhN2jkWFb2ohgx{mh7&=_*19P6@fM4Tq=prnGkz4nhU9hrTfTRHw-nf}AwOY_w{ zW-*T=zaM!?8YN>a7LpS_K$`VA&7-t*MT)j`yex(tok>rWQgf=ERk5KdmQFb)sUAjX ziv_HzOkqr(!`H@BwSV{KIOK+8r0k-HcqMu0GD3o(EB$JX$%eyvh*InmH*kk_pf5WQ#x>_^ znNd!v&o#V(k`9@hIT#l+z< z8g_uMQxcg6)LVX_gyQu>fB}O&m+AlZg$=O;4!nVqOvXB@pja>_iw=*p;1P?HXkd^M z6fq&JgVh+V;;4^}F+@xC5D{H)vyrOxX36X`lM$^ofUYQvF5ATH-nluxJq-a>!zW;y z1Asxi4g?151ro>C{`3jFye>}feuerlvvW7iYXfE^`@&Fr>IlWp& zNcv<&lSaBHg$XgnM9a*n)iGXaVNR7YyfA{I6`g5}eV&n2KPf=IS4wFaVq3n6b<|Bc zWP;&}Y#WCQj@E^)5K+2~O1UP45suyvPmLy!2z+o87A^pN?Ho)3$i{#1;x{k;1z_i1 zvDr4*&Ytnz$QMXF7#qV|NfKyRx{e2KdS54;f5D@``@9x=L|}9%(?g^AxlI3$@vEQw z5?sF%O^UqKL{+!LBm;1%4r8&D40U*s@aTbHs2_92OoA#=QE_R9XOeXy!q;V7e2!>O zrK|mjAo$b5a5G~HQaoLlTD-Rdj|Ge^UA}$cyB9B9uubOC$(E5K|JAD(5@47s%ruhmwcYpeIMr$ zkPqja>g7Js4wXr|BBiszgi>O_RJ7KK1PXW-CvnE*iY{d~?5+$0E|@kr)TE1NvI;Sp zJp|zD=FB|!H^za!rq4jUbN}j@PhNcO!drkaE6_vO3Je(RS*M7v+O=(Cg9m=#W8dw# z%dS`R0*6FNw2Wd$v9RgYww&gSJ)`+~qxoN?MZddtWg!<6Uc(9#70#x~Y?y0k&a2$(Su)iPo{_WiT%LgA!UHV>~R9)OvA`n6v!%Yo& zDU$#t*KzgGBcjsGsIHSO2W8lW78sm;NoscgVTBo0gYQqRs|MC2(@827v+o{Ja8aWq zb3~y9(j9HQEeGoqOQ{J8Ici|+1lY->agYwR$l9}y@7~-#vuV9%7Gjg*KRJ8u!do_g zz|OsXlp%fvDI%P%GA1Slo+MkY;~=-nJr_}w@F*dQu(9svjcQ1@X6ylc-?u5^a~1I) z`_b%;dZnGCRkvS55|D#BP8M@6SuA31Dj7nEAeQD%R9izbVyHrRmg}?@QArg| zL)HzG9BD&)sNklkm0?lt&F)@bf@fkA2HUTm`RtW9FJ3sT!CwFF$VYFR%*Ut+_7}At z5O(eUNB2Ly{JqEZ7E9|)39flNR+L7D@rqM(aczqDUZxzUAXE_NNe$B)Arf5n1T#@` z*^r#*kTix`_R`9hk4pxHS*(mwPBu&sK`7O!;j5~mvq}awP8DaOBsgpXVs*U?2rGtx zR!@h!3kQpno0G620H&BX&uqe8uCwRAao*y~5|}mljv5|tJ!61DA1p#~oVd73e8wuY z8FMhA@(PlSu?C`X1-U{@%{;azT#oGY&(Dzkhxqx@-NC|*nY`gOn21rrqA!*?^LU(~ z+_R1Zl*?E!fugEXDp#C~uo;GujUiG}CK4@(CTcBav@d&DB&yKGhH1_2A1v*Sw`j1ii}J{gp^34XR_>xv!|Q7T+_SnE-jvc`O0w+iq7neZ;t=u!rK?XAazuM z*)bK1udkv8Yb>;)!B|{L;(Dd&i`1(|9pqrodJ!|m$C?f4cdjl0z4Wwork>?$q^GLA9!EAYpmtdaUBbSw=mi^%yr!Y&bJI zYl|?e1gh98Lzr9Iy}Y;yEz!&4Fdex43D{CEp0@ylRRNa3j(W_;OXK+RK!_K9eeI)< zKDxJbXZL$8T;zj73$75YI0Zu-NnBqGd@N8K2}de7q%{Zo7}`bTA#hl3NnB_}2w;Uu zj2*{$vW8PL(6MbaSB5B)4vBC>r)y=84+Z5~Wc??mQLg#c7v;F+lU^1oQ?_pGzrVON zJ-)fUJ^9X=%`@9q-??`2r3==+@z)k9+famf#y8WBtHAkSvAa4}8*|+V`d?nBTA5-U z?&TiOS!9|Oit?Es{aHnPz8CSIdlDBvot?eWlrgV$fWZ`tCnDwK$+GbTHC%KFGR9#n z&gqKqlw=MSE-T`AwUP#7SQ?zNWxFe|>WD%=Y$~?aj^2@$Jc57tg*mLKnmv7GDr&&%XFI3$SNP zA0X2Mz`m$0cl@oMTdk6HH};)Q7sqZV7Ew+SVjYHZwK4TQuuA>#xs&5xk=Th_i+AT2 z=5f@wqhFa5=d6(ray0=q8KrXON+)5SNJQMxNjqc}9yx>x=5Zq%oI+L7XWX=z9&$yc zD#BI^@O5)@dea&Ywy$2j{qt8YoTFQ5B(rlIWq&NfkKD273{z+QJOlH zfD#35BgrVr7q@wgwYiGEQ?7lQ37bq9dND zrm-U!ky34AxTcQQMyRK7w9dl8&2c+-J9)6P{odpsUbG(i3y>gM_ImBmBXxXSh<_UZ zuM;OvzIyUkAH4$*yS{X1|I*Vkk67w23x}toN^12WLtRaMk7Q}dLh9qSG8MHNtj@*+ z8!uMWQ%YkhN?PKeCuA!v!*!+NLJ2h_cq=1?;Y=1H9?H-WQ$})Oh{{S@h|peo6@a@s}zh$n?(-fA}Y5*w3$h^y!^TgNZTJ@w@9nMMc!f zzfelH6OUK4MG@`CCRXs9CM^ijif8aT?h&tD#HAGNOo{c}TWytvm*)!$_ZByIY#f}q z`rg4$PQM0E1uz(#{{aHWYt|(7BE)eN5x<;;f@6)YeRLmMc;lBZ?JkqS`a}g8QO`*C zA-0Dm2Ux(1hZx)i*kN2?>JxvRtoqnQ`9Kx9BqE|j)C!=umCAZ1l*kb)ghGrnO`T9G z8C6Wh2+jJ!$c?fR%BE_P40aIIhfTb{|LNlO9oXP&1HMjgp8wBGXU||aV0E^aFS~W$@m=ZGoOp_$AjaU4)2X+%BF*NHa5k2i#;H8l$QVV*RUPZgvs zcrIz1W>aOpJAZxg%$cLc=+(Jvb`>Iol{j7-rHE(k6Y*a^c<(>a7`%1>VbhnF7O(6- zn$ls|9Bunyy?`_kLKqY2A=&E(1Y-xcCU6}V-}JC=j4}gx730fBd`; z_Me50Tkl-|^wL75-fSvKm{T}K%v7Yfmm|hGGL4)=U7m=hG^(Q5=Zp)d$!U)$lhw3S zrmDf~Pbx)gV0EvZOA$#@5mp)irIx{&5br-1f?*P8u zoBIji%LZulM;573hZ(L>%l?@cw6GVkH5Emy<5sHJb#cXcz^iz<8#PVLp?t_fVgEEfyLRvT{TpDx^Yfy}W6#9OYp6lan;ryhl$2LEqXi#us@e#1 z!FhwUW8EkliZshTW5SS!dylN{wFB5X0Eh1;JQlw`{U#_JRz$P}20hVpXAjR*IZm^d z{}8qcd-a9ye|CHN_TYzcML*D7e+tNpDjYa#hVX#&w^lcXTno==%}Nw{T7td- z*29InHm^HIU&#qIAk$yT8;<9@H9sM>6_2qB z@{t#F1@*RLJqWah96eJ%Y&3uU`C6%eSJuD!-tEcT*YD!p$LmjLgfU9ys-Y0d1q+F! zm7Ev4iTFgWxgY?!0w8ClFDi;KRAyadAxu?FEiLYVsJsKY&5q@-PhL6)`o>7$uo^w2 zho_*)3=hOHG;#d(-2frc#wlny&)FHQou$RQv%9lTTiOZi%3sID+6ldwOi&^)VPVaw z`#qP0ejV`D6hbvAH#IGLr6XhwAjpKt905r|rcjlKR2M=UEwEh6DAgk(Y!}`7mBHi3 zA1p3{atQV)Xnu{u*SWc?*MDsXEN$2V>}b*GXmRVPqj&-=Ue7!=vyJ9K1be0YU?r`L z`O9M!){EBrkr$T}R29ui93sudl&!(Q?EAbA_OHXT$+xb<8OryTKAqZsRJN2BdDD0s zIa0D4Bb6&@B9#?zi;)(^34Var1x1=S zfT=cE`0Q&JZE|S0+}N{<&K){9j?|*Brl0ug zyR%mY%j+mgSNx`F*I13Y`5^YVXH=n7MA2Bf9_D<;s)*1B1Ask0qxs*>%YXgawcF5J zy?J+GceXUeV35agUdiPIW(|OtU`*xhJXe`kP1@(-=OHRdu7{>*hh;fffK!+k;lZ%N zmz6knuFie-?bGMqI3h3rm`!O;0l@4W^Kt(%D zSaY?>u`UWxa7u9y3SHI!VS8>1D`xUypp>Rfta-8FghfVNqhp&n3LzXqwWdn*nD;3! zi$do{Ymw>JmHEfJ?_a;UG;Z-VzIgy&;DYoJ+RKOP;h!Cdmc8I^j$T!eZGSbD&xw4t z*!ZWayNEQs*~)(=#wbHH3U zC=A*#VMwVNt{X8lL6~g_qx)rReSUx6!V8p*@$vC9<2x{%0$s4H*KhsqoRv5JEYBZh zh+vUA1Q=YS8~Myx?BoC@nw#DLy9nd0HQ)0lDh-5@5|qbOG>oZ-q%`5wk7hryYuiR% zDZu)1wCDWy0{{jRD)QM5<@$pG7bKNYrpvR+m^g6gF#mF=9}?^teT~it{Yn6KV?G?1CMQ8yt+>SHTyUd8&DB8jk_zo$O2V1` z%#VPmOVK8f&#mQZtPjdD7e?!xko_UvHIlY*ao`YZr!j(;P^rlt2}`0?Tr?W(Tx04O5(ZhgLJMO@=UT1&@$USGi#M-N+Iu(-ytO?!J`F?$ zZTeqad!3~Jokp0;b&Ca*6Z+G0fO}&bK5cBzUHjzp+rV8%__Bi)Fr{MgWfl4t;N#`v zXr=#q&oAVN5LSQw_}ch8(}x=#;npnP1sdBOJZ+U>B@D~3-zV@cZ;_$jsw-3E3Y>@S z;jl3r4#Sx}Avg9mu&Q{vEKCtLQ*dqU{`fM$3pSV73f9)JkS!Rc4cC!t3{p* zB~*J=HjGY(<`Wf)_OiqIB+nVM!tv~A5_9#pH0T&1y-+awV z97h(8|CKx)3b7Y~zeW%{`Sm~Ceh1)X2L#}3|0R2GcK098`&X{OdnN;b)p1x4NZl`r zf~t*%p(fPEU_w@A>T7!>F}W%f%S}6^dwT#eLUb!^-FURSd+CGgH^DUzxPn_~`3txU zB*gdNE%oNvH~yl|1H3>!gbUjBfA()!s{M-M#7qt!VJmP*D`>&n0}0=@6T-cc!Xxms z)Wp*>so-USBx?zg^WMUE54<*0$<7bD#aNbLL94(w^=cAMciU<|fXEbQ+;o}C{o ztA-bSF}N`p%+D_D?(Xj|y#L|S&6`Ve_H{dX0GZ)9v_&U3$LGecef-j!*53>94Vxg2 zs`5iqDijUJz5F_2Fk6Iu4G?DW1uy3pe*W3`q~-Q$kQ9O8pDDl!eFri!wv8kwf;Fkp^}L!E2U$i2MKCM0Fc#@+yKWbt0I2qw5`ET9(Q^8zZi!AgUwrin7a&}VteiE%w1oE2kFE2Z!B0$ z0jhw}7G`H>?tFLv;96Xo+dkMH--a&$FsprSLftU;*@e?@SaHMR>kWuE5BEkK&Q+W^ z*7D)sy>p<#0S>bO`}*k@Uj6Mm0I_MHFaQ}~Y!2?gy${~Mv}-fz*36YFGbOGEDp$(n zGAEAYN;NjHmJf9U*9uke3B@;BHfAOs0d)cYUxS-?4>t9V_}{*xY*_0CBmu9Dyz_sZ z9$NRtm;JA=d}q+RyWe}fziVUP#_nOje;obx@N@styYB_vEbo_i7h#NPS+ zCQ?Old=q`P1Cb&yGqf8h+Es%~JCW6G$;gNrP}Ek}(l%@QBYpG5#Al5$QC}nx8#RW1 z)$ixrORF)ut4UdE`eix=+6Q`izxSN;J?Gy04=M*)hvw>&;q?BL^MYR?dsep>A=_n4xjHQf}5>@B}0O;;aXD30UA2Dt|xe;KRZ&3d6XP z-~4P?hhnxxA?~b%3*Y(p{kIe?|MJ?sUtfOX#owg+{PvXs#iyV9;hAT?Ru|P*KR*5K zuP=V}ir)M3n|p8F`{|dT<@a8D|ATF;r~`@WG9MOnxmPMfB5st|Hh^FLWjpvH#2UXK z*j1;ol?NY4#LTi@Pyge3n%;4!YvMIOo^?8%et)~u?_`HTYbz4N3Y8##>!u&^Zy@Dd zq8Ta2a(Jwob6vW$aNo{Ttac}&7U=bQ?e=6+LeD_%xWAT`ta@7<;#?q zy?*ceFTZ+Le(JY3etYrd=brlRi)X+2=HB<;zxukEC2qa?-iKNQW5M-#scNDIE51aq zl(i{??x25ovOc31fMA4(w#0JX>GOCnN+wf^$E))NMk*>!!myp9CChABE!m@^y*-p9G}T z2SrF07H(Be&f00+JeY183?yas2~kXS!o!}AyWMfUTZLRgmYpVr8tgJyczC-(VB_&Q7PZqo3in z#4RfErLh7*Ojs>(lRdk#Yg%B+tXInLcl(yyEqABFdiPeShMgN)+iB z5vGa;quG^Og6asW)eY0}X|R=SqH+|(`rvwH0rP}PDzpa4i$!5H$+9f}Cled%#=sck!@AuPP=i#rD$(og(?$@x z-a~;sq+Ew@ys8Q_tC$yjmw>-3zccORD?ve4fnjl!B+67bMp=81Rz)y|9z}NZWHQ!d z3XP@;rRtRI;T^=&yW=Up<6Krrc5K^K!hNwbfKspi=wxNxRldCU0u~&C^^1w>%Gu== zp8e0wRaYORN)MSu)4^aYPy}yxyW|M%(&!+PQ6h6-*z2a-_n(9g<@7;CX;@U0#e!S4 zQ;CID$Rr;&(J)f6i(2xzMhS^|7qqkfv5eec_g=&eW0&>y#OoZ+ZQ-Gbh}W%3vP^Gy z{<0p1)Da6&5JY?8SX~1TjlG_Z(>gm_-$|$Sv7r6x4KX#LjZ?QJ0+{ z#|ozr2GQQdA^j8%jtx__8d^)4cV6@xb}a(fJ!-5p))X4*;iW_7D8G6cJ1P(;%yGM* zoGv86%H7R3-`u~%0odPf9_;(-vf}2J0>m&B^|d1GrWf&_KtrPIA~!@yq;B$fZ?v1W zOJkEdstSlma@%AYO36=8;-K6Rt7hza!O=?-uT8qMuAX3__Xv0da!dI@PT0gmCTxKf zq(SlEIBQS3b>e7UCEd=Y2u;t8Q=-qLZi~Clr;{oxz0XCkDuE&z2aqpl69JrV1m)X! zf4}dBVA_V|Uh9x+RnZ}xoU-MdYW2A8@UG}ptMT7$)%KhF`y0Z+0r#d|ww|_?pd!LB zeYgcYl4^0VY(2k4L^B&qNkd3t87|&9IvySF?(X*c{atW4I{tL;pizvH7Irq^#Ef93 zZ^U-=y+4~ExMn5h8FGBlG$j`X!OCG7y9f;(h?|6k;>PjeZk7#(QWl50og)WSXGoD) zNnqGvgTSy$9hnSfFi@D)>u8EPJZg$T&WOJ65O{*YFr%2Csc>L?sw<~h&Su(hb8|}! z6StbpeQ`?&2@xOR!IoX~g3CA3Rx=ReFc%Z79Xnso3 zG7P&LZf-FK%!~2Q*LRW4gZDMjz^`IRo%zOpJpy^(AXGFlaYnJ0FA7jJWloR=ijs6^%V3oe%o-lXLtc=#T8KUR^x&i> zXLx(fy5)5>y(|yGTr;fkaK$gVugFI=0m9cpZ!-G0Q1&jP$cc$& zVF<^}i2>$zjW*5Wv{@8e2S=x)Lov;vFX(=exHjW*p}ZO;HLDr&^+FSJfi=7r@Xo7j zxfgacEY0^+Yrm>nN{9Z?WXsJb+;|2WSO9*Ni^>>o0>pm-O_dr<6<1xgfn*HR1t8WX zvo6ul@A>G^Z^{x_hwuNP!&=SI)WZ-Hog2e4m?pO2hH(g@Yc-dU7=aEb3?2xG1I=0^ ziptSyL%(D7LYQ?aYp!BNoAh{}Y9Bwxbfopt^nk)zd1Bnxn3 zMfAiNASmL-oMnil;Zh4Q*ULJs1_pBT62$Vbrp|@l3B<#5Cf*I@W zVIXWKvF^;ddH`O9CeQ~rjlTabIPfcai*Bt35P>|!^bilL%%$@Xo~`b*j7c9 zOtdtAJ4#W`TTztqpRftD00c9j_n>gxWMKbR>{zCYT;Y&&V9u_h*eo1!X;(`Oqoa52 zHjTYXzG6$iqKmvCx0olz{@08I50*E6p>z->VjdKGj6)bL$S!2308TloUA`nTyp#-e z2fk^;K>g6*4|l+jPw2#WLPX2PK?I-_cPXRhH0IS;1dh=YO z#@j-}LCQpNhi1-v;HNOG@yMo)1oJQkvgX(hx-U2uMa0LrnZgBs&Y3%d(_bK2dlj#V}uF z4UV#(%=!ermUZw-Rle9|Y2FE9Yj@I#VhonUylnFpFbjrJ4V+f{OyG5*rycvyUfRf! z&3+7JfbE&0>mwga$=uK#J(`W1r8yr1T^K_hL;S>W5b-(ogx^w=w z5J8(mCUB!HF3~&!Ec{}o_9L7ZjAq(8W+k2}%z_t{Gj`#|m1Wt{(RlRNj-aRV(t7Nx zU$?LRlx)^y4=w9l$FQlyE-<(%uYT&S$%j8X;kbnNW>Ha^2d`;{V4pQ%nTTX=z0eBF z!75rAU=}JdG`-e$or)6eHM&M`nl${h{U#hYBGBuHQKJpY6^UPrS@t;1c}`#s7~dTG zA#U#)b=#>5WJAVq=ruz#Ln&kO?1_OKe}CA+ z-$1A0sHB@nCItzWy=H|2hhNrf9_ar6ozZ)Yj`8Ua#thA}rn3AaHt~XTSPt_=C52Ws zW{ZXfKUaQSp)13GIz1bl7`)q`%zQI)os*O(b4ACi8eDDjs6fYD+`S%uHw5dj0%;-) zOLjrDjPdgXj}8zC%nVQmOe`pNNZ6N}DcSXvyK!gLzd-L}?~sgPGinMfg|uyphrg`G zW3nL?ZM%pK>}k=HElVP!bZeHcgrZLt9vTp z7vdR#40vlQUH4m|b4V8d^)+c4JMMva*}}5O+HBpW!aE@_-3@sWA*Mxl_Ut&-gfvdC zi(Hr-`Z9J)#zDYl!$z$K@)(nrihGGmLNPyW+hA1S2w` z>Fj_N^zy6$-P;gw4yj@gvK*^~p|(b}NNI@g*j>0|r_y(J?c@ev7z6^KJ3vYQ#fGDT zNc=qG7X_>j@UP!gxoVyj@97X#ld$T^Q=BX^h8K-BU~$)ZIzE%2sH(d8Jx-hlY*fyU zpR%xYtWN{pJpdL66L^>c0002!i2wiq00000eC*pH0RR91gRuUs{}_lZ1P%ZI0000W z%D)6~>N@uB@3m2=+@&A2H}LK>Zat2cdBQSrgqeh4ASQ~2`zk;}_HBs&M4J~tQ+hTLG#e{rz8-TC?# zY_}uY`iZB{JI6=kFt9$R=^}SiLh|&j>*jf`>{(_Ij$a)OUc3;ter8vA@SY7ulW`b^ zf$#f4;0NKW!{h$5XTsJWI~W{ILf>_oMd5ip?_RIh^ZlO3Pd>kN9G5?9HZs=_$CF|I zKS-m$=W&0?!^cx`Z_jF5LBJz48gw4o$bb6y(S0V2LZi7}ubYnNIQzt9d>(8Ip zjn;T{AZ-1v&TwKnMZrs}$Xo?j_T8P$eZ&jI5MIIARGwC6Q~Rn4?6zf9^XxwUSv@=) z>*X=It>HF+@CMbn=Q9@w{HXX5i$ce<6J-EIR=0~KJ_Y@6TM zcl(~#SZBecFKqp?gX6L9W;~>|)xKtPuw2b4(?4K*iWtQZB~wFDWaD*A#kvOdWsCri zw`t|sx^UjToD76b);SD%yrNuSohc^oK5g3uW}CC^yS;96-E_m@gBfJIBj3pyy_NaN z{-DB2S-cUks+<^mp2f9(h;_PLI0KM^2Y1s6+WB5Rm^Cv6GF7P2BC!F z7()u@T6`LpsWx9uQ4DcOE*U6+2wq)Zwe2n+e6AH9ZRo0OXAxZqH@)e14vwb4pf=#p$eS zd5vapDBOGW5C8cdbsKISl`&rF6-ZT>KpozSl#-H6YAnHwte~hMsLw#9*5zaDNZ9(J z&e+X7uMTGKKS&ZUCzeuu5uuwoViZX-ODKw$25vx$ar}*dZt+}n+A?fW+#y-O7lpXmVgEf)db*^j>&?sXmMuR zyyu&fui^PuKNp8;)@Z3^U1vs1hdMtb$W#U;CQ2g4JT=7m5{gV|sT45)<(B8jBVp@% zc85V$c)gx#wv1fYbwsZTdjc^RFIhx>Q859js_X)SV$#QVAi$l$S=Vd*kZSDD1ryX@z-v@-wd z(|6x}Pjj&!++2TkZtWerhK02dM8$Q^)LENCBEh^9O4%X0xMn?n6tO$uv+Jk7_@DT{ z{}El|yZ2}3)#1r0>H<}qQbd-N`6MKo64QiHxuJs+F(p>2fR?lP3MN_)S5*IYcG=fU z3RE@qMfH3MxG?*a(*Ew*_4WK0U-;xB$5+1ozWJ)O2(|4G+*3 zzy)#$vaDM&Zm+zx$|BGMW{=VqY0Wdp|Ji~I*D6X({Y#VcRpI35n zQbXH7YZ3CSI2LUdYF;d!eD(iM>@V=WhhKaLm5F2T_m3hlebl%|`xnQ0lxNyQ%>jUz;{MS+i(jSus;@hR!y* z==;~dzxv{f_skx@_wdZGBH9kx109t&e#1J$a^dFa3fEdwH_9j)u2_z)#inb$V9}~` zZoheaaeMQVPyUZT1&8n6-95_5ELu{BiOC%i?w}#fsxqXgti-zTgTTQ!ATq>GtNcc+ zck;lKv{OZeq1@#mkT(sK8fValrq;`vJlVupJ-WJick|tkRJQ-@*MIY*n$56lI*Zkr zVy(4f@&x`lbmhycgA$5tw%BDC#uLL>r?{O2u&DW0*a?B6SU{Mn1^MOSVV*@@$n zmL{`snUoGKejB%;Kla8l2wln&k-Cq|K`$c}=$%p4X4Y~hvCRS0F2m>FUhUa|BI4aY#a z4=I}9W#JW+O?>$1>AAZ4G3H|5x%y36Axt<~oUkY+!nsYom(H+nd??y>>+KXJZzo5z zAK9l3Ah!`>03V*ecy-p^K6!8Oqy4p=w>B353UJBXlbStP%mCPS?F^I=E@8u}Gyz== z&JER$09q}*YFBL1kyBRObFt-WOEI%c9hx2(Na}|Coq< z@}A&_H@BfeMAM)Ex)Y_12Vguy5S>ec;JDR9MKVkvMjc9&fKH**@#60Gs~_WP z`VZK}-MMIEv#M4Cj-8&2YwlW}#HiCYN(Y<6F?+7!iwCz~dp{~-zqoxiw`k{x zRyAvZE^*R^?^my-OQF#iLAHbtPs*btHsgvkW)+W+EA z#SfmmTU?b5PNg>ND~e7pI0g0&VkA=IDAk%pvSsZAKA6Gc17$>|EtT+mgU3c>#GMd%tK6ROmVFH=RMrpwiXKY8}UP4ubM0K ztEac$_~gHeuiRYk09%JstKE#ZowSEh)4oZU`|>SrovR#4+g3IdLMq}TF(F*xa!rMc z0K`n%_@(c=x3k6Y=;l4}%KvHn;@!=|3!^$ySG1jq6L&DqO^#b|n%g2-TaqfAoJZx6 z_R#NFKqG2N2jVfITvE(V;^1o*o9YyrIM@IyrG{EW<0lH}0eFmI@f?fCDM7UYPDOg% zz}1V#Po91Ra^hE>zUx$VQ!utJN4qdZ)6LpH5ls8OgEHk65kkwE^}v7*q;;OgKJ3zXl00Z#lB;aWWa#|T zIBtmcu`rHcM?r(oqs*B1#Ir2ZE8H@V-27x+-E7h8&G9yY-MVgiUFPlaD=fAIZfW zk;PxZn|iehq3P?_{>9^GPrm-4tGJ*3@>y`ZOREj<6(ADQL@kzfEjY7h`|H{F+zbsp zXDV?(C+p2|V|q?|PS8dJvU_{XkykEbyh;_kc=}&0V|@2Fi{WUK%Yt&~1Y&^#SDxv$ zzf4e_eVBBGVGvR9{n12{G-?4uI}I-*FtG?xUOYdz5L%qQD*NA`-u?2E|0R6q!ISRM zoihuEh%J;Zx5t>%Cb2(db!;vPvIzTq(yS*M_hXDcc}lE#TktDyd=%n7)Fst}hrBX| z8ruih6$kZxwp+i6#_b00{c1|}MZXTo(PfRU@xlRW4$F|LZhrmy54=6`ySLA*b$r#R z6Sde_+5V{xcD~J9KWvu$^Ghg-sw|-}AmuDqs+)c9DJ5zKdP_AVs;BsBcfTqN*Y~eq zK286<*!jo5KFw8*N9RQFd_m*HaafuZF8gtD#8x`-z^)Z-j>^!E5jbhAn=*4|$LeFj zVvIl&P%Gx@x4(UM^YKVpe@7Dg^!Dz!aCc6VlY$x(^q30a6?7GDkE&|kAY!SL1GiiHy=*pm zmz~45XrWPY1qi1;Qd2j`BB+V-UO=J0Q}XHX@RPqY+;iCi!D;}loF={3Z&3%rZOGk(UC0+KI}~W z)o1^$q~+_^-Jz;FIy6bWaA9CeIzfLLrPG^?7o1z}Rp+H0Y}l5;wZ7MUfH=ag5g z{XX%iK8<_VF-3_<*?TdhGGoeB^pSdh|2*Xh!v5m^mLH2`B z;K}&ZvrnC0m={lPAAPW4;@7XM8P4Y1vM6~Tu_=aiQJ_8Z3kS=RbR~VS0K;y*ye~95 z$ODc0{g`;wqwx~MYDGrwuauTojoF0L=pR0N@Ly@IKPOO5SRm?B+vI5Nm&(?kdF@QlCX~j z*Ci7#X?UDH9iqxGkgQ0C<5!&?y6zEX5>=Aak&CxgKdtAFZk~RiIq=thv%s#h z4vhMVo3?DUv1?ntE$n(e*}0_Tdu1+rqAs>D<>FYbXW1`TC+;b@fpSsW-AkWk&Fjhg zyk2cX>#N%@f9Jo@=<>ba++3;hie)R9ot9>HW#>r1LM(ye5v?t4wv!Ycnxj zR*kKtzF(K;_f#30wmGi+wrK#ocr$-^`|y9E8upb3?>c|d)~Rt!`?guM8x2Rrtm-aS zLF2}OV=Z@UClpvy%%sE$>_sn>WWCGlz$yfE92{2@h8e9iuYtVJTx-dsJFJ}*O3ALH z@saC-R=C*7Wr4FfaQ2D%(#3l(oo`Hjbo*f@Vm~|gNiPsBv?Zm+9SoLDRpR-nMVxP2 z>xnb@;ET#wTfeN1Zv-7>rk=;wyy|(`HMMYD4-q2fSKEmofCP9{UjH}xejofMR7@jh z%p#eLVztG)0+mP^jw2lhoFO*gJRD0J3KEspUq(Jc+2FLC^hmcssL&t+1Nrb~|r%=}p&Ps)?>#G*Py>ZM){Jh}Q(W z$GyzB^sQWKpMM*s<<+YA71aZdq5J)ln_vFNUDywQb9z4V=)x$*#dut|(vaCYs636d zkCL{ybsdUZG_}94C9w~F@~MeLkPA}|!&Izg6QxM;g6Xl~!6XW0gT-TJ;^k0u3 z-2CS5qQMNKNgf=tu$mGT#gP;)3p>%q9U0L3h>`yY3E@XOc!RSG6G z+3h&TZET1nCV*;KCSegmQC)2)Y)EC{rEr>xG&a6&d!PJ7=|FkGufp@#Zyr9q{_q&~ z(=V3g+HT9qY8q2YnWp%*&A2UHS(Z-bmPbE&@B5}eo-{_g&6-Q^*pcs*eOCaMk!TtQ zS<1^H*Afrg!2`Ye{kw->`42Pf^EWpayz#t{;9%Hh(RMb$EK@FElO__Ma2v~q zC^SneR0Mq!W9A|GK~M;+_J^Ju`*mvIDT&SJREOy#13SqPB zpuw{`U(V+^e>-|`Oo5~@4iaxD(#FMk1ggStgRx-L4}6^;CyefLxVV-hmXxx*lEDX6N6y+C7R;x;v|cm={+4fkL z)~4hQXH#p--8x`f0-<0WjPD_>#sm!%-ob|CO&$s_+w7B?ysAu9&7VE^&x)&GIhV|x zVGeB!tu4`MmEEjF(TT*}%Z8=TxL)hAt;m@c(0LY0$p=$9BU6^+!6FWV#4Q^tdM{XZ zQ%?7`vv%?5s2DrrILxH}v*DLUnoYJ$Bw z5!NEBs!$Stq7;1|me2_{P)r8WX4}Rh!usH8HK>y;g+!vY7al2XBu9w}s_2Y&ncXHb zCuY2qA+LtJy9amkyLTTH!+v!Ath1d(XB|4%0_!H)0*eaU!k!^pi^;S0Y@)H*h2lut zDsLS%$i}C1zKi%4xG2MV3PKul)21wBdfV0AZ@>EFKdW+nqr42BXku8)LB;}L zQi`=VyOo3~2^RQrSr#uloeUog0o|wG`^K~qU+z+4U9l?ehaenRmt(*!&_w}YZACLX zfAalLK3aT!f8MbV?iPrhE3``^1uyCN*sf!24#-4tGD%J{2=j#FQbj49gkOY|s5Q*p zX|Elt&}!#%^5Hq@W}SRps;`0DSgrt z3N`^&Re{5HmSe^2N9NI+t{rIbl!1uy8^4OaB8|_>qMbjQKi&T)Re|q4c~)3X$z3s1 z{*`RYnA@^kV{ufVWt1!&i&@UIfEGb*W9Ij9y-6^P<#ES|)FQw}>a|nqrH)jYGWsgl zv#MOT2-W=N^ubm<|JIqhpKot3N>Dn&TzJQ$<0d-b^5i<H;*0 zvhJve_ZpfhWZ6yRku+%tyly$RuJ&P&nB&EoIgQ74l}XLcOoh(CuOMa7#7n21mw3_< zFH0^phJ#0+<#$UdvIYzB_nf+!`GmS|@yYgB5h36z3Q=$c)83 zrA(PsVoJb9$p{hbKqC{0i;~+jGr&ZSBtBjcX^tL8kp&WB%01Q8_m?7(*}Hm}8885V zLjo7TP+n%4T2QjNxGFDZdGYQ;Vc6&Pw{y_8EG%NA+ouzwha~^0Gw|(G!g7b1DT~jVIEu#$E{OY-x0r-}J+(Y%ac(nNsO7-7)a?>G7 zG7Np6%&dTR3tTnj3>x6H(FDW{Lp325PIu+5fMqAd8GY@ErmMQR+VbSJ10MH1fj{3G z7zzwVsW4^dtKZ(HY zN?SGnRqTTYR3NvcmyLnKoX_*Q`9Ku{htEWN)9an)0NUG>$)^*28EpJLcg ze^c8cQtE+OeU@WPnm4Y5wjfuifQVz&4J{KtS9P4( zMSs*j`{!=Y;6sQM#BJV;%e*K5I`_jC{llBn2eHI`e!Qt?*0v~iTOC^IW1lu{%2HfR z)4D=yo5_`S??c~5PPKnPzf#}W?Ye!HU#cIU(<-GAprB>u_FSM|ztU|H>fZM+@6B-; zda5rT-P&LNhhoIf-rPJY<~DIk47}-#l!&sc29tx989Zkned?BZp3Au!Zd8xucu4)s zr?B^8wzToT1y&g3t@l1H8AB*o%46{=mr!8gwpS0I-F%E$*bjg6XEf5Qzys#V{r%De(bl{P6$$IjsP2%gcGNMBkp_oWWgd&+-(4iMFDB#Z@ zNW$Vh_Q$*}*6Zk5Rz7g*DXL2hY(#~^=ug2996g_+m$Zawcd_2adeQv;_Jfdee{nmX z&8o&pTOnfWa8c#DH6=h9{}?A?QN6Wu8zL`vv~plV>5Df_lWnzKzQsNTPn1qTKF8|( zxY@pa`#X|d+|VG?ecHfM!^7v#uD|)2|IFrFKfHdB7k5tS1Rmix!-T3y{WL?cl7>rV zA#vhBkht}-I#i>m%D~k!!y!fuYp@cxMG6e-&9vLWE1{613~60tanScC9`lL4I*Nd@ zEkT%Rl7xv8M-SF!S;pU?E!TPNXU*bi{a@eoVrBq{Vq-`%8QjTsbI1z`JX<4@9{kjQX{p$5M zKl${h|NR6zw=F-c8f-^N$UbqAprmzV0Ox7}3eA-IF)`x0fM2y$Q%jkB*!bZ0SDW5@ z<0See!I_Auh#A5q6f2+b*v3cOp)P7%XIRc|9zDDM=v>%$uXS;Ub&Fc;aO8q}O~xno z$unOzZ~9b76CjPDAzNdy=2?M{rpzKdsi2`xcYTMt}XK?x_W)} zZ2#VO)O_`JUNu1Nm1)XBmI4Foo4~=8cKf!B0T;IXUAeTZNkZ;DUv+L7y)9H^o_{rH z82i<}Up0-$YadqBk>ANW`r!RCq~5^gZrRkUugxH*uy1hqFw&3j!)pl24(a zG159E)@4UA7e%C;IV6I3&@yT+GZ&#a*tWJsIFs(;$;0>jh~Mx0x_;S$KNJ(T77KK) zR$ozhD9c=7#B$czVh*P`11w=m5})_tEgm(0DZ)1e48#f?fxzYE?= zswu_EM=4S{o6YZTzxBx{|MrRR&z~iZu4|P&v-hK%V4Z6;D5h$Z&h3st{N`(?d}&{cx(! zcdq^QsSo}D9m_y;tUy+Hf^~KBKY*YAS%d!lr=Fh7!mN&Lem^>OT6xkHR8TWKDHo)-|#q zaeRwu<@%mbByXF6Y~7qT+DEE=sG5F#IY=d%%qOjK+qlE(wCQABz5ndr)3C?)_R}}t zfAK6jUCL|>IHA@?i)0;ay#l2~R?6JT0+gB3Wv^EgndZuvtF?1CA#;SS_sLR@<-edbcbzacQCz{w;w>e#ba_U>c)!lMK$Im!;e2Rm>UTq@-1x<-uXWzFQ@o3x&48 zDHLi>M7I~m5b!NdKGv!tJ>L#~-Jl7&?wvu+7nlD`!yez$gLw4v^UsyrTd@ZNrrAW3 zc;lLLD};i(Ut^#;sLB~d!-kex6gjL_)6>i0}{A0EF=*`PNJb3c>1B1=-{qqCTSvZO5l29WH0b{hJ(AhH5Wu0OQ$5My^ zz+@3k*C1g$7m56Ii>G$*axFv|J!b?I+5a6|Qy6WtBPf%T`zAYOLOQ$ndw}xj|0YWO z&7aTOWHr%Dws7`ZcV$SozE8bH8m+JZr4$=taZH6NXKCtA})jC$H`Z93I}=Z$td*&wo+zfSJH4RIPIc!z!gRi`*2sR|rrU z*tyEw2JchyUPpPrr(0F2?8e<1wzTpS^)&q*lj^uD*W)1^ha74;`u!*M zKWV}g1|gHmCDa&IjC$Q8YxH*5Ylbm2*CSZ5*d0tx_3Gs8<^NHc;}`E=o(Ah73(Rvl zOo23qqt}~Dep}L|10f@-9^D4v7B4RYMe-%fHRoLNVM;s{oO-k=WFO0&AhYn%>zH%d zN2$w#Py{LEj>!j6(wuWIByM&VYu@@X40Afse2pa~ksavl3H4!2lv#TcH1i-zdorvg z3Mm^@*~6>Pe(u4e`x+uXdsP)7w`(R_x(*DqmbJ(r#>zHT1*%?vslY4@t!O_H^%Bq?rMWOS%^&AB%oTZfYNq5I(@zW1oNc_$F+Gtmj zJ9tiK1e^jmR=Ep)urLi%zzFd;S@ z(M0f_VRAP&%63}`uoTU*|MZtW_kZKS-n>|xeI80-hFRJ|OoCo-JS9pAtSo%@2gkT$ zjn)EVIm^!3c*6|}QG5=X!fj8f*r;JMZ=|AS4&;4g*-SaF=dnd!B317)G#S;I-&MKH zEJ(EDDzQeJ{N2(aYRZSyppX`~m~tY*xvFQ5lU|=xF^ZEN%jgAc?VDF$xwj7Nb1z@1 zL)}T2V+Px1wjjM^-I!k9h(+$4P{zT{N5&AQWsIj@2x>y^OfFe?_L0M+(?p~bO4Jf* z*hOw7jzOy^=o}M?S%$i;7SB#!eD%@eCyzd)HlF?Y*_qMIVn!=H#uRssWoF!UZGloO z8xayA1UTEN0x0$%Jd1(_f~T}RJ!x}4OLN6+QpM3gRnMTWimpVd4V_+h{DVrZQ1gzW= z1t@?#|9yzV%*x11OoaL@aW{%aIpqXry4wViNF;svROX7n>9s+Q)?(8Jo(~DNK#fPQ z7K@YW*^94y@8Oe&A2191#rrp>>a1XY>xex1fiPORvQeP6`Y4L*dZ3yBlb*;<5-C-K)7Qo2I|D+>iOqC{k6yU6+Qn$tbPCL z`RC!R*aR$~;F6k&xJ@OQB_Sp*rs*n1K`4Al$^Mah5t1d+X2x8Kr-{ZfWgiRqvqT_7 zAu*M}Jf+o?J2eS?c1-m=sa$&==CnG!K+@8Q7=up3Dnc}7 zvAcnGftbPyd%~yS*7H`*hI7ti<(tbiQBO^y$qYN2^+H2?y+TlQvnPugufM z^EYpQdlw@k&*YNY#ADP6K0*`a#pTvi>h+Sa}04#>+qb;lZPa|NCC-S1(SjMSZ;0d&-iD zu~4T9VRp86t{2HR05Wc=u*ae=3c)TRmr@i*vH7FBEPN+pppr-w9Oq1>oz=Dw>duZ9 zXw1S(u{w~cV?Gosedjr!j)9=Kqri7m(&$GUB8nwis4AgF#x~4%Tb{I0AW9sowvlUA zj$l3{bp-&=-hBSI5ALJfHNk?`(7>^1rvNM{Wm^R2_Na_BN`g@f1BL+*~f^uX{9m})Y?g3vsi~f!uv5UIW233^(jVG z&2HR<;4z$yQ5NG?Ha1hZ)k*gZjHev1ZxLuWTGIb4nF5PLm7uO zdKl2<5Q8P~0jzo#+mAj151put%2OYvaPo<#cQN9VNB6hY`ENn(`71SB?W8EF6uV({ zD{eDcIHhFataCuA(ep;MWtlg&704uzkaWRnLoDvDo;Y((=~ff_bnqpLF)~G>lna+b z%$_B39lUBH&pqX1F5$wLC30>;5DGJ5h{LqXsYEN#%92rRNo)f%-B}3 zj=77Ha%Vth^XjwruwU|<7cmt8H|HH&U{gr|U_3o#0egd8CzVnL)Z#`h3`IZtz86B) zW2{DHRCRsPLRlsBlu9!D81du^$9^4eF0RWeI8>Yi>n38q?w6yj#^>tgSAO*1$;Y02 zm@MpbFW)R~*_<^+YcpDE7@XhD(ToOei~=)uwiTgiP-8I`3@o5HD+D(Xqent(rxBtN z-Em#X#$|ycgE|yj7J$Uw`SYk#m_k8AoeVCJG50~TmL~w%)yDJVA z)bAQ0_q7hAfoiVo%lpSN_4xU#XPoWPx&p;o1JZ$kB859NO>K5h4Oh@Ei~*(0A|*QY zE0F-m#u+3CFsM)s;WCX&kwlg@*Kx*t6UPgKH(7XJv1fO;*7~%S=45!bc=?6zJownh zKadOi)%(`~4X86BTNfLT6h+yIJqU@}RJJYFNih4I*oXYOZ2@d69Hty1_0MNOAXJ61^|>((zKPy%9yDzdD7l> zp^?_1Yi4HE)IJ3|OPQK(&ZX+wgY!As8=*{(Ug%;vI(nmoQSZj>O+|0M@$p9=$iVJg z^0Q*4ssit&O{J-Wz)?W86;~~`APiboTlT#_pQ40$*Ip^e&D<73?Szb*ej+i^EU)^# z-W3(t?*fX5=duRZW+~gYNaeO_oXKN-F}$6=@a5k=xC?sk?>zUvQ|vnH*cUu2I?qon zUT8q{i^;j%XA)E5=(XSq)Cu#3b<92imWHXI*PZqQ794a>tKRnoiuTl_0mSIzmhC=- zL zDuX3q?^7QdXqSFd3B@~=@gg9mo-j#QGv{zj_88ycb_hU-J0G;ztTVViz^S~rxpHs5 z_LB!6|Ja9lFU-C8ECc=>hYMrzs6CQ6^x3I7iLP2JBVZjvu%9R?RwrZ5JEK^jsG90( z{A22ucs|Uvbb!j!tn_9TSCk80+=j5b8e4`+R_(6qRHfEo(m9>4UcdSJ<2x7jKV0be z+^1ju#dbuu>`N$Ibg7QwfOxd0Tzj03pfgJ(=E}>MCXkx2D(hrLDYMU_ilwMBQtk__ zZxNHG)MunJ^Y$uE6esR$`ImRHjy}#Zl}>CK|47hspZ&p#ytC|s&nG_RaMeUH&ym>A z)`SbZ9uRp9gY@et@{J5Pw{4V4_&B!nYT$^ay*_{b>g5malHvO^RsZO24)OVhX4S}| zSwdE>Yqv03aiA_4&*C_@O0`NVvoOYNJT5;mO+ksYm%Anwd(6Omn0z04>VsLQ5;6HT zaq+$yaZs%H{SfsAw129&+ksK_)r+tE_`%2S4D18cd_Hyi=J_o(R4o_-YN1B~&Td1clo4uf)dFClobhQ|g~|6#wKV4H z%C6gZJ%${6EIxUE?%6eZjDEN&F~{+u8bdoa95IfyU$vi@D|P)YujdzE{^Fx2AAj<( z51@$Oy??#X{>+O;Q+MP(V;qIj*FveCq)y7JtGo3?YZSFk>Ror!nM#5~uJm%5S2)_` z%CnN7MD>@rTVvxeS=tL68x%JmRi$p6YCv^$CG37bcFVW@7hZkkrw=~<FMbiW(HY&SNyB?s6Rkq#eKV* zY`VTQbmx;1@x&8P{pRIe)NtlRZgW;vN|mcd$UJ$dRZ$UeE()PUBd66$704^>dv2!~S+QS-diMgXj9XA0e-6(aZLeFFy0J z4?I78^glRi{_x_>BziqumW5bE;0~IMCQ)B_4#@J)o*;}ffzk~%S!D3 z+=c5em;1(ZaN2PV3^jz{$@_7Wt*R@a0W2%Yr>-~x!E@`QM-_Z&C#=fQF_QsP_ZU-` zk_#?fI&IONuo4(0!lcbeuHU(ceGn3(VfWP`-d{W`s1aldw4oYULc)&7dHpQZDqPaF zse*vXbZobC(D&t9vJ0|?W3e-$qBGkI1KAbhJ#`mFxjKfh51gL9HJSP!K5>TL`;xO6Ws};C$a1W{AtztWSGv~Kl&071uLDfm&cMCdx=!)15|WD~8WFYLnGHsdrq^^5gEDK4I7Tov1eOJMiv=?a z(N*1us+RLg8a(&p`t#3y`OBaE`1?=ay&>%KFP~5EoSoU=HE64?ow6t_fVU-ZaD^x} zR%xv2Mb%pm3@rB^9D)rtSuBj80Fa$`J`NrRTLMAEfnypYa4>|yduwJsV-^=)lQBI9`$DYI&) z3#vHmcC6|l(EZe!slG65D@EjmnMq<_q|wJ(hFjG%_g{T+?D@YniNvGo<{_uTcZ)gc*w%+ zXsH8vxDN$0CY-}0S!7FgAC8-|F3sv#ggrlf{P^^JZ<^Tt;g?=sU94rngig8?W<$|C z3yZ2!@-wd*Unh0PnCPu@+6W~?t$bcKOE3!WqC^+K8K%OLM6x!YnX%q4%==gq4|2&{ ziC3boMaioIDuR(+wx9d*SHJUve>KnF|89(7KY4MTnle|Vg5=ABf~)wR;W0l8EjB@pqS-Xe$&oy9l(!<=e3NH zWkoX;UT6qYfS7Fb^%bKO05*ndfWb2Gpm0(W7^kr1O-z*Z#F~!Z_9E6wv~gy&X*du- zU*~}XAKNltz4+Fr-~Z@sVRL`;^2=>mvb<8srm}os3fZLce8ZqfPD5TaN`>k+Uy0Qu zlrq|2f5}WGGcmech>4&E1n1;5x>mAx^OV!1Gcq~q$V zU;XTlPM<%1IPc#q!hZkqGVY72EQ*7jfDPQWU^?uRm^}o7e08h*#KyZDLvf^_gy0wy z2~oR^(WE+a(sizN)x!1|%%rZMH-OCXy3f3?XpyfeGAZV(WjjL(bx%i{e)Z*_eD@fW z-=z`k@o^3;`8!Qro~-4gXUaA#+~STq#li?fzAl3qT61@!CRC!=n2fz3wQrwci^qxi4j7(7~`#OD=3V_8_($A z5{txeyElsJx;8B3T&h*1gdNek{`@Du{+W-TK0gBN?US4S2gb91z3}V8C2rluvccIz zJKs!57Ap18V79o?%oq3YujVa{M%dATfT#~@mAep(ldZFuO2Lc0TROvcu;l$M54vaGiNd<}jwu}e`A z^{)3~yO*Mm&<2@-DK~1)ns~uK`r>=Xf8lND`M>|4j6iAJD+^g|6;=K|S4}RIFf2`C z&bRXez(ii>$Ey$XU>2Q4#FCwhOcI~CT3!cV_m|x;WR5*-Q_Y!*0IsYo&Gb4EZh#Cx z6qX5EnOrV~kw@QvAHU}TU~f8EKKhFgx393VT=2sLGhTU{40zUy z0l=-pXSxBJ?b{;c)1gFiq2KS5dB>ed_7Y zj!gYqK_q_QOP}m{3Dy+Ii#!}sbwrV33+K!il1+V;=W0~|7c23QCFXeIy1JWfv*LM9 zdsbd8eGdy6i|BB74nY>u)EC=1j7z%c1&i~N0D8l#obxqFNrHfmz5(C)%A@DckD>g{ z3iuvhzkF8m=}>{@+!h*M5?4(djf!sbGANn$dUg=)-!#X2e`OFs+Uwyi^xNMlA2 z??h3{om)(wAq&m`(}vps z^;MrNK;b1l1ex3!|pCcu&`orMwv%8P68rf?^-bn&)!q4xu)M)Lv>(6L|M++?Z^zn17I^eG6rpQRS{CIJvz~2NPhWifD_?m0@kgicd$Yg84_{t>ROH?Bs}jZP@Mkqz#(Uj&L4omK)`%kQr9J;h;58haK-Xd|%F+Tbf&hxL|D2 z(Tp`0suD)}%(T4_0-VOd*jBziW+p#)&*SIsN}A&jFP^0s?@C`1GGw%2$r-$vNkOKy zuvhHT%y{i?i{Md?)x@BTp)W&H4%dvq5lk#dKmykd$vGs(#+{?Vqp1y>beDC#foMot z9#~I|nAx!%k~!mYiOy?{drmgu!FFh@Jq&Q6(URM>Zq3ML58pyVU>iC0(Pg{LTn9zG z$+C_I7Nvk4_+4nE`TUFT{P6w9Eb;$d4Zr_AKmXLFL~DJTNguWghDvQkRfv!bu$`Uz zUE3Fv+UEHYUZoN%57?UyhXw`PPQ5t0^;KMgG9J3lI>K$nL5x#~1Q*L~q>M6i#1up@ zBb#Oatd+HR&E?Zie)%iEeDv`nDe%EJ>e+dmZo7c$73NG!&ccp#HH-n>>(1IxcRNw@ zI+UB(4zBNwyOe5PZCD*`^=$B=p0V4^0LECeGhCaS0Kj+imW(fqNN%h7?dv_sd!C6V ziUrJoVH|MGSD*jHw?6ae^!cNAW3%~7pKPIm9$r<(=)!<=$iQAz$-{kF?(b7yJ<&X? zaLn1dkp&qXyqvsE9bNX|2AADdA|wUFm|$aFr;P>jXfmFn5veC*jSu!_&zJ5t&RHLY zxD}#X3!sCC4hkfYK>!(Y#*V`X5nOgA^d{4U!(dYEeSp3jW|QKDl(F5)A8JQLI5+`0nY@a7>f^l62u(>8X}@H8O)d6qOxf#w z9h=qR#bU2mbrsRj-6=~ZUeCUI9?im6Nv-UewUYZJaBxl}ih(wPHD2-^Qn%#yw^{khc zcH*{$x|}=j1%NZq>9cc#bi`tVMIhRMFq*nZEpAQd&bBfm&U3R9t*EmY=e@9j=aJX) zNOOGq^eDvpzmE@n@F?)Sh#5d>tDUY$VYy6|^ql2ROlYwVkCy;wlz%iJ?#3^!ym0?DNiRo2Ubb2UFR8JjKK z2;{h%V&7*O(8A{>R8e@WA-Rw)qFh2Ab6$@^sC$93;#Q*X@nl-9UVrJUpZUcHA3r{Z zuy>oL{?C71eU3IzzRHWc96SS?b`492Sz*h@2PUnZvMJNLASKDT$UHc>e^u<*(1m0R zD8K--VrJgCz8kuf8R)TTlL~ns*6lVkbBsOl2JU01*|srksWTA;Z3)kN%x5s9OXQ{T z1`zEMqA&MGZW)g}X3YT%tcmfl57FFmC64chcj^`AX3Dmx!uiaN44hx^XP-Du=RN-a zXA&Pga@s2bcV}77Cj_5DE*3TAWo{Wlm^93al==cY6DD*xz#m>)%M%6_8K!*7aO5`r}#O!sm8=|*ign`bDb-`I%U7#Gb2olMSYCSv|@gG4d?CXkUK*PY8(kr0k0LYq~)GXwat-?v# zLPF4`FTsPSVrB#m7<%9~0iaix9LkC(7VT(K=IwZw$c(U#9=G06AU|3~u&sSxFRegE zz6z}o1}>_=M$vD#v9dzC6T382jXo>%X5)bE?1<<^Xmhqz|C|Y^r8L|*1BdHH zisJ>Z3ZCUch-?dpAniGdtY|1^+gO;EB6;IklR;f6slv_uHp{u>Oo%RZo$R`yZrhLk z^?P6W;gPp_{ODb#`2GD~zUn5Mj4fNMOK!YN^A>I46LU~D3?V^Pp6haVjR&SY!Z+cdmj96XP9D?9k^IF`Bngpj9AX3}P?K`aE-H9B} zu7CaW_dNdpm%?8do^7Gtq=bg$1+&RK^uf5Qq}RYSRyR-N)D%n>`D&$BLacD-uuO8lWyAs)ZDp$RUC4SeH53zw`7{-}=gL zKJYFC*iT+C?}xiYSfq`wy-b?HwZ&HR*}rD=5Zo;?DAy;-A>+y@<+CcJ>8#YiM9nxs zFDA8n5(j|9E&yRCP~*wqr@#qnAUhdmC`ThxBm2=e=^kn zPnzTXMw};?5ri8k!mz%ssb6rG4I?rxK z+OhR`LG`@8MWLoZ8PYYHayM|rS7^o^6H$P8BB;~$a&SX0_ZNTp`e%Okfsa1~<+o^N z{XclLFGF&v_nVY7Tsnek=A4-x*rGBAXI1Dq=!^Bf#0rV&r3#GFdE_N|Yqd+-I&c}j z!>};Er^54ClFhn*S0rZX&1!0);FONVkI(Btt5_PHx8FwvAw0OpR<$K zQ}sHUfVLYfB(`pty%#$#?jv1<=_+JUOz{A6K#jk(i_~R!CV1@mSs!oX$ff+$-#_#C z@eyE;-h2AN_r59d@~7Ih8T_T?c0+{@*W5ef>Je-0qUXz#rY6DnoZ6i^IB>4XYZ32T zvz;~g>%AHA1S6i00No_Z?Rm?^eJCVEa`jf3zR-4mt*)*l=aNsw4Bf~H97=KV^e>

    3c`(5NO5}$ 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⪙B7IXZ+fL#7A)q7P(MN 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 literal 0 HcmV?d00001 diff --git a/public/mastercard.svg b/public/mastercard.svg new file mode 100644 index 0000000..23ce110 --- /dev/null +++ b/public/mastercard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/missing-apis.txt b/public/missing-apis.txt deleted file mode 100644 index d320c48..0000000 --- a/public/missing-apis.txt +++ /dev/null @@ -1,124 +0,0 @@ -MISSING APIs - TO BE IMPLEMENTED BY BACKEND -============================================== - -Get User Balance ----------------- -Get the current balance of the authenticated user. -Protocol: https -Root Path: api.Fastcheck.store -Type: GET -Path: /balance -HEADER: Authorization - {"sessionID": "1AF3781BF6B94604B771AEA1D44FA63A"} -Request Parameters: -{ -} -Response (200-OK): -{ - "balance": 150000, - "currency": "RUB" -} -Response (401-ERROR): -{ - "message": "not authorized" -} - - -Get Active FastChecks ---------------------- -Get all active (unused) FastChecks created by the current user. -Protocol: https -Root Path: api.Fastcheck.store -Type: GET -Path: /fastcheck/active -HEADER: Authorization - {"sessionID": "1AF3781BF6B94604B771AEA1D44FA63A"} -Request Parameters: -{ -} -Response (200-OK): -{ - "checks": [ - { - "fastcheck": "1234-5678-0001", - "amount": 15000, - "currency": "RUB", - "code": "5864", - "createdAt": "2026-01-19T09:08:18Z", - "expiration": "2026-01-26T09:08:18Z", - "status": "active" - }, - { - "fastcheck": "1234-5678-0002", - "amount": 25000, - "currency": "RUB", - "code": "1234", - "createdAt": "2026-01-19T10:15:30Z", - "expiration": "2026-01-26T10:15:30Z", - "status": "active" - } - ] -} -Response (401-ERROR): -{ - "message": "not authorized" -} - - -Get FastCheck History ---------------------- -Get all used/expired FastChecks (both created and accepted by user). -Protocol: https -Root Path: api.Fastcheck.store -Type: GET -Path: /fastcheck/history -HEADER: Authorization - {"sessionID": "1AF3781BF6B94604B771AEA1D44FA63A"} -Request Parameters: -{ -} -Response (200-OK): -{ - "checks": [ - { - "fastcheck": "1234-5678-0003", - "amount": 5000, - "currency": "RUB", - "type": "created", - "createdAt": "2026-01-15T09:08:18Z", - "usedAt": "2026-01-15T10:20:00Z", - "status": "used" - }, - { - "fastcheck": "9876-5432-0100", - "amount": 10000, - "currency": "RUB", - "type": "accepted", - "acceptedAt": "2026-01-14T14:30:00Z", - "status": "used" - } - ] -} -Response (401-ERROR): -{ - "message": "not authorized" -} - - -Bank Top-Up Integration (To be provided by bank) -------------------------------------------------- -WHAT WE NEED FROM BANK: -1. Payment page URL or API endpoint to initialize payment -2. Required parameters: - - Amount - - Currency - - Return URL (redirect after payment) - - Callback URL (for payment confirmation webhook) -3. Payment confirmation webhook format -4. Transaction ID for tracking - -EXPECTED FLOW: -1. User clicks "Top Up Balance" -2. Frontend redirects to bank payment page (or opens popup) -3. User completes card payment on bank side -4. Bank sends webhook to backend with payment confirmation -5. Backend updates user balance -6. Bank redirects user back to our app -7. Frontend refreshes balance diff --git a/public/visa.svg b/public/visa.svg new file mode 100644 index 0000000..c175e6e --- /dev/null +++ b/public/visa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/wechat-pay.svg b/public/wechat-pay.svg new file mode 100644 index 0000000..079712e --- /dev/null +++ b/public/wechat-pay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/app/api.ts b/src/app/api.ts new file mode 100644 index 0000000..a64c274 --- /dev/null +++ b/src/app/api.ts @@ -0,0 +1,21 @@ +import { isDevMode } from '@angular/core'; + +/** + * Endpoint constants for the Fastcheck backend (see public/api.txt). + * Centralised so they can be swapped in one place. + * In dev mode (ng serve) requests go through the Angular proxy (proxy.conf.json) + * to avoid CORS issues. In production the real URLs are used. + */ +export const FASTCHECK_API = isDevMode() + ? '/proxy/fastcheck' + : 'https://api.fastcheck.store'; + +// Legacy QR endpoint kept for the SBP amount → payload redirect flow. +export const QR_API = isDevMode() + ? '/proxy/legacy-qr/qr' + : 'https://qr.vitanova.network:567/qr'; + +// New QR Vitanova API (dynamic QR, settings, polling). +export const QR_VITANOVA_API = isDevMode() + ? '/proxy/qr-vitanova/api' + : 'https://qr.vitanova.network/api'; diff --git a/src/app/app.config.ts b/src/app/app.config.ts index c51175a..94dd9d2 100644 --- a/src/app/app.config.ts +++ b/src/app/app.config.ts @@ -1,6 +1,6 @@ -import { ApplicationConfig, provideBrowserGlobalErrorListeners } from '@angular/core'; +import { ApplicationConfig, provideBrowserGlobalErrorListeners } from '@angular/core'; import { provideRouter } from '@angular/router'; -import { provideHttpClient, withFetch } from '@angular/common/http'; +import { provideHttpClient } from '@angular/common/http'; import { routes } from './app.routes'; @@ -8,6 +8,6 @@ export const appConfig: ApplicationConfig = { providers: [ provideBrowserGlobalErrorListeners(), provideRouter(routes), - provideHttpClient(withFetch()) + provideHttpClient() ] }; diff --git a/src/app/app.html b/src/app/app.html index 0680b43..dba92a9 100644 --- a/src/app/app.html +++ b/src/app/app.html @@ -1 +1,5 @@ - + +
    + +
    + \ No newline at end of file diff --git a/src/app/app.routes.ts b/src/app/app.routes.ts index 3187b73..8ac1161 100644 --- a/src/app/app.routes.ts +++ b/src/app/app.routes.ts @@ -1,38 +1,36 @@ -import { Routes } from '@angular/router'; -import { authGuard, loginGuard } from './guards/auth.guard'; -import { LoginComponent } from './components/login/login.component'; -import { DashboardComponent } from './components/dashboard/dashboard.component'; -import { ActiveChecksComponent } from './components/active-checks/active-checks.component'; -import { HistoryComponent } from './components/history/history.component'; +import { Routes } from '@angular/router'; export const routes: Routes = [ { path: '', - redirectTo: '/login', - pathMatch: 'full' + loadComponent: () => { + // Branch: ?id= means legacy SBP merchant flow. + const hasLegacyId = typeof window !== 'undefined' + && new URLSearchParams(window.location.search).has('id'); + return hasLegacyId + ? import('./pages/legacy-pay-page/legacy-pay-page').then((m) => m.LegacyPayPage) + : import('./pages/fastcheck-page/fastcheck-page').then((m) => m.FastcheckPage); + } }, { - path: 'login', - component: LoginComponent, - canActivate: [loginGuard] + path: 'new', + loadComponent: () => + import('./pages/create-page/create-page').then((m) => m.CreatePage) }, { - path: 'dashboard', - component: DashboardComponent, - canActivate: [authGuard] + path: 'about', + loadComponent: () => + import('./pages/about-page/about-page').then((m) => m.AboutPage) }, { - path: 'active-checks', - component: ActiveChecksComponent, - canActivate: [authGuard] + path: 'contacts', + loadComponent: () => + import('./pages/contacts-page/contacts-page').then((m) => m.ContactsPage) }, { - path: 'history', - component: HistoryComponent, - canActivate: [authGuard] + path: 'partners', + loadComponent: () => + import('./pages/partners-page/partners-page').then((m) => m.PartnersPage) }, - { - path: '**', - redirectTo: '/login' - } + { path: '**', redirectTo: '' } ]; diff --git a/src/app/app.scss b/src/app/app.scss index 92faef9..9b823de 100644 --- a/src/app/app.scss +++ b/src/app/app.scss @@ -1,18 +1,12 @@ -* { - margin: 0; - padding: 0; - box-sizing: border-box; +:host { + display: flex; + flex-direction: column; + min-height: 100dvh; } -html, body { - height: 100%; - width: 100%; - overflow-x: hidden; +.app-main { + flex: 1; + display: flex; + flex-direction: column; } -body { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif; - margin: 0; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/src/app/app.spec.ts b/src/app/app.spec.ts index cf7c9c2..652e94a 100644 --- a/src/app/app.spec.ts +++ b/src/app/app.spec.ts @@ -1,10 +1,12 @@ -import { TestBed } from '@angular/core/testing'; +import { TestBed } from '@angular/core/testing'; +import { provideRouter } from '@angular/router'; import { App } from './app'; describe('App', () => { beforeEach(async () => { await TestBed.configureTestingModule({ imports: [App], + providers: [provideRouter([])] }).compileComponents(); }); @@ -13,11 +15,4 @@ describe('App', () => { const app = fixture.componentInstance; expect(app).toBeTruthy(); }); - - it('should render title', async () => { - const fixture = TestBed.createComponent(App); - await fixture.whenStable(); - const compiled = fixture.nativeElement as HTMLElement; - expect(compiled.querySelector('h1')?.textContent).toContain('Hello, FastCheck'); - }); }); diff --git a/src/app/app.ts b/src/app/app.ts index 5444c74..1a4c6b3 100644 --- a/src/app/app.ts +++ b/src/app/app.ts @@ -1,12 +1,13 @@ -import { Component, signal } from '@angular/core'; +import { Component } from '@angular/core'; import { RouterOutlet } from '@angular/router'; +import { SiteHeader } from './site-header/site-header'; +import { SiteFooter } from './site-footer/site-footer'; @Component({ selector: 'app-root', - imports: [RouterOutlet], + imports: [RouterOutlet, SiteHeader, SiteFooter], templateUrl: './app.html', styleUrl: './app.scss' }) -export class App { - protected readonly title = signal('FastCheck'); -} +export class App {} + diff --git a/src/app/components/active-checks/active-checks.component.html b/src/app/components/active-checks/active-checks.component.html deleted file mode 100644 index 36a445a..0000000 --- a/src/app/components/active-checks/active-checks.component.html +++ /dev/null @@ -1,95 +0,0 @@ -
    diff --git a/src/app/components/active-checks/active-checks.component.scss b/src/app/components/active-checks/active-checks.component.scss deleted file mode 100644 index f1139c1..0000000 --- a/src/app/components/active-checks/active-checks.component.scss +++ /dev/null @@ -1,280 +0,0 @@ -.page-container { - min-height: 100vh; - background: #f5f7fa; -} - -.header { - background: white; - padding: 20px 40px; - box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05); - display: flex; - justify-content: space-between; - align-items: center; -} - -.logo { - font-size: 24px; - font-weight: 700; - color: #667eea; -} - -.nav { - display: flex; - gap: 30px; -} - -.nav-link { - text-decoration: none; - color: #666; - font-weight: 500; - padding: 8px 16px; - border-radius: 8px; - transition: all 0.3s; - - &:hover { - color: #667eea; - background: #f0f0f0; - } - - &.active { - color: #667eea; - background: #e8ebff; - } -} - -.content { - padding: 40px; - max-width: 1200px; - margin: 0 auto; - - @media (max-width: 768px) { - padding: 20px; - } -} - -.page-header { - margin-bottom: 40px; - - h1 { - font-size: 32px; - color: #333; - margin-bottom: 10px; - } - - p { - color: #666; - font-size: 16px; - } -} - -.loading { - text-align: center; - padding: 60px 20px; - - .spinner { - width: 50px; - height: 50px; - border: 4px solid #f3f3f3; - border-top: 4px solid #667eea; - border-radius: 50%; - animation: spin 1s linear infinite; - margin: 0 auto 20px; - } - - p { - color: #666; - } -} - -@keyframes spin { - 0% { transform: rotate(0deg); } - 100% { transform: rotate(360deg); } -} - -.error-card { - background: white; - border-radius: 15px; - padding: 40px; - text-align: center; - box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05); - - p { - color: #c33; - margin-bottom: 20px; - } -} - -.btn-retry { - background: #667eea; - color: white; - border: none; - padding: 12px 30px; - border-radius: 8px; - cursor: pointer; - font-weight: 500; - transition: all 0.3s; - - &:hover { - background: #764ba2; - } -} - -.empty-state { - background: white; - border-radius: 20px; - padding: 60px 40px; - text-align: center; - box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05); - - .empty-icon { - font-size: 64px; - margin-bottom: 20px; - } - - h3 { - font-size: 24px; - color: #333; - margin-bottom: 10px; - } - - p { - color: #666; - margin-bottom: 30px; - } -} - -.btn-primary { - display: inline-block; - background: #667eea; - color: white; - text-decoration: none; - padding: 14px 30px; - border-radius: 8px; - font-weight: 600; - transition: all 0.3s; - - &:hover { - background: #764ba2; - transform: translateY(-2px); - box-shadow: 0 5px 15px rgba(102, 126, 234, 0.4); - } -} - -.checks-grid { - display: grid; - grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)); - gap: 30px; - - @media (max-width: 768px) { - grid-template-columns: 1fr; - gap: 20px; - } -} - -.check-card { - background: white; - border-radius: 15px; - padding: 25px; - box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05); - border: 2px solid #e8ebff; - transition: all 0.3s; - - @media (max-width: 768px) { - padding: 20px; - } - - &:hover { - transform: translateY(-5px); - box-shadow: 0 8px 25px rgba(102, 126, 234, 0.15); - } -} - -.check-header { - display: flex; - justify-content: space-between; - align-items: center; - margin-bottom: 20px; - padding-bottom: 15px; - border-bottom: 2px solid #f0f0f0; -} - -.check-badge { - background: #52c41a; - color: white; - padding: 6px 14px; - border-radius: 20px; - font-size: 12px; - font-weight: 600; - text-transform: uppercase; -} - -.check-amount { - font-size: 24px; - font-weight: 700; - color: #667eea; -} - -.check-details { - margin-bottom: 15px; -} - -.detail-item { - margin-bottom: 15px; - - .label { - display: block; - font-size: 12px; - color: #999; - text-transform: uppercase; - font-weight: 600; - margin-bottom: 5px; - } - - .value { - font-size: 16px; - color: #333; - font-weight: 500; - - &.code { - font-size: 20px; - color: #667eea; - font-weight: 700; - } - } -} - -.value-copy { - display: flex; - justify-content: space-between; - align-items: center; - gap: 10px; -} - -.btn-copy { - background: #f0f0f0; - border: none; - padding: 6px 12px; - border-radius: 6px; - cursor: pointer; - font-size: 16px; - transition: all 0.2s; - - &:hover { - background: #e0e0e0; - transform: scale(1.1); - } - - &:active { - transform: scale(0.95); - } -} - -.check-warning { - background: #fffbe6; - border-left: 4px solid #faad14; - padding: 12px; - border-radius: 6px; - font-size: 12px; - color: #666; - line-height: 1.5; -} diff --git a/src/app/components/active-checks/active-checks.component.ts b/src/app/components/active-checks/active-checks.component.ts deleted file mode 100644 index 4a0d7f4..0000000 --- a/src/app/components/active-checks/active-checks.component.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { Component, OnInit, signal } from '@angular/core'; -import { CommonModule } from '@angular/common'; -import { RouterLink } from '@angular/router'; -import { FastCheckService } from '../../services/fastcheck.service'; -import { FastCheck } from '../../models/fastcheck.model'; - -@Component({ - selector: 'app-active-checks', - standalone: true, - imports: [CommonModule, RouterLink], - templateUrl: './active-checks.component.html', - styleUrls: ['./active-checks.component.scss'] -}) -export class ActiveChecksComponent implements OnInit { - checks = signal([]); - isLoading = signal(true); - error = signal(''); - - constructor(private fastCheckService: FastCheckService) {} - - ngOnInit(): void { - this.loadActiveChecks(); - } - - loadActiveChecks(): void { - this.isLoading.set(true); - this.error.set(''); - - this.fastCheckService.getActiveFastChecks().subscribe({ - next: (response) => { - this.checks.set(response.checks); - this.isLoading.set(false); - }, - error: (err) => { - this.error.set('Failed to load active checks'); - this.isLoading.set(false); - console.error('Load error:', err); - } - }); - } - - formatAmount(amount: number): string { - return new Intl.NumberFormat('ru-RU').format(amount); - } - - copyToClipboard(text: string, type: string): void { - navigator.clipboard.writeText(text).then(() => { - alert(`${type} copied to clipboard!`); - }); - } -} diff --git a/src/app/components/dashboard/dashboard.component.html b/src/app/components/dashboard/dashboard.component.html deleted file mode 100644 index 74e3fd2..0000000 --- a/src/app/components/dashboard/dashboard.component.html +++ /dev/null @@ -1,142 +0,0 @@ -
    - -
    - - -
    - -
    - -
    - @if (isLoadingBalance()) { -
    -
    -
    - } @else if (balance()) { -
    - Current Balance -

    {{ formatAmount(balance()!.balance) }} ₽

    - -
    - } -
    - -
    - -
    -

    Create New FastCheck

    - -
    - - -
    - - @if (createError()) { -
    {{ createError() }}
    - } - - -
    - - -
    -

    Accept FastCheck

    - -
    - - -
    - -
    - - -
    - - @if (acceptError()) { -
    {{ acceptError() }}
    - } - - @if (acceptSuccess()) { -
    FastCheck accepted successfully!
    - } - - -
    -
    -
    -
    - - -@if (createdCheck()) { - -} diff --git a/src/app/components/dashboard/dashboard.component.scss b/src/app/components/dashboard/dashboard.component.scss deleted file mode 100644 index c1b6ecb..0000000 --- a/src/app/components/dashboard/dashboard.component.scss +++ /dev/null @@ -1,363 +0,0 @@ -.dashboard-container { - min-height: 100vh; - background: #f5f7fa; -} - -.header { - background: white; - padding: 20px 40px; - box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05); - display: flex; - justify-content: space-between; - align-items: center; - - @media (max-width: 768px) { - padding: 15px 20px; - flex-direction: column; - gap: 15px; - } -} - -.logo { - font-size: 24px; - font-weight: 700; - color: #667eea; -} - -.nav { - display: flex; - gap: 30px; - align-items: center; - - @media (max-width: 768px) { - gap: 10px; - flex-wrap: wrap; - justify-content: center; - } -} - -.nav-link { - text-decoration: none; - color: #666; - font-weight: 500; - padding: 8px 16px; - border-radius: 8px; - transition: all 0.3s; - - &:hover { - color: #667eea; - background: #f0f0f0; - } - - &.active { - color: #667eea; - background: #e8ebff; - } -} - -.btn-logout { - background: #ff4d4f; - color: white; - border: none; - padding: 10px 20px; - border-radius: 8px; - cursor: pointer; - font-weight: 500; - transition: all 0.3s; - - &:hover { - background: #ff7875; - transform: translateY(-2px); - } -} - -.content { - padding: 40px; - max-width: 1200px; - margin: 0 auto; - - @media (max-width: 768px) { - padding: 20px; - } -} - -.balance-card { - background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); - border-radius: 20px; - padding: 40px; - color: white; - margin-bottom: 40px; - box-shadow: 0 10px 30px rgba(102, 126, 234, 0.3); - - @media (max-width: 768px) { - padding: 30px 20px; - margin-bottom: 20px; - } -} - -.balance-info { - text-align: center; -} - -.balance-label { - font-size: 16px; - opacity: 0.9; - display: block; - margin-bottom: 10px; -} - -.balance-amount { - font-size: 48px; - font-weight: 700; - margin: 10px 0 30px; - - @media (max-width: 768px) { - font-size: 36px; - margin: 10px 0 20px; - } -} - -.btn-topup { - background: rgba(255, 255, 255, 0.2); - color: white; - border: 2px solid white; - padding: 12px 30px; - border-radius: 10px; - cursor: pointer; - font-size: 16px; - font-weight: 600; - transition: all 0.3s; - - &:hover { - background: white; - color: #667eea; - } -} - -.actions-grid { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(400px, 1fr)); - gap: 30px; - - @media (max-width: 768px) { - grid-template-columns: 1fr; - gap: 20px; - } -} - -.card { - background: white; - border-radius: 15px; - padding: 30px; - box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05); -} - -.card-title { - font-size: 20px; - font-weight: 600; - margin-bottom: 25px; - color: #333; -} - -.form-group { - margin-bottom: 20px; - - label { - display: block; - font-size: 14px; - font-weight: 500; - color: #666; - margin-bottom: 8px; - } -} - -.input { - width: 100%; - padding: 12px 16px; - border: 2px solid #e0e0e0; - border-radius: 8px; - font-size: 16px; - transition: all 0.3s; - box-sizing: border-box; - - &:focus { - outline: none; - border-color: #667eea; - } - - &:disabled { - background: #f5f5f5; - cursor: not-allowed; - } -} - -.btn-primary { - width: 100%; - background: #667eea; - color: white; - border: none; - padding: 14px; - border-radius: 8px; - cursor: pointer; - font-size: 16px; - font-weight: 600; - transition: all 0.3s; - margin-top: 10px; - - &:hover:not(:disabled) { - background: #764ba2; - transform: translateY(-2px); - box-shadow: 0 5px 15px rgba(102, 126, 234, 0.4); - } - - &:disabled { - background: #ccc; - cursor: not-allowed; - transform: none; - } -} - -.error-message { - background: #fee; - color: #c33; - padding: 12px; - border-radius: 8px; - font-size: 14px; - margin: 15px 0; -} - -.success-message { - background: #efe; - color: #3c3; - padding: 12px; - border-radius: 8px; - font-size: 14px; - margin: 15px 0; -} - -.loading-small { - text-align: center; - padding: 20px; - - .spinner-small { - width: 30px; - height: 30px; - border: 3px solid rgba(255, 255, 255, 0.3); - border-top: 3px solid white; - border-radius: 50%; - animation: spin 1s linear infinite; - margin: 0 auto; - } -} - -@keyframes spin { - 0% { transform: rotate(0deg); } - 100% { transform: rotate(360deg); } -} - -// Modal -.modal-overlay { - position: fixed; - top: 0; - left: 0; - right: 0; - bottom: 0; - background: rgba(0, 0, 0, 0.6); - display: flex; - align-items: center; - justify-content: center; - z-index: 1000; -} - -.modal { - background: white; - border-radius: 20px; - max-width: 500px; - width: 90%; - box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); -} - -.modal-header { - padding: 30px 30px 20px; - border-bottom: 1px solid #eee; - display: flex; - justify-content: space-between; - align-items: center; - - h3 { - margin: 0; - color: #333; - } -} - -.close-btn { - background: none; - border: none; - font-size: 32px; - cursor: pointer; - color: #999; - line-height: 1; - padding: 0; - width: 32px; - height: 32px; - - &:hover { - color: #333; - } -} - -.modal-body { - padding: 30px; -} - -.check-details { - background: #f9f9f9; - border-radius: 12px; - padding: 20px; - margin-bottom: 20px; -} - -.detail-row { - display: flex; - justify-content: space-between; - padding: 12px 0; - border-bottom: 1px solid #e0e0e0; - - &:last-child { - border-bottom: none; - } -} - -.detail-label { - color: #666; - font-size: 14px; -} - -.detail-value { - font-weight: 600; - color: #333; - - &.code { - font-size: 20px; - color: #667eea; - } -} - -.modal-note { - background: #fffbe6; - border-left: 4px solid #faad14; - padding: 15px; - border-radius: 8px; - - p { - margin: 0; - font-size: 14px; - color: #666; - line-height: 1.6; - } -} - -.modal-footer { - padding: 20px 30px 30px; - text-align: center; -} diff --git a/src/app/components/dashboard/dashboard.component.ts b/src/app/components/dashboard/dashboard.component.ts deleted file mode 100644 index 3034ee5..0000000 --- a/src/app/components/dashboard/dashboard.component.ts +++ /dev/null @@ -1,169 +0,0 @@ -import { Component, OnInit, signal } from '@angular/core'; -import { CommonModule } from '@angular/common'; -import { FormsModule } from '@angular/forms'; -import { Router, RouterLink } from '@angular/router'; -import { FastCheckService } from '../../services/fastcheck.service'; -import { AuthService } from '../../services/auth.service'; -import { Balance, CreateFastCheckResponse } from '../../models/fastcheck.model'; - -@Component({ - selector: 'app-dashboard', - standalone: true, - imports: [CommonModule, FormsModule, RouterLink], - templateUrl: './dashboard.component.html', - styleUrls: ['./dashboard.component.scss'] -}) -export class DashboardComponent implements OnInit { - balance = signal(null); - isLoadingBalance = signal(true); - - // Create FastCheck - createAmount = signal(0); - isCreating = signal(false); - createdCheck = signal(null); - createError = signal(''); - - // Accept FastCheck - acceptNumber = signal(''); - acceptCode = signal(''); - isAccepting = signal(false); - acceptSuccess = signal(false); - acceptError = signal(''); - - constructor( - private fastCheckService: FastCheckService, - private authService: AuthService, - private router: Router - ) {} - - ngOnInit(): void { - this.loadBalance(); - } - - loadBalance(): void { - this.isLoadingBalance.set(true); - this.fastCheckService.getBalance().subscribe({ - next: (balance) => { - this.balance.set(balance); - this.isLoadingBalance.set(false); - }, - error: (err) => { - console.error('Failed to load balance:', err); - this.isLoadingBalance.set(false); - } - }); - } - - createFastCheck(): void { - const amount = this.createAmount(); - - if (!amount || amount <= 0) { - this.createError.set('Please enter a valid amount'); - return; - } - - const currentBalance = this.balance(); - if (currentBalance && amount > currentBalance.balance) { - this.createError.set('Insufficient balance'); - return; - } - - this.isCreating.set(true); - this.createError.set(''); - this.createdCheck.set(null); - - this.fastCheckService.createFastCheck({ - amount: amount, - currency: 'RUB' - }).subscribe({ - next: (response) => { - this.createdCheck.set(response); - this.isCreating.set(false); - this.createAmount.set(0); - this.loadBalance(); // Refresh balance - }, - error: (err) => { - this.createError.set('Failed to create FastCheck. Please try again.'); - this.isCreating.set(false); - console.error('Create error:', err); - } - }); - } - - acceptFastCheck(): void { - const number = this.acceptNumber().trim(); - const code = this.acceptCode().trim(); - - if (!number || !code) { - this.acceptError.set('Please enter both FastCheck number and code'); - return; - } - - this.isAccepting.set(true); - this.acceptError.set(''); - this.acceptSuccess.set(false); - - this.fastCheckService.acceptFastCheck({ - fastcheck: number, - code: code - }).subscribe({ - next: () => { - this.acceptSuccess.set(true); - this.isAccepting.set(false); - this.acceptNumber.set(''); - this.acceptCode.set(''); - this.loadBalance(); // Refresh balance - - setTimeout(() => { - this.acceptSuccess.set(false); - }, 3000); - }, - error: (err) => { - this.acceptError.set('Failed to accept FastCheck. Check your credentials.'); - this.isAccepting.set(false); - console.error('Accept error:', err); - } - }); - } - - formatAmount(amount: number): string { - return new Intl.NumberFormat('ru-RU').format(amount); - } - - formatFastCheckNumber(input: string): string { - const cleaned = input.replace(/\D/g, ''); - const formatted = cleaned.match(/.{1,4}/g)?.join('-') || ''; - return formatted.slice(0, 14); // xxxx-xxxx-xxxx - } - - onFastCheckNumberInput(event: Event): void { - const input = event.target as HTMLInputElement; - const formatted = this.formatFastCheckNumber(input.value); - this.acceptNumber.set(formatted); - } - - closeCreatedCheckModal(): void { - this.createdCheck.set(null); - } - - logout(): void { - const sessionId = this.authService.getSessionId(); - if (sessionId) { - this.authService.deleteWebSession(sessionId).subscribe({ - next: () => { - this.router.navigate(['/login']); - }, - error: (err) => { - console.error('Logout error:', err); - this.authService.clearAuthentication(); - this.router.navigate(['/login']); - } - }); - } - } - - topUpBalance(): void { - // TODO: Implement bank integration - alert('Bank integration will be implemented. You will be redirected to bank payment page.'); - } -} diff --git a/src/app/components/history/history.component.html b/src/app/components/history/history.component.html deleted file mode 100644 index df13677..0000000 --- a/src/app/components/history/history.component.html +++ /dev/null @@ -1,86 +0,0 @@ -
    -
    - - -
    - -
    - - - @if (isLoading()) { -
    -
    -

    Loading history...

    -
    - } - - @if (error()) { -
    -

    {{ error() }}

    - -
    - } - - @if (!isLoading() && !error()) { - @if (checks().length === 0) { -
    -
    📜
    -

    No History

    -

    Your transaction history will appear here.

    - Go to Dashboard -
    - } @else { -
    - @for (check of checks(); track check.fastcheck) { -
    -
    -
    - - {{ getTypeLabel(check.type) }} - - {{ check.fastcheck }} -
    - {{ formatAmount(check.amount) }} ₽ -
    - -
    - @if (check.createdAt) { -
    - Created: - {{ check.createdAt | date:'short' }} -
    - } - - @if (check.usedAt) { -
    - Used: - {{ check.usedAt | date:'short' }} -
    - } - - @if (check.acceptedAt) { -
    - Accepted: - {{ check.acceptedAt | date:'short' }} -
    - } - -
    - Status: - {{ check.status }} -
    -
    -
    - } -
    - } - } -
    -
    diff --git a/src/app/components/history/history.component.scss b/src/app/components/history/history.component.scss deleted file mode 100644 index f3836df..0000000 --- a/src/app/components/history/history.component.scss +++ /dev/null @@ -1,270 +0,0 @@ -.page-container { - min-height: 100vh; - background: #f5f7fa; -} - -.header { - background: white; - padding: 20px 40px; - box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05); - display: flex; - justify-content: space-between; - align-items: center; -} - -.logo { - font-size: 24px; - font-weight: 700; - color: #667eea; -} - -.nav { - display: flex; - gap: 30px; -} - -.nav-link { - text-decoration: none; - color: #666; - font-weight: 500; - padding: 8px 16px; - border-radius: 8px; - transition: all 0.3s; - - &:hover { - color: #667eea; - background: #f0f0f0; - } - - &.active { - color: #667eea; - background: #e8ebff; - } -} - -.content { - padding: 40px; - max-width: 1000px; - margin: 0 auto; - - @media (max-width: 768px) { - padding: 20px; - } -} - -.page-header { - margin-bottom: 40px; - - h1 { - font-size: 32px; - color: #333; - margin-bottom: 10px; - } - - p { - color: #666; - font-size: 16px; - } -} - -.loading { - text-align: center; - padding: 60px 20px; - - .spinner { - width: 50px; - height: 50px; - border: 4px solid #f3f3f3; - border-top: 4px solid #667eea; - border-radius: 50%; - animation: spin 1s linear infinite; - margin: 0 auto 20px; - } - - p { - color: #666; - } -} - -@keyframes spin { - 0% { transform: rotate(0deg); } - 100% { transform: rotate(360deg); } -} - -.error-card { - background: white; - border-radius: 15px; - padding: 40px; - text-align: center; - box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05); - - p { - color: #c33; - margin-bottom: 20px; - } -} - -.btn-retry { - background: #667eea; - color: white; - border: none; - padding: 12px 30px; - border-radius: 8px; - cursor: pointer; - font-weight: 500; - transition: all 0.3s; - - &:hover { - background: #764ba2; - } -} - -.empty-state { - background: white; - border-radius: 20px; - padding: 60px 40px; - text-align: center; - box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05); - - .empty-icon { - font-size: 64px; - margin-bottom: 20px; - } - - h3 { - font-size: 24px; - color: #333; - margin-bottom: 10px; - } - - p { - color: #666; - margin-bottom: 30px; - } -} - -.btn-primary { - display: inline-block; - background: #667eea; - color: white; - text-decoration: none; - padding: 14px 30px; - border-radius: 8px; - font-weight: 600; - transition: all 0.3s; - - &:hover { - background: #764ba2; - transform: translateY(-2px); - box-shadow: 0 5px 15px rgba(102, 126, 234, 0.4); - } -} - -.history-list { - display: flex; - flex-direction: column; - gap: 20px; -} - -.history-item { - background: white; - border-radius: 12px; - padding: 25px; - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); - transition: all 0.3s; - - @media (max-width: 768px) { - padding: 20px; - } - - &:hover { - box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); - } -} - -.item-header { - display: flex; - justify-content: space-between; - align-items: center; - margin-bottom: 20px; - padding-bottom: 15px; - border-bottom: 1px solid #f0f0f0; -} - -.item-info { - display: flex; - align-items: center; - gap: 15px; -} - -.type-badge { - padding: 6px 14px; - border-radius: 20px; - font-size: 12px; - font-weight: 600; - text-transform: uppercase; - - &.type-created { - background: #e8ebff; - color: #667eea; - } - - &.type-accepted { - background: #e6f7ff; - color: #1890ff; - } -} - -.item-number { - font-family: monospace; - font-size: 16px; - color: #666; - font-weight: 500; -} - -.item-amount { - font-size: 24px; - font-weight: 700; - color: #333; -} - -.item-details { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); - gap: 15px; - - @media (max-width: 768px) { - grid-template-columns: 1fr; - gap: 10px; - } -} - -.detail { - display: flex; - flex-direction: column; - gap: 5px; -} - -.detail-label { - font-size: 12px; - color: #999; - text-transform: uppercase; - font-weight: 600; -} - -.detail-value { - font-size: 14px; - color: #333; - font-weight: 500; -} - -.status-badge { - display: inline-block; - padding: 4px 12px; - border-radius: 12px; - font-size: 12px; - font-weight: 600; - text-transform: uppercase; - background: #f5f5f5; - color: #999; -} diff --git a/src/app/components/history/history.component.ts b/src/app/components/history/history.component.ts deleted file mode 100644 index 4a98297..0000000 --- a/src/app/components/history/history.component.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { Component, OnInit, signal } from '@angular/core'; -import { CommonModule } from '@angular/common'; -import { RouterLink } from '@angular/router'; -import { FastCheckService } from '../../services/fastcheck.service'; -import { FastCheck } from '../../models/fastcheck.model'; - -@Component({ - selector: 'app-history', - standalone: true, - imports: [CommonModule, RouterLink], - templateUrl: './history.component.html', - styleUrls: ['./history.component.scss'] -}) -export class HistoryComponent implements OnInit { - checks = signal([]); - isLoading = signal(true); - error = signal(''); - - constructor(private fastCheckService: FastCheckService) {} - - ngOnInit(): void { - this.loadHistory(); - } - - loadHistory(): void { - this.isLoading.set(true); - this.error.set(''); - - this.fastCheckService.getFastCheckHistory().subscribe({ - next: (response) => { - this.checks.set(response.checks); - this.isLoading.set(false); - }, - error: (err) => { - this.error.set('Failed to load history'); - this.isLoading.set(false); - console.error('Load error:', err); - } - }); - } - - formatAmount(amount: number): string { - return new Intl.NumberFormat('ru-RU').format(amount); - } - - getTypeLabel(type?: string): string { - return type === 'created' ? 'Created' : 'Accepted'; - } - - getTypeClass(type?: string): string { - return type === 'created' ? 'type-created' : 'type-accepted'; - } -} diff --git a/src/app/components/login/login.component.html b/src/app/components/login/login.component.html deleted file mode 100644 index 14e7f75..0000000 --- a/src/app/components/login/login.component.html +++ /dev/null @@ -1,39 +0,0 @@ - diff --git a/src/app/components/login/login.component.scss b/src/app/components/login/login.component.scss deleted file mode 100644 index d6c17ce..0000000 --- a/src/app/components/login/login.component.scss +++ /dev/null @@ -1,177 +0,0 @@ -.login-container { - height: 100vh; - display: flex; - align-items: center; - justify-content: center; - background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); - padding: 20px; - overflow: hidden; -} - -.login-card { - background: white; - border-radius: 20px; - padding: 40px; - box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); - max-width: 400px; - width: 100%; - text-align: center; - - @media (max-width: 768px) { - padding: 30px 20px; - border-radius: 15px; - max-width: 100%; - } -} - -.title { - font-size: 32px; - font-weight: 700; - color: #333; - margin-bottom: 10px; - - @media (max-width: 768px) { - font-size: 28px; - } -} - -.subtitle { - font-size: 16px; - color: #666; - margin-bottom: 30px; - - @media (max-width: 768px) { - font-size: 14px; - margin-bottom: 20px; - } -} - -.loading { - padding: 40px 0; - - .spinner { - width: 50px; - height: 50px; - border: 4px solid #f3f3f3; - border-top: 4px solid #667eea; - border-radius: 50%; - animation: spin 1s linear infinite; - margin: 0 auto 20px; - } - - p { - color: #666; - } -} - -@keyframes spin { - 0% { transform: rotate(0deg); } - 100% { transform: rotate(360deg); } -} - -.error-message { - padding: 20px; - background: #fee; - border-radius: 10px; - color: #c33; - margin: 20px 0; - - p { - margin-bottom: 15px; - } -} - -.qr-section { - margin: 30px 0; -} - -.qr-wrapper { - display: inline-block; - padding: 20px; - background: white; - border-radius: 15px; - box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); - margin-bottom: 20px; - - @media (max-width: 768px) { - padding: 15px; - } - - ::ng-deep canvas { - max-width: 100%; - height: auto !important; - } -} - -.status-indicator { - display: flex; - align-items: center; - justify-content: center; - gap: 10px; - color: #667eea; - font-weight: 500; - margin: 20px 0; - - .pulse { - width: 10px; - height: 10px; - background: #667eea; - border-radius: 50%; - animation: pulse 1.5s ease-in-out infinite; - } -} - -@keyframes pulse { - 0%, 100% { - opacity: 1; - transform: scale(1); - } - 50% { - opacity: 0.5; - transform: scale(1.2); - } -} - -.btn-link { - background: none; - border: none; - color: #667eea; - cursor: pointer; - text-decoration: underline; - font-size: 14px; - padding: 10px; - - &:hover { - color: #764ba2; - } -} - -.btn-secondary { - background: #667eea; - color: white; - border: none; - padding: 12px 30px; - border-radius: 8px; - cursor: pointer; - font-size: 16px; - font-weight: 500; - transition: all 0.3s; - - &:hover { - background: #764ba2; - transform: translateY(-2px); - box-shadow: 0 5px 15px rgba(102, 126, 234, 0.4); - } -} - -.info { - margin-top: 30px; - padding-top: 20px; - border-top: 1px solid #eee; - - p { - font-size: 14px; - color: #999; - line-height: 1.6; - } -} diff --git a/src/app/components/login/login.component.ts b/src/app/components/login/login.component.ts deleted file mode 100644 index 8081a2e..0000000 --- a/src/app/components/login/login.component.ts +++ /dev/null @@ -1,73 +0,0 @@ -import { Component, OnInit, OnDestroy, signal } from '@angular/core'; -import { CommonModule } from '@angular/common'; -import { Router } from '@angular/router'; -import { AuthService } from '../../services/auth.service'; -import { Subscription } from 'rxjs'; -import { QRCodeComponent } from 'angularx-qrcode'; - -@Component({ - selector: 'app-login', - standalone: true, - imports: [CommonModule, QRCodeComponent], - templateUrl: './login.component.html', - styleUrls: ['./login.component.scss'] -}) -export class LoginComponent implements OnInit, OnDestroy { - qrData = signal(''); - sessionId = signal(''); - isLoading = signal(true); - error = signal(''); - - private pollSubscription?: Subscription; - - constructor( - private authService: AuthService, - private router: Router - ) {} - - ngOnInit(): void { - this.createSession(); - } - - ngOnDestroy(): void { - this.pollSubscription?.unsubscribe(); - } - - createSession(): void { - this.isLoading.set(true); - this.error.set(''); - - this.authService.createWebSession().subscribe({ - next: (session) => { - this.sessionId.set(session.sessionId); - this.qrData.set(`fastcheck://login?session=${session.sessionId}`); - this.isLoading.set(false); - this.startPolling(session.sessionId); - }, - error: (err) => { - this.error.set('Failed to create session. Please try again.'); - this.isLoading.set(false); - console.error('Session creation error:', err); - } - }); - } - - private startPolling(sessionId: string): void { - this.pollSubscription = this.authService.startPolling(sessionId).subscribe({ - next: (session) => { - if (session.Status) { - this.router.navigate(['/dashboard']); - } - }, - error: (err) => { - this.error.set('Authentication failed. Please try again.'); - console.error('Polling error:', err); - } - }); - } - - refreshQR(): void { - this.pollSubscription?.unsubscribe(); - this.createSession(); - } -} diff --git a/src/app/fastcheck.service.ts b/src/app/fastcheck.service.ts new file mode 100644 index 0000000..3257096 --- /dev/null +++ b/src/app/fastcheck.service.ts @@ -0,0 +1,28 @@ +import { Injectable, signal } from '@angular/core'; + +export interface FastcheckData { + fastcheck: string; + amount: number | null; + code: string; + expiration?: string; +} + +/** + * Shared state between the home (Fastcheck) page and the create-new page. + * When a new fastcheck is created via POST /fastcheck, the create page stores + * the returned data here and the home page reads it to autofill its fields. + */ +@Injectable({ providedIn: 'root' }) +export class FastcheckService { + readonly created = signal(null); + + setCreated(data: FastcheckData): void { + this.created.set(data); + } + + consume(): FastcheckData | null { + const value = this.created(); + this.created.set(null); + return value; + } +} diff --git a/src/app/guards/auth.guard.ts b/src/app/guards/auth.guard.ts deleted file mode 100644 index 4a75d1d..0000000 --- a/src/app/guards/auth.guard.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { inject } from '@angular/core'; -import { Router, CanActivateFn } from '@angular/router'; -import { AuthService } from '../services/auth.service'; - -export const authGuard: CanActivateFn = () => { - const authService = inject(AuthService); - const router = inject(Router); - - if (authService.isAuthenticated().isAuthenticated) { - return true; - } - - router.navigate(['/login']); - return false; -}; - -export const loginGuard: CanActivateFn = () => { - const authService = inject(AuthService); - const router = inject(Router); - - if (!authService.isAuthenticated().isAuthenticated) { - return true; - } - - router.navigate(['/dashboard']); - return false; -}; diff --git a/src/app/models/api.model.ts b/src/app/models/api.model.ts deleted file mode 100644 index 76afc7a..0000000 --- a/src/app/models/api.model.ts +++ /dev/null @@ -1,9 +0,0 @@ -export interface ApiResponse { - data?: T; - message?: string; - error?: string; -} - -export interface PingResponse { - message: string; -} diff --git a/src/app/models/fastcheck.model.ts b/src/app/models/fastcheck.model.ts deleted file mode 100644 index 9cd7e02..0000000 --- a/src/app/models/fastcheck.model.ts +++ /dev/null @@ -1,44 +0,0 @@ -export interface FastCheck { - fastcheck: string; - amount: number; - currency: string; - code?: string; - expiration: string; - status: 'active' | 'used' | 'expired'; - createdAt?: string; - usedAt?: string; - acceptedAt?: string; - type?: 'created' | 'accepted'; -} - -export interface CreateFastCheckRequest { - amount: number; - currency: string; -} - -export interface CreateFastCheckResponse { - fastcheck: string; - expiration: string; - code: string; - Status: boolean; -} - -export interface AcceptFastCheckRequest { - fastcheck: string; - code: string; -} - -export interface CheckStatusResponse { - fastcheck: string; - expiration: string; - Status: boolean; -} - -export interface Balance { - balance: number; - currency: string; -} - -export interface FastCheckListResponse { - checks: FastCheck[]; -} diff --git a/src/app/models/session.model.ts b/src/app/models/session.model.ts deleted file mode 100644 index e94c5bf..0000000 --- a/src/app/models/session.model.ts +++ /dev/null @@ -1,13 +0,0 @@ -export interface WebSession { - sessionId: string; - userId: string; - expires: string; - userSessionId: string; - Status: boolean; -} - -export interface AuthState { - isAuthenticated: boolean; - sessionId: string | null; - userSessionId: string | null; -} diff --git a/src/app/pages/about-page/about-page.html b/src/app/pages/about-page/about-page.html new file mode 100644 index 0000000..4773b01 --- /dev/null +++ b/src/app/pages/about-page/about-page.html @@ -0,0 +1,40 @@ +
    +
    +

    {{ 'about.title' | translate }}

    +

    {{ 'about.lead' | translate }}

    +
    + +
    + +
    +

    {{ 'about.what_title' | translate }}

    +

    {{ 'about.what_text' | translate }}

    +
    + +
    +

    {{ 'about.how_title' | translate }}

    +
      +
    1. {{ 'about.step1' | translate }}
    2. +
    3. {{ 'about.step2' | translate }}
    4. +
    5. {{ 'about.step3' | translate }}
    6. +
    7. {{ 'about.step4' | translate }}
    8. +
    +
    + +
    +

    {{ 'about.why_title' | translate }}

    +
      +
    • {{ 'about.why1' | translate }}
    • +
    • {{ 'about.why2' | translate }}
    • +
    • {{ 'about.why3' | translate }}
    • +
    • {{ 'about.why4' | translate }}
    • +
    +
    + +
    +

    {{ 'about.company_title' | translate }}

    +

    {{ 'about.company_text' | translate }}

    +
    + +
    +
    diff --git a/src/app/pages/about-page/about-page.scss b/src/app/pages/about-page/about-page.scss new file mode 100644 index 0000000..b987bbb --- /dev/null +++ b/src/app/pages/about-page/about-page.scss @@ -0,0 +1,75 @@ +:host { + display: block; + background: #f8fafc; + min-height: 100vh; +} + +// Shared info page layout — used by AboutPage and ContactsPage +.info-page { + max-width: 760px; + margin: 0 auto; + padding: 48px 24px 72px; + + @media (max-width: 600px) { + padding: 32px 16px 56px; + } + + &__hero { + margin-bottom: 48px; + border-bottom: 1px solid #e2e8f0; + padding-bottom: 32px; + } + + &__title { + font-size: 32px; + font-weight: 800; + color: #0f172a; + margin: 0 0 12px; + letter-spacing: -0.5px; + + @media (max-width: 600px) { font-size: 26px; } + } + + &__lead { + font-size: 17px; + line-height: 1.7; + color: #475569; + margin: 0; + } + + &__body { + display: flex; + flex-direction: column; + gap: 48px; + } +} + +.info-section { + &__title { + font-size: 20px; + font-weight: 700; + color: #1e293b; + margin: 0 0 14px; + } + + &__text { + font-size: 15.5px; + line-height: 1.75; + color: #475569; + margin: 0; + } + + &__steps, &__list { + padding-left: 22px; + margin: 0; + display: flex; + flex-direction: column; + gap: 10px; + + li { + font-size: 15.5px; + line-height: 1.65; + color: #475569; + } + } +} diff --git a/src/app/pages/about-page/about-page.ts b/src/app/pages/about-page/about-page.ts new file mode 100644 index 0000000..3979fea --- /dev/null +++ b/src/app/pages/about-page/about-page.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; +import { TranslatePipe } from '../../translate/translate.pipe'; + +@Component({ + selector: 'app-about-page', + imports: [TranslatePipe], + templateUrl: './about-page.html', + styleUrl: './about-page.scss' +}) +export class AboutPage {} diff --git a/src/app/pages/contacts-page/contacts-page.html b/src/app/pages/contacts-page/contacts-page.html new file mode 100644 index 0000000..5400fab --- /dev/null +++ b/src/app/pages/contacts-page/contacts-page.html @@ -0,0 +1,66 @@ +
    +
    +

    {{ 'contacts.title' | translate }}

    +

    {{ 'contacts.lead' | translate }}

    +
    + +
    + + + +
    +

    {{ 'contacts.hours_title' | translate }}

    +
    +
    + {{ 'footer.support_label' | translate }} + 24/7 +
    +
    + {{ 'footer.questions_label' | translate }} + 10:00–19:00 МСК +
    +
    +
    + +
    +
    diff --git a/src/app/pages/contacts-page/contacts-page.scss b/src/app/pages/contacts-page/contacts-page.scss new file mode 100644 index 0000000..76e3c95 --- /dev/null +++ b/src/app/pages/contacts-page/contacts-page.scss @@ -0,0 +1,146 @@ +:host { + display: block; + background: #f8fafc; + min-height: 100vh; +} + +.info-page { + max-width: 760px; + margin: 0 auto; + padding: 48px 24px 72px; + + @media (max-width: 600px) { + padding: 32px 16px 56px; + } + + &__hero { + margin-bottom: 48px; + border-bottom: 1px solid #e2e8f0; + padding-bottom: 32px; + } + + &__title { + font-size: 32px; + font-weight: 800; + color: #0f172a; + margin: 0 0 12px; + letter-spacing: -0.5px; + + @media (max-width: 600px) { font-size: 26px; } + } + + &__lead { + font-size: 17px; + line-height: 1.7; + color: #475569; + margin: 0; + } + + &__body { + display: flex; + flex-direction: column; + gap: 48px; + } +} + +.info-section { + &__title { + font-size: 20px; + font-weight: 700; + color: #1e293b; + margin: 0 0 14px; + } +} + +.contacts-grid { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 16px; + + @media (max-width: 540px) { + grid-template-columns: 1fr; + } +} + +.contact-card { + display: flex; + align-items: center; + gap: 16px; + padding: 20px; + border-radius: 16px; + border: 1px solid #e2e8f0; + background: #fff; + text-decoration: none; + transition: border-color 0.15s, box-shadow 0.15s, background 0.15s; + + &:hover { + border-color: #93c5fd; + box-shadow: 0 4px 16px rgba(30, 64, 175, 0.08); + background: #f8fbff; + } + + &__icon { + font-size: 28px; + line-height: 1; + flex-shrink: 0; + width: 44px; + height: 44px; + display: flex; + align-items: center; + justify-content: center; + } + + &__body { + display: flex; + flex-direction: column; + gap: 3px; + min-width: 0; + } + + &__label { + font-size: 11.5px; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.06em; + color: #94a3b8; + } + + &__value { + font-size: 14.5px; + font-weight: 600; + color: #0f172a; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } +} + +.hours-table { + display: flex; + flex-direction: column; + gap: 12px; +} + +.hours-row { + display: flex; + align-items: center; + justify-content: space-between; + padding: 14px 18px; + border-radius: 10px; + background: #f8fafc; + border: 1px solid #e2e8f0; + + &__label { + font-size: 14px; + color: #475569; + font-weight: 500; + } + + &__value { + font-size: 14px; + font-weight: 700; + color: #0f172a; + + &--green { color: #16a34a; } + } +} diff --git a/src/app/pages/contacts-page/contacts-page.ts b/src/app/pages/contacts-page/contacts-page.ts new file mode 100644 index 0000000..3f6bca9 --- /dev/null +++ b/src/app/pages/contacts-page/contacts-page.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; +import { TranslatePipe } from '../../translate/translate.pipe'; + +@Component({ + selector: 'app-contacts-page', + imports: [TranslatePipe], + templateUrl: './contacts-page.html', + styleUrl: './contacts-page.scss' +}) +export class ContactsPage {} diff --git a/src/app/pages/create-page/create-page.html b/src/app/pages/create-page/create-page.html new file mode 100644 index 0000000..f28fc67 --- /dev/null +++ b/src/app/pages/create-page/create-page.html @@ -0,0 +1,158 @@ +
    +
    + +
    + + + + + +

    + {{ 'create.title' | translate }}  + fastCHECK +

    +

    {{ 'create.subtitle' | translate }}

    +
    + +
    + + +
    + {{ 'create.payment_label' | translate }} +
    + + + + + +
    +
    + + +
    + {{ 'create.currency_label' | translate }} +
    + + + + + +
    +
    + +
    + +
    + + +
    + {{ 'create.amount_hint' | translate }} {{ minAmount() }}–{{ maxAmount().toLocaleString('ru') }} ₽ + @if (error()) { + {{ error() }} + } +
    + +
    + + +
    + + + + +@if (qrImageUrl()) { +
    +
    + +

    {{ 'create.qr_label' | translate }}

    + QR + @if (qrStatus()) { + {{ qrStatus() }} + } + @if (qrPolling()) { +

    {{ 'create.qr_waiting' | translate }}

    + } +
    +
    +} +
    + + +
    +
    diff --git a/src/app/pages/create-page/create-page.scss b/src/app/pages/create-page/create-page.scss new file mode 100644 index 0000000..d4621ea --- /dev/null +++ b/src/app/pages/create-page/create-page.scss @@ -0,0 +1,266 @@ +@use './../../../shared' as *; + +.card__header { + position: relative; +} + +.back { + position: absolute; + top: 14px; + left: 14px; + width: 44px; + height: 44px; + border-radius: 50%; + display: inline-flex; + align-items: center; + justify-content: center; + color: #475569; + background: #f1f5f9; + border: 1px solid #e2e8f0; + text-decoration: none; + transition: background 0.15s, color 0.15s; + z-index: 1; + + &:hover { background: #e2e8f0; color: #0f172a; } + &:active { background: #cbd5e1; } +} + +.currency-badge { + display: flex; + align-items: center; + gap: 10px; + background: #f1f5f9; + border-radius: 12px; + padding: 12px 16px; + margin-bottom: 18px; + + &__flag { font-size: 22px; line-height: 1; } + &__code { font-size: 15px; font-weight: 700; color: #0f172a; } + &__name { font-size: 13px; color: #64748b; margin-left: auto; } +} + +// ─── Methods row ──────────────────────────────────────────────────────────── +.methods { + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: 8px; + + @media (max-width: 360px) { + gap: 6px; + } +} + +.method { + display: flex; + align-items: center; + justify-content: center; + height: 56px; + padding: 8px; + border-radius: 12px; + border: 2px solid #e2e8f0; + background: #fff; + cursor: pointer; + transition: border-color .15s, background .15s, transform .1s, box-shadow .15s; + -webkit-appearance: none; + font-family: inherit; + + @media (max-width: 360px) { + height: 52px; + padding: 6px; + } + + &__logo { + max-width: 100%; + max-height: 28px; + object-fit: contain; + display: block; + pointer-events: none; + } + + &:hover:not(:disabled):not(.method--disabled) { + border-color: #cbd5e1; + } + + &:active:not(:disabled) { transform: scale(.97); } + + &--active { + border-color: #2563eb; + background: rgba(37, 99, 235, .06); + box-shadow: 0 0 0 3px rgba(37, 99, 235, .1); + } + + &--disabled, + &:disabled { + cursor: not-allowed; + background: #f8fafc; + + .method__logo { + filter: grayscale(1); + opacity: .45; + } + } +} + +// ─── Currency chips ───────────────────────────────────────────────────────── +.currencies { + display: flex; + flex-wrap: wrap; + gap: 8px; +} + +.chip { + display: inline-flex; + align-items: center; + gap: 6px; + padding: 0 14px; + height: 44px; + border-radius: 999px; + border: 2px solid #e2e8f0; + background: #f8fafc; + color: #475569; + font-family: inherit; + font-size: 14px; + font-weight: 700; + cursor: pointer; + transition: border-color .15s, background .15s, color .15s; + -webkit-appearance: none; + + &__flag { font-size: 16px; line-height: 1; } + &__sign { + font-size: 15px; + font-weight: 800; + color: #1e40af; + line-height: 1; + } + &__code { letter-spacing: .3px; } + + &--active { + border-color: #2563eb; + background: rgba(37, 99, 235, .08); + color: #1e40af; + } + + &--disabled, + &:disabled { + opacity: .45; + cursor: not-allowed; + color: #94a3b8; + + .chip__sign { color: #94a3b8; } + } +} + +.note-input { + width: 100%; + border: 2px solid #e2e8f0; + border-radius: 14px; + background: #f8fafc; + padding: 14px 16px; + font-size: 15px; + font-weight: 500; + color: #0f172a; + font-family: inherit; + resize: vertical; + outline: none; + transition: border-color 0.2s, box-shadow 0.2s, background 0.2s; + line-height: 1.5; + + &::placeholder { color: #cbd5e1; font-weight: 400; } + + &:focus { + border-color: #2563eb; + box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12); + background: #fff; + } +} + +// ─── QR section ───────────────────────────────────────────────────────────── +// ─── QR popup ─────────────────────────────────────────────────────────────── +.qr-overlay { + position: fixed; + inset: 0; + background: rgba(0, 0, 0, 0.55); + z-index: 1000; + display: flex; + align-items: center; + justify-content: center; + animation: overlay-in 0.2s ease; +} + +.qr-modal { + position: relative; + background: #fff; + border-radius: 20px; + padding: 32px 28px 24px; + display: flex; + flex-direction: column; + align-items: center; + gap: 14px; + box-shadow: 0 20px 60px rgba(0,0,0,0.25); + animation: modal-in 0.22s cubic-bezier(.34,1.56,.64,1); + max-width: 340px; + width: 90vw; + + &__close { + position: absolute; + top: 12px; + right: 12px; + width: 36px; + height: 36px; + border-radius: 50%; + border: none; + background: #f1f5f9; + color: #475569; + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + transition: background 0.15s; + &:hover { background: #e2e8f0; } + } + + &__label { + font-size: 13px; + font-weight: 600; + color: #475569; + text-transform: uppercase; + letter-spacing: 0.05em; + } + + &__img { + border-radius: 12px; + box-shadow: 0 2px 12px rgba(0,0,0,0.1); + } + + &__hint { + font-size: 13px; + color: #64748b; + animation: pulse 1.6s ease-in-out infinite; + } + + &__status { + font-size: 11px; + font-weight: 700; + letter-spacing: 0.08em; + text-transform: uppercase; + padding: 3px 10px; + border-radius: 20px; + background: #f1f5f9; + color: #475569; + } +} + +@keyframes overlay-in { + from { opacity: 0; } + to { opacity: 1; } +} + +@keyframes modal-in { + from { opacity: 0; transform: scale(0.85); } + to { opacity: 1; transform: scale(1); } +} + +@keyframes pulse { + 0%, 100% { opacity: 1; } + 50% { opacity: 0.45; } +} diff --git a/src/app/pages/create-page/create-page.ts b/src/app/pages/create-page/create-page.ts new file mode 100644 index 0000000..9346e6f --- /dev/null +++ b/src/app/pages/create-page/create-page.ts @@ -0,0 +1,274 @@ +import { Component, inject, signal } from '@angular/core'; +import { FormsModule } from '@angular/forms'; +import { Router, RouterLink } from '@angular/router'; +import { HttpClient } from '@angular/common/http'; +import { FastcheckService } from '../../fastcheck.service'; +import { FASTCHECK_API, QR_VITANOVA_API } from '../../api'; +import { TranslatePipe } from '../../translate/translate.pipe'; +import { TranslationService } from '../../translate/translation.service'; + +type PaymentMethod = 'sbp'; +type Currency = 'RUB'; + +interface SettingsResponse { + minAmount?: number; + maxAmount?: number; + [key: string]: unknown; +} + +interface CreateQrResponse { + qrId?: string; + nspkID?: string; + Payload?: string; // per API doc (capital P) + nspkurl?: string; // actual field name in real responses + qrUrl?: string; + status?: string; // e.g. "REGISTERED" + [key: string]: unknown; +} + +interface QrStatusResponse { + status?: string; // "REGISTERED" | "NEW" | "APPROVED" | "REJECTED" | "COMPLETED" + nspkurl?: string; + nspkID?: string; + [key: string]: unknown; +} + +interface CreateFastcheckResponse { + id?: string; // real field name from server + fastcheck?: string; // per API doc fallback + expiration?: string; + code?: string; + amount?: number; + Status?: boolean; +} + +/** Generate a v4-like UUID without crypto dependency. */ +function generateUUID(): string { + return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => { + const r = (Math.random() * 16) | 0; + return (c === 'x' ? r : (r & 0x3) | 0x8).toString(16); + }); +} + +@Component({ + selector: 'app-create-page', + imports: [FormsModule, RouterLink, TranslatePipe], + templateUrl: './create-page.html', + styleUrl: './create-page.scss' +}) +export class CreatePage { + private http = inject(HttpClient); + private store = inject(FastcheckService); + private router = inject(Router); + private i18n = inject(TranslationService); + + private t(key: string): string { return this.i18n.translate(key); } + + // Limits – updated from settings API on init. + minAmount = signal(30); + maxAmount = signal(200_000); + + amount = signal(null); + note = signal(''); + error = signal(''); + loading = signal(false); + settingsLoaded = signal(false); + + currency = signal('RUB'); + payment = signal('sbp'); + + selectPayment(method: PaymentMethod, enabled: boolean): void { + if (!enabled) return; + this.payment.set(method); + } + + selectCurrency(c: Currency, enabled: boolean): void { + if (!enabled) return; + this.currency.set(c); + } + + // QR display state + qrImageUrl = signal(null); + qrPolling = signal(false); + qrStatus = signal(''); + private pollHandle: ReturnType | null = null; + private activeQrId = ''; + + /** Auth credentials passed by the host page as URL params. */ + private get authKey(): string { + return new URLSearchParams(window.location.search).get('authorization-key') ?? ''; + } + private get userId(): string { + return new URLSearchParams(window.location.search).get('userid-value') ?? ''; + } + private get sessionId(): string { + return new URLSearchParams(window.location.search).get('session') ?? ''; + } + private get reference(): string { + return new URLSearchParams(window.location.search).get('ref') ?? window.location.hostname; + } + + get isMobile(): boolean { + return window.innerWidth < 768; + } + + constructor() { + this.loadSettings(); + } + + private loadSettings(): void { + this.http.get(`${QR_VITANOVA_API}/settings`).subscribe({ + next: (s) => { + if (typeof s?.minAmount === 'number') this.minAmount.set(s.minAmount); + if (typeof s?.maxAmount === 'number') this.maxAmount.set(s.maxAmount); + this.settingsLoaded.set(true); + }, + error: () => this.settingsLoaded.set(true) // proceed with defaults + }); + } + + createCheck(): void { + const val = this.amount(); + if (val !== null && val < this.minAmount()) { + this.error.set(`${this.t('errors.invalid_amount')} (мин. ${this.minAmount()} ₽)`); + return; + } + if (val !== null && val > this.maxAmount()) { + this.error.set(`${this.t('errors.invalid_amount')} (макс. ${this.maxAmount().toLocaleString('ru')} ₽)`); + return; + } + + this.error.set(''); + this.loading.set(true); + + const headers: Record = {}; + if (this.authKey) headers['authorization-key'] = this.authKey; + if (this.userId) headers['userid-value'] = this.userId; + + const partnerqrID = generateUUID(); + + this.http + .post( + `${QR_VITANOVA_API}/qr`, + { + qrtype: 'QRDynamic', + ...(val !== null ? { amount: val } : {}), + currency: this.currency(), + partnerqrID, + qrDescription: this.note().trim(), + Userid: this.userId, + Reference: this.reference + }, + { headers } + ) + .subscribe({ + next: (res) => { + this.loading.set(false); + const qrId = res?.qrId ?? res?.nspkID ?? ''; + // Real API uses 'nspkurl'; doc says 'Payload' — try both + const nspkUrl = res?.nspkurl ?? res?.Payload; + this.qrStatus.set(res?.status ?? ''); + + if (nspkUrl && this.isMobile) { + window.location.href = nspkUrl; + return; + } + + if (qrId || nspkUrl) { + this.activeQrId = qrId; + const qrData = nspkUrl + ? `https://api.qrserver.com/v1/create-qr-code/?size=256x256&margin=8&data=${encodeURIComponent(nspkUrl)}` + : (res.qrUrl ?? null); + this.qrImageUrl.set(qrData); + if (qrId) this.startPolling(qrId); + } else { + this.error.set(this.t('errors.payment_failed')); + } + }, + error: (err) => { + this.loading.set(false); + const msg: string | undefined = err?.error?.message; + this.error.set(msg ?? this.t('errors.lookup_failed')); + } + }); + } + + private startPolling(qrId: string): void { + this.stopPolling(); + this.qrPolling.set(true); + this.pollHandle = setInterval(() => { + this.http.get(`${QR_VITANOVA_API}/qr/dynamic/${qrId}`) + .subscribe({ + next: (res) => { + const st = res?.status ?? ''; + this.qrStatus.set(st); + if (st === 'COMPLETED' || st === 'APPROVED') { + this.stopPolling(); + this.createFastcheck(); + } else if (st === 'REJECTED') { + this.stopPolling(); + this.error.set(this.t('errors.payment_failed')); + this.qrImageUrl.set(null); + } + // REGISTERED / NEW / '' — keep polling + }, + error: () => undefined + }); + }, 5000); + } + + private stopPolling(): void { + if (this.pollHandle !== null) { + clearInterval(this.pollHandle); + this.pollHandle = null; + } + this.qrPolling.set(false); + } + + private createFastcheck(): void { + const headers: Record = {}; + if (this.sessionId) headers['Authorization'] = JSON.stringify({ sessionID: this.sessionId }); + + this.http + .post( + `${FASTCHECK_API}/fastcheck`, + { amount: this.amount(), currency: this.currency() }, + { headers } + ) + .subscribe({ + next: (res) => { + const fcNumber = res?.id ?? res?.fastcheck ?? ''; + const payload = { + fastcheck: fcNumber, + code: res?.code ?? '', + amount: res?.amount ?? this.amount() ?? null, + expiration: res?.expiration + }; + if (fcNumber) { + this.store.setCreated(payload); + } + this.router.navigate(['/'], { state: fcNumber ? payload : {} }); + }, + error: () => this.router.navigate(['/']) + }); + } + + onAmountChange(value: number | null): void { + this.amount.set(value || null); + if (value && value > 0) this.error.set(''); + } + + onNoteChange(value: string): void { + this.note.set(value); + } + + closeQr(): void { + this.qrImageUrl.set(null); + this.qrPolling.set(false); + this.qrStatus.set(''); + if (this.pollHandle !== null) { + clearInterval(this.pollHandle); + this.pollHandle = null; + } + } +} diff --git a/src/app/pages/fastcheck-page/fastcheck-page.html b/src/app/pages/fastcheck-page/fastcheck-page.html new file mode 100644 index 0000000..baa0ac4 --- /dev/null +++ b/src/app/pages/fastcheck-page/fastcheck-page.html @@ -0,0 +1,177 @@ +
    +
    + +
    + fastCHECK +

    + {{ 'fastcheck.subtitle' | translate }} +

    +
    + +
    + + +
    + + +
    + + +
    + +
    + + +
    + @if (amountLoading()) { + {{ 'fastcheck.amount_checking' | translate }} + } +
    + + + + + +
    + + + @if (error()) { + {{ error() }} + } +
    + + +
    + + +
    +
    + + +@if (popupOpen()) { + +} diff --git a/src/app/pages/fastcheck-page/fastcheck-page.scss b/src/app/pages/fastcheck-page/fastcheck-page.scss new file mode 100644 index 0000000..eec9b8e --- /dev/null +++ b/src/app/pages/fastcheck-page/fastcheck-page.scss @@ -0,0 +1,260 @@ +@use './../../../shared' as *; + +.row { + display: flex; + gap: 8px; + align-items: stretch; + + .input { flex: 1; min-width: 0; } +} + +.share-row { + display: flex; + gap: 8px; +} + +.share-btn { + flex: 1; + display: inline-flex; + align-items: center; + justify-content: center; + gap: 6px; + height: 40px; + border-radius: 10px; + border: 1.5px solid #e2e8f0; + font-size: 13px; + font-weight: 600; + font-family: inherit; + cursor: pointer; + transition: background .15s, border-color .15s; + + &--email { + background: #f8fafc; + color: #475569; + &:hover { background: #e2e8f0; border-color: #cbd5e1; } + } + + &--tg { + background: #e7f3fe; + color: #0088cc; + border-color: #bfdbfe; + &:hover { background: #dbeafe; border-color: #93c5fd; } + } + + &:disabled { + opacity: .4; + cursor: not-allowed; + pointer-events: none; + } +} + +.btn { + display: inline-flex; + align-items: center; + justify-content: center; + padding: 0 16px; + height: 48px; + min-width: 64px; + border-radius: 12px; + font-size: 14px; + font-weight: 700; + text-decoration: none; + border: 2px solid transparent; + cursor: pointer; + font-family: inherit; + white-space: nowrap; + transition: opacity .15s, transform .1s, background .15s; + -webkit-appearance: none; + + &--ghost { + background: #f1f5f9; + color: #2563eb; + border-color: #e2e8f0; + + &:hover { background: #e2e8f0; } + &:active { transform: scale(.97); } + } +} + +.input { + width: 100%; + border: 2px solid #e2e8f0; + border-radius: 12px; + background: #f8fafc; + padding: 0 14px; + height: 48px; + font-size: 16px; + font-weight: 600; + color: #0f172a; + font-family: inherit; + outline: none; + transition: border-color .2s, box-shadow .2s, background .2s; + + &::placeholder { color: #cbd5e1; font-weight: 500; } + + &:focus { + border-color: #2563eb; + box-shadow: 0 0 0 4px rgba(37,99,235,.12); + background: #fff; + } +} + +// ─── Modal (Telegram QR popup) ────────────────────────────────────────────── +.modal { + position: fixed; + inset: 0; + z-index: 1000; + background: rgba(15, 23, 42, .55); + backdrop-filter: blur(6px); + display: flex; + align-items: center; + justify-content: center; + padding: 16px; + animation: fade-in .15s ease-out; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + + @media (max-width: 480px) { + align-items: stretch; + padding: 0; + } + + &__card { + position: relative; + background: #fff; + border-radius: 24px; + width: 100%; + max-width: 360px; + padding: 28px 24px 24px; + text-align: center; + box-shadow: 0 24px 60px rgba(0,0,0,.25); + animation: pop-in .2s ease-out; + margin: auto; + + @media (max-width: 480px) { + max-width: 100%; + border-radius: 0; + box-shadow: none; + padding: calc(28px + env(safe-area-inset-top)) 20px calc(28px + env(safe-area-inset-bottom)); + margin: 0; + min-height: 100dvh; + display: flex; + flex-direction: column; + justify-content: center; + } + } + + &__close { + position: absolute; + top: 8px; + right: 8px; + width: 44px; + height: 44px; + border-radius: 50%; + border: none; + background: #f1f5f9; + color: #475569; + font-size: 24px; + line-height: 1; + cursor: pointer; + font-family: inherit; + transition: background .15s; + -webkit-appearance: none; + + &:hover { background: #e2e8f0; } + } + + &__title { + font-size: 20px; + font-weight: 700; + color: #0f172a; + margin: 4px 0 6px; + } + + &__sub { + font-size: 14px; + color: #64748b; + margin: 0 0 18px; + } + + &__hint { + font-size: 13px; + color: #94a3b8; + margin: 14px 0 0; + } + + &__error { + font-size: 13px; + color: #ef4444; + font-weight: 500; + margin: 12px 0 0; + } + + &__success { + padding: 12px 0 4px; + + svg { display: block; margin: 0 auto 10px; } + } +} + +.qr { + display: flex; + align-items: center; + justify-content: center; + background: #f8fafc; + border: 2px solid #e2e8f0; + border-radius: 16px; + padding: 12px; + width: 264px; + height: 264px; + max-width: 100%; + margin: 0 auto; + + @media (max-width: 380px) { + width: min(264px, 70vw); + height: auto; + aspect-ratio: 1; + } + + &__placeholder { + color: #94a3b8; + font-size: 14px; + } + + img { + width: 100%; + height: auto; + max-width: 240px; + display: block; + } +} + +.tg-link { + display: inline-flex; + align-items: center; + justify-content: center; + gap: 8px; + margin-top: 16px; + padding: 14px 22px; + min-height: 48px; + border-radius: 12px; + background: #229ED9; + color: #fff; + font-size: 15px; + font-weight: 700; + text-decoration: none; + transition: opacity .15s; + + &:hover { opacity: .9; } + &:active { transform: scale(.97); } +} + +@keyframes fade-in { + from { opacity: 0; } + to { opacity: 1; } +} + +@keyframes pop-in { + from { transform: translateY(12px) scale(.98); opacity: 0; } + to { transform: translateY(0) scale(1); opacity: 1; } +} diff --git a/src/app/pages/fastcheck-page/fastcheck-page.ts b/src/app/pages/fastcheck-page/fastcheck-page.ts new file mode 100644 index 0000000..90b5f0d --- /dev/null +++ b/src/app/pages/fastcheck-page/fastcheck-page.ts @@ -0,0 +1,293 @@ +import { Component, computed, inject, signal } from '@angular/core'; +import { FormsModule } from '@angular/forms'; +import { Router, RouterLink } from '@angular/router'; +import { HttpClient } from '@angular/common/http'; +import { FastcheckService } from '../../fastcheck.service'; +import { FASTCHECK_API } from '../../api'; +import { TranslatePipe } from '../../translate/translate.pipe'; +import { TranslationService } from '../../translate/translation.service'; + +interface WebSessionResponse { + sessionId: string; + userId: string; + expires: string; + userSessionId: string; + Status: boolean; +} + +interface CheckFastcheckResponse { + id: string; + code: string; + owneID: string; + amount: number; + currency: string; + createdAt: string; + creattransactionID: string; + firedAT: string; + firetransactionID: string; +} + +@Component({ + selector: 'app-fastcheck-page', + imports: [FormsModule, RouterLink, TranslatePipe], + templateUrl: './fastcheck-page.html', + styleUrl: './fastcheck-page.scss' +}) +export class FastcheckPage { + private http = inject(HttpClient); + private store = inject(FastcheckService); + private router = inject(Router); + private i18n = inject(TranslationService); + + private t(key: string): string { return this.i18n.translate(key); } + + // Telegram bot used for the sign-in deep link. + private readonly telegramBot = 'DexarSupport_bot'; + + fastcheckNumber = signal(''); + fastcheckAmount = signal(null); + fastcheckCode = signal(''); + codeEnabled = signal(false); + error = signal(''); + amountLoading = signal(false); + + popupOpen = signal(false); + popupLoading = signal(false); + popupError = signal(''); + webSessionId = signal(''); + paid = signal(false); + private pollHandle: ReturnType | null = null; + private lastLookedUpNumber = ''; + + canPay = computed(() => { + const digits = this.fastcheckNumber().replace(/\D/g, ''); + const codeDigits = this.fastcheckCode().replace(/\D/g, ''); + return digits.length === 18 && codeDigits.length === 6 + && this.codeEnabled() && !this.amountLoading(); + }); + + telegramLink = computed(() => { + const sid = this.webSessionId(); + return sid + ? `https://t.me/${this.telegramBot}?start=${encodeURIComponent(sid)}` + : `https://t.me/${this.telegramBot}`; + }); + + qrUrl = computed(() => { + const link = this.telegramLink(); + return `https://api.qrserver.com/v1/create-qr-code/?size=240x240&margin=8&data=${encodeURIComponent(link)}`; + }); + + get isMobile(): boolean { + return typeof window !== 'undefined' && window.innerWidth < 768; + } + + constructor() { + // Pull autofill data: prefer router navigation state, fall back to service. + const navState = typeof window !== 'undefined' ? (window.history?.state ?? {}) : {}; + const created = (navState?.fastcheck) + ? { fastcheck: navState.fastcheck, code: navState.code ?? '', amount: navState.amount ?? null, expiration: navState.expiration } + : this.store.consume(); + + if (created) { + this.fastcheckNumber.set(created.fastcheck); + this.fastcheckAmount.set(created.amount); + this.fastcheckCode.set(created.code); + this.codeEnabled.set(true); + } + + // ?iid=xxxxxx-xxxxxx-xxxxxx — auto-fill and trigger lookup + const iidParam = new URLSearchParams(window.location.search).get('iid') ?? ''; + if (iidParam && !created) { + const digits = iidParam.replace(/\D/g, '').slice(0, 18); + const groups: string[] = []; + for (let i = 0; i < digits.length; i += 6) groups.push(digits.slice(i, i + 6)); + const masked = groups.join('-'); + this.fastcheckNumber.set(masked); + if (digits.length === 18) this.lookupFastcheck(masked); + } + } + + pay(): void { + if (!this.canPay()) { + return; + } + this.error.set(''); + this.openPopup(); + } + + private openPopup(): void { + this.popupOpen.set(true); + this.popupError.set(''); + this.paid.set(false); + this.popupLoading.set(true); + + this.http.get(`${FASTCHECK_API}/websession`).subscribe({ + next: (res) => { + this.popupLoading.set(false); + this.webSessionId.set(res.sessionId); + if (this.isMobile) { + window.location.href = `https://t.me/${this.telegramBot}?start=${encodeURIComponent(res.sessionId)}`; + } else { + this.startPolling(res.sessionId); + } + }, + error: () => { + this.popupLoading.set(false); + this.popupError.set(this.t('errors.session_failed')); + } + }); + } + + closePopup(): void { + this.popupOpen.set(false); + this.stopPolling(); + if (this.webSessionId()) { + // Best-effort logout; ignore errors. + this.http + .request('DELETE', `${FASTCHECK_API}/websession/${this.webSessionId()}`, { + body: { sessionId: this.webSessionId() } + }) + .subscribe({ error: () => undefined }); + } + this.webSessionId.set(''); + } + + private startPolling(sessionId: string): void { + this.stopPolling(); + this.pollHandle = setInterval(() => { + this.http + .get(`${FASTCHECK_API}/websession/${sessionId}`) + .subscribe({ + next: (res) => { + if (res?.Status) { + this.stopPolling(); + this.acceptFastcheck(sessionId); + } + }, + error: () => undefined + }); + }, 3000); + } + + private stopPolling(): void { + if (this.pollHandle !== null) { + clearInterval(this.pollHandle); + this.pollHandle = null; + } + } + + private acceptFastcheck(sessionId: string): void { + this.popupLoading.set(true); + this.http + .post( + `${FASTCHECK_API}/fastcheck`, + { fastcheck: this.fastcheckNumber().trim(), code: this.fastcheckCode().trim() }, + { headers: { Authorization: JSON.stringify({ sessionID: sessionId }) } } + ) + .subscribe({ + next: () => { + this.popupLoading.set(false); + this.paid.set(true); + // Fire DELETE to mark fastcheck as consumed on the merchant side. + this.http + .delete(`${FASTCHECK_API}/fastcheck/${encodeURIComponent(this.fastcheckNumber())}`) + .subscribe({ error: () => undefined }); + this.fireMerchantCallback(); + }, + error: () => { + this.popupLoading.set(false); + this.popupError.set(this.t('errors.payment_failed')); + } + }); + } + + private fireMerchantCallback(): void { + const params = new URLSearchParams(window.location.search); + const returnUrl = params.get('return_url'); + if (returnUrl) { + setTimeout(() => { + window.location.href = `${returnUrl}${returnUrl.includes('?') ? '&' : '?'}fastcheck=${encodeURIComponent( + this.fastcheckNumber() + )}&status=ok`; + }, 1500); + } + } + + onAmountChange(value: number | null): void { + this.fastcheckAmount.set(value); + } + + /** Mask fastcheck number as XXXXXX-XXXXXX-XXXXXX, allow only digits. */ + onNumberChange(raw: string): void { + const digits = (raw ?? '').replace(/\D/g, '').slice(0, 18); + const groups: string[] = []; + for (let i = 0; i < digits.length; i += 6) { + groups.push(digits.slice(i, i + 6)); + } + const masked = groups.join('-'); + this.fastcheckNumber.set(masked); + this.error.set(''); + + if (digits.length < 18 && this.lastLookedUpNumber) { + this.fastcheckAmount.set(null); + this.codeEnabled.set(false); + this.lastLookedUpNumber = ''; + } + + if (digits.length === 18 && masked !== this.lastLookedUpNumber) { + this.lookupFastcheck(masked); + } + } + + /** Allow only digits, max 6, in the code field. */ + onCodeChange(raw: string): void { + const digits = (raw ?? '').replace(/\D/g, '').slice(0, 6); + this.fastcheckCode.set(digits); + this.error.set(''); + } + + private lookupFastcheck(number: string): void { + this.lastLookedUpNumber = number; + this.amountLoading.set(true); + this.fastcheckAmount.set(null); + this.codeEnabled.set(false); + + // API doc: GET /fastcheck/ + this.http + .get(`${FASTCHECK_API}/fastcheck/${number}`) + .subscribe({ + next: (res) => { + this.amountLoading.set(false); + if (res?.id) { + this.fastcheckAmount.set(typeof res.amount === 'number' ? res.amount : null); + this.codeEnabled.set(true); + } else { + this.error.set(this.t('errors.not_found')); + this.lastLookedUpNumber = ''; + } + }, + error: (err) => { + this.amountLoading.set(false); + const serverMsg: string | undefined = err?.error?.message; + this.error.set(serverMsg ?? this.t('errors.lookup_failed')); + this.lastLookedUpNumber = ''; + } + }); + } + + shareByEmail(): void { + const num = this.fastcheckNumber(); + const amount = this.fastcheckAmount(); + const subject = encodeURIComponent('fastCHECK'); + const body = encodeURIComponent(`Номер: ${num}\nСумма: ${amount} ₽\nhttps://qr.vitanova.network/`); + window.open(`mailto:?subject=${subject}&body=${body}`, '_blank'); + } + + shareByTelegram(): void { + const num = this.fastcheckNumber(); + const amount = this.fastcheckAmount(); + const text = encodeURIComponent(`fastCHECK: ${num} — ${amount} ₽`); + window.open(`https://t.me/share/url?url=https%3A%2F%2Fqr.vitanova.network%2F&text=${text}`, '_blank'); + } +} diff --git a/src/app/pages/legacy-pay-page/legacy-pay-page.html b/src/app/pages/legacy-pay-page/legacy-pay-page.html new file mode 100644 index 0000000..963379b --- /dev/null +++ b/src/app/pages/legacy-pay-page/legacy-pay-page.html @@ -0,0 +1,93 @@ +
    +
    + +
    + +

    {{ 'sbp.title' | translate }}

    +

    {{ 'sbp.subtitle' | translate }}

    +
    + +
    + +
    + +
    + + +
    + @if (error()) { + {{ error() }} + } +
    + +
    + 🇷🇺 + RUB + {{ 'sbp.currency_name' | translate }} +
    + +
    + + +
    + + @if (nspkUrl()) { +
    + SBP QR +

    Отсканируйте QR-код в приложении вашего банка

    +
    + } + + +
    + + +
    +
    diff --git a/src/app/pages/legacy-pay-page/legacy-pay-page.scss b/src/app/pages/legacy-pay-page/legacy-pay-page.scss new file mode 100644 index 0000000..7af3f29 --- /dev/null +++ b/src/app/pages/legacy-pay-page/legacy-pay-page.scss @@ -0,0 +1,81 @@ +@use './../../../shared' as *; + +.sbp-logo { + display: inline-flex; + align-items: center; + justify-content: center; + background: rgba(255, 255, 255, 0.15); + backdrop-filter: blur(8px); + border-radius: 16px; + padding: 12px 20px; + border: 1px solid rgba(255, 255, 255, 0.25); + margin-bottom: 14px; + + img { + height: 40px; + display: block; + + @media (max-width: 480px) { + height: 34px; + } + } +} + +.currency-badge { + display: flex; + align-items: center; + gap: 10px; + background: #f1f5f9; + border-radius: 12px; + padding: 12px 16px; + margin-bottom: 18px; + + &__flag { font-size: 22px; line-height: 1; } + &__code { font-size: 15px; font-weight: 700; color: #0f172a; } + &__name { font-size: 13px; color: #64748b; margin-left: auto; } +} + +.qr-pay { + display: flex; + flex-direction: column; + align-items: center; + gap: 12px; + margin-bottom: 20px; + + img { + border-radius: 12px; + border: 1px solid #e2e8f0; + display: block; + } + + &__hint { + font-size: 13px; + color: #64748b; + text-align: center; + margin: 0; + } +} + +.note-input { + width: 100%; + border: 2px solid #e2e8f0; + border-radius: 14px; + background: #f8fafc; + padding: 14px 16px; + font-size: 15px; + font-weight: 500; + color: #0f172a; + font-family: inherit; + resize: vertical; + outline: none; + transition: border-color 0.2s, box-shadow 0.2s, background 0.2s; + line-height: 1.5; + + &::placeholder { color: #cbd5e1; font-weight: 400; } + + &:focus { + border-color: #2563eb; + box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12); + background: #fff; + } +} diff --git a/src/app/pages/legacy-pay-page/legacy-pay-page.ts b/src/app/pages/legacy-pay-page/legacy-pay-page.ts new file mode 100644 index 0000000..f8530e3 --- /dev/null +++ b/src/app/pages/legacy-pay-page/legacy-pay-page.ts @@ -0,0 +1,107 @@ +import { Component, computed, inject, isDevMode, signal } from '@angular/core'; +import { FormsModule } from '@angular/forms'; +import { ActivatedRoute } from '@angular/router'; +import { HttpClient } from '@angular/common/http'; +import { TranslatePipe } from '../../translate/translate.pipe'; +import { TranslationService } from '../../translate/translation.service'; + +interface LegacyPayResponse { + nspkurl?: string; +} + +/** + * Legacy SBP merchant payment flow. + * Activated when the root URL has `?id=`. + * Mirrors public/payment.html behaviour: + * POST https://qr.vitanova.network:567/qr + * { payment, amount, currency, id, note } -> { payload: '' } + * then window.location.href = payload. + */ +@Component({ + selector: 'app-legacy-pay-page', + imports: [FormsModule, TranslatePipe], + templateUrl: './legacy-pay-page.html', + styleUrl: './legacy-pay-page.scss' +}) +export class LegacyPayPage { + private http = inject(HttpClient); + private route = inject(ActivatedRoute); + private i18n = inject(TranslationService); + + private t(key: string): string { return this.i18n.translate(key); } + + private readonly LEGACY_API = isDevMode() + ? '/proxy/legacy-qr/qr' + : 'https://qr.vitanova.network:567/qr'; + + amount = signal(null); + note = signal(''); + error = signal(''); + loading = signal(false); + nspkUrl = signal(''); + + get isMobile(): boolean { + return window.innerWidth < 768; + } + + paymentId = signal(''); + + canPay = computed(() => { + const a = this.amount(); + return !!this.paymentId() && a !== null && a > 0 && !this.loading(); + }); + + constructor() { + const id = this.route.snapshot.queryParamMap.get('id') ?? ''; + this.paymentId.set(id); + } + + onAmountChange(value: number | null): void { + this.amount.set(value); + if (this.error()) this.error.set(''); + } + + onNoteChange(value: string): void { + this.note.set(value); + } + + pay(): void { + if (!this.canPay()) { + if (!this.paymentId()) { + this.error.set(this.t('errors.not_found')); + } else { + this.error.set(this.t('errors.invalid_amount')); + } + return; + } + this.error.set(''); + this.loading.set(true); + + const body = { + qrtype: 'QRDynamic', + amount: this.amount(), + currency: 'RUB', + partnerqrID: this.paymentId(), + qrDescription: this.note().trim() + }; + + this.http.post(this.LEGACY_API, body).subscribe({ + next: (res) => { + this.loading.set(false); + if (res?.nspkurl) { + if (this.isMobile) { + window.location.href = res.nspkurl; + } else { + this.nspkUrl.set(res.nspkurl); + } + } else { + this.error.set(this.t('errors.payment_failed')); + } + }, + error: () => { + this.loading.set(false); + this.error.set(this.t('errors.lookup_failed')); + } + }); + } +} diff --git a/src/app/pages/partners-page/partners-page.html b/src/app/pages/partners-page/partners-page.html new file mode 100644 index 0000000..314884c --- /dev/null +++ b/src/app/pages/partners-page/partners-page.html @@ -0,0 +1,26 @@ +
    +
    +

    {{ 'partners.title' | translate }}

    +

    {{ 'partners.lead' | translate }}

    +
    + +
    + @for (p of partners; track p.name) { +
    + +
    + {{ p.category | translate }} +

    {{ p.name }}

    +

    📍 {{ p.city }}

    +

    {{ p.desc | translate }}

    +
    +
    + } +
    + +
    +

    {{ 'partners.cta_title' | translate }}

    +

    {{ 'partners.cta_text' | translate }}

    + {{ 'partners.cta_btn' | translate }} +
    +
    diff --git a/src/app/pages/partners-page/partners-page.scss b/src/app/pages/partners-page/partners-page.scss new file mode 100644 index 0000000..b45f9d0 --- /dev/null +++ b/src/app/pages/partners-page/partners-page.scss @@ -0,0 +1,146 @@ +:host { + display: block; + background: #f8fafc; + min-height: 100vh; +} + +.info-page { + max-width: 900px; + margin: 0 auto; + padding: 48px 24px 72px; + + @media (max-width: 600px) { + padding: 32px 16px 56px; + } + + &__hero { + margin-bottom: 40px; + border-bottom: 1px solid #e2e8f0; + padding-bottom: 32px; + } + + &__title { + font-size: 32px; + font-weight: 800; + color: #0f172a; + margin: 0 0 12px; + letter-spacing: -0.5px; + + @media (max-width: 600px) { font-size: 26px; } + } + + &__lead { + font-size: 17px; + line-height: 1.7; + color: #475569; + margin: 0; + } +} + +.partners-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); + gap: 20px; + margin-bottom: 56px; +} + +.partner-card { + display: flex; + gap: 16px; + padding: 22px 20px; + background: #fff; + border: 1px solid #e2e8f0; + border-radius: 16px; + transition: border-color 0.15s, box-shadow 0.15s; + + &:hover { + border-color: #93c5fd; + box-shadow: 0 4px 16px rgba(30, 64, 175, 0.08); + } + + &__logo { + font-size: 36px; + line-height: 1; + flex-shrink: 0; + width: 52px; + height: 52px; + display: flex; + align-items: center; + justify-content: center; + background: #f1f5f9; + border-radius: 12px; + } + + &__body { + display: flex; + flex-direction: column; + gap: 4px; + } + + &__cat { + font-size: 11px; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.08em; + color: #1e40af; + } + + &__name { + font-size: 16px; + font-weight: 700; + color: #0f172a; + margin: 0; + } + + &__city { + font-size: 13px; + color: #64748b; + margin: 0; + } + + &__desc { + font-size: 13.5px; + line-height: 1.6; + color: #475569; + margin: 4px 0 0; + } +} + +.partners-cta { + text-align: center; + padding: 40px 24px; + background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%); + border-radius: 20px; + border: 1px solid #bfdbfe; + + &__title { + font-size: 22px; + font-weight: 800; + color: #1e3a8a; + margin: 0 0 12px; + } + + &__text { + font-size: 15px; + line-height: 1.7; + color: #3b5998; + margin: 0 0 24px; + max-width: 480px; + margin-inline: auto; + margin-bottom: 24px; + } + + &__btn { + display: inline-block; + padding: 12px 28px; + background: #1e40af; + color: #fff; + border-radius: 10px; + font-size: 15px; + font-weight: 700; + text-decoration: none; + transition: background 0.15s; + + &:hover { background: #1d3a9f; } + } +} diff --git a/src/app/pages/partners-page/partners-page.ts b/src/app/pages/partners-page/partners-page.ts new file mode 100644 index 0000000..0d501d1 --- /dev/null +++ b/src/app/pages/partners-page/partners-page.ts @@ -0,0 +1,26 @@ +import { Component } from '@angular/core'; +import { RouterLink } from '@angular/router'; +import { TranslatePipe } from '../../translate/translate.pipe'; + +interface Partner { + name: string; + category: string; + city: string; + logo: string; // emoji placeholder until real logos are provided + desc: string; +} + +@Component({ + selector: 'app-partners-page', + imports: [RouterLink, TranslatePipe], + templateUrl: './partners-page.html', + styleUrl: './partners-page.scss' +}) +export class PartnersPage { + partners: Partner[] = [ + { name: 'Vitanova Exchange', category: 'partners.cat_finance', city: 'Ереван', logo: '🏦', desc: 'partners.p1_desc' }, + { name: 'ForEx.am', category: 'partners.cat_finance', city: 'Ереван', logo: '💱', desc: 'partners.p2_desc' }, + { name: 'Dexar Market', category: 'partners.cat_retail', city: 'Москва', logo: '🛒', desc: 'partners.p3_desc' }, + { name: 'City Hotel Yerevan', category: 'partners.cat_hotels', city: 'Ереван', logo: '🏨', desc: 'partners.p4_desc' }, + ]; +} diff --git a/src/app/services/api.service.ts b/src/app/services/api.service.ts deleted file mode 100644 index 10540c3..0000000 --- a/src/app/services/api.service.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { Injectable } from '@angular/core'; -import { HttpClient, HttpHeaders } from '@angular/common/http'; -import { Observable } from 'rxjs'; -import { environment } from '../../environments/environment'; - -@Injectable({ - providedIn: 'root' -}) -export class ApiService { - private readonly API_URL = 'https://api.fastcheck.store'; - - constructor(private http: HttpClient) {} - - ping(): Observable<{ message: string }> { - return this.http.get<{ message: string }>(`${this.API_URL}/ping`); - } - - get(path: string, sessionId?: string): Observable { - const headers = sessionId ? this.createAuthHeaders(sessionId) : undefined; - return this.http.get(`${this.API_URL}${path}`, { headers }); - } - - post(path: string, body: any, sessionId?: string): Observable { - const headers = sessionId ? this.createAuthHeaders(sessionId) : undefined; - return this.http.post(`${this.API_URL}${path}`, body, { headers }); - } - - delete(path: string, sessionId?: string): Observable { - const headers = sessionId ? this.createAuthHeaders(sessionId) : undefined; - return this.http.delete(`${this.API_URL}${path}`, { headers }); - } - - private createAuthHeaders(sessionId: string): HttpHeaders { - return new HttpHeaders({ - 'Authorization': JSON.stringify({ sessionID: sessionId }), - 'Content-Type': 'application/json' - }); - } -} diff --git a/src/app/services/auth.service.ts b/src/app/services/auth.service.ts deleted file mode 100644 index 0fd8c05..0000000 --- a/src/app/services/auth.service.ts +++ /dev/null @@ -1,77 +0,0 @@ -import { Injectable, signal } from '@angular/core'; -import { Observable, interval, switchMap, takeWhile, tap } from 'rxjs'; -import { ApiService } from './api.service'; -import { WebSession, AuthState } from '../models/session.model'; - -@Injectable({ - providedIn: 'root' -}) -export class AuthService { - private authState = signal({ - isAuthenticated: false, - sessionId: null, - userSessionId: null - }); - - readonly isAuthenticated = this.authState.asReadonly(); - - constructor(private apiService: ApiService) { - this.loadSessionFromStorage(); - } - - createWebSession(): Observable { - return this.apiService.get('/websession'); - } - - checkWebSessionStatus(sessionId: string): Observable { - return this.apiService.get(`/websession/${sessionId}`); - } - - startPolling(sessionId: string): Observable { - return interval(2000).pipe( - switchMap(() => this.checkWebSessionStatus(sessionId)), - tap(session => { - if (session.Status) { - this.setAuthenticated(session); - } - }), - takeWhile(session => !session.Status, true) - ); - } - - deleteWebSession(sessionId: string): Observable { - return this.apiService.delete(`/websession/${sessionId}`, sessionId).pipe( - tap(() => this.clearAuthentication()) - ); - } - - private setAuthenticated(session: WebSession): void { - const state = { - isAuthenticated: true, - sessionId: session.sessionId, - userSessionId: session.userSessionId - }; - this.authState.set(state); - sessionStorage.setItem('authState', JSON.stringify(state)); - } - - private loadSessionFromStorage(): void { - const stored = sessionStorage.getItem('authState'); - if (stored) { - this.authState.set(JSON.parse(stored)); - } - } - - clearAuthentication(): void { - this.authState.set({ - isAuthenticated: false, - sessionId: null, - userSessionId: null - }); - sessionStorage.removeItem('authState'); - } - - getSessionId(): string | null { - return this.authState().sessionId; - } -} diff --git a/src/app/services/fastcheck.service.ts b/src/app/services/fastcheck.service.ts deleted file mode 100644 index 78ce70b..0000000 --- a/src/app/services/fastcheck.service.ts +++ /dev/null @@ -1,142 +0,0 @@ -import { Injectable } from '@angular/core'; -import { Observable, of } from 'rxjs'; -import { ApiService } from './api.service'; -import { AuthService } from './auth.service'; -import { - FastCheck, - CreateFastCheckRequest, - CreateFastCheckResponse, - AcceptFastCheckRequest, - CheckStatusResponse, - Balance, - FastCheckListResponse -} from '../models/fastcheck.model'; - -@Injectable({ - providedIn: 'root' -}) -export class FastCheckService { - constructor( - private apiService: ApiService, - private authService: AuthService - ) {} - - checkStatus(fastcheckNumber: string): Observable { - return this.apiService.post( - '/fastcheck', - { fastcheck: fastcheckNumber } - ); - } - - createFastCheck(request: CreateFastCheckRequest): Observable { - const sessionId = this.authService.getSessionId(); - if (!sessionId) { - throw new Error('Not authenticated'); - } - return this.apiService.post( - '/fastcheck', - request, - sessionId - ); - } - - acceptFastCheck(request: AcceptFastCheckRequest): Observable<{ message: string }> { - const sessionId = this.authService.getSessionId(); - if (!sessionId) { - throw new Error('Not authenticated'); - } - return this.apiService.post<{ message: string }>( - '/fastcheck', - request, - sessionId - ); - } - - // MOCKED - Backend needs to implement - getBalance(): Observable { - const sessionId = this.authService.getSessionId(); - if (!sessionId) { - throw new Error('Not authenticated'); - } - - // TODO: Replace with real API call - // return this.apiService.get('/balance', sessionId); - - // MOCK DATA - return of({ - balance: 150000, - currency: 'RUB' - }); - } - - // MOCKED - Backend needs to implement - getActiveFastChecks(): Observable { - const sessionId = this.authService.getSessionId(); - if (!sessionId) { - throw new Error('Not authenticated'); - } - - // TODO: Replace with real API call - // return this.apiService.get('/fastcheck/active', sessionId); - - // MOCK DATA - return of({ - checks: [ - { - fastcheck: '4568-1109-3402', - amount: 15000, - currency: 'RUB', - code: '5568', - expiration: '2026-01-26T09:08:18Z', - status: 'active', - createdAt: '2026-01-19T09:08:18Z' - }, - { - fastcheck: '7890-2234-5566', - amount: 25000, - currency: 'RUB', - code: '1234', - expiration: '2026-01-26T10:15:30Z', - status: 'active', - createdAt: '2026-01-19T10:15:30Z' - } - ] - }); - } - - // MOCKED - Backend needs to implement - getFastCheckHistory(): Observable { - const sessionId = this.authService.getSessionId(); - if (!sessionId) { - throw new Error('Not authenticated'); - } - - // TODO: Replace with real API call - // return this.apiService.get('/fastcheck/history', sessionId); - - // MOCK DATA - return of({ - checks: [ - { - fastcheck: '1234-5678-0003', - amount: 5000, - currency: 'RUB', - type: 'created', - createdAt: '2026-01-15T09:08:18Z', - usedAt: '2026-01-15T10:20:00Z', - status: 'used', - expiration: '2026-01-22T09:08:18Z' - }, - { - fastcheck: '9876-5432-0100', - amount: 10000, - currency: 'RUB', - type: 'accepted', - acceptedAt: '2026-01-14T14:30:00Z', - status: 'used', - expiration: '2026-01-21T14:30:00Z' - } - ] - }); - } -} diff --git a/src/app/site-footer/site-footer.html b/src/app/site-footer/site-footer.html new file mode 100644 index 0000000..a38acae --- /dev/null +++ b/src/app/site-footer/site-footer.html @@ -0,0 +1,57 @@ +
    + + + +
    diff --git a/src/app/site-footer/site-footer.scss b/src/app/site-footer/site-footer.scss new file mode 100644 index 0000000..5f0beb4 --- /dev/null +++ b/src/app/site-footer/site-footer.scss @@ -0,0 +1,156 @@ +:host { display: block; } + +.site-footer { + background: #0f172a; + color: #94a3b8; + + &__inner { + max-width: 1100px; + margin: 0 auto; + padding: 48px 24px 32px; + display: grid; + grid-template-columns: 2fr 1fr 1fr; + gap: 40px; + + @media (max-width: 860px) { + grid-template-columns: 1fr 1fr; + } + + @media (max-width: 560px) { + grid-template-columns: 1fr; + gap: 32px; + padding: 36px 20px 24px; + } + } + + &__col { + &--brand { + @media (max-width: 860px) { + grid-column: 1 / -1; + } + } + } + + &__brand { + display: inline-flex; + align-items: center; + gap: 10px; + text-decoration: none; + margin-bottom: 14px; + + img { + width: 28px; + height: 28px; + object-fit: contain; + filter: brightness(0) invert(1); + opacity: 0.9; + } + } + + &__wordmark { + font-size: 18px; + letter-spacing: -0.02em; + line-height: 1; + } + + &__desc { + font-size: 13.5px; + line-height: 1.65; + color: #64748b; + max-width: 380px; + } + + &__heading { + font-size: 12px; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.8px; + color: #e2e8f0; + margin-bottom: 16px; + } + + &__list { + list-style: none; + display: flex; + flex-direction: column; + gap: 10px; + margin-bottom: 18px; + + li { + display: flex; + align-items: center; + gap: 8px; + font-size: 13.5px; + + svg { flex-shrink: 0; opacity: 0.5; } + } + + a { + color: #94a3b8; + text-decoration: none; + transition: color 0.15s; + + &:hover { color: #e2e8f0; } + } + + &--legal { + li { + display: block; + font-size: 12.5px; + color: #64748b; + gap: 0; + } + } + } + + &__note { + font-size: 11px; + color: #475569; + margin-left: 4px; + } + + &__hours { + font-size: 12.5px; + color: #64748b; + line-height: 1.7; + } + + &__address { + color: #475569; + font-size: 12px !important; + line-height: 1.5; + margin-top: 4px; + } + + &__bottom { + border-top: 1px solid #1e293b; + max-width: 1100px; + margin: 0 auto; + padding: 16px 24px; + display: flex; + flex-wrap: wrap; + gap: 6px 24px; + justify-content: space-between; + font-size: 12px; + color: #475569; + + @media (max-width: 560px) { + flex-direction: column; + padding: 14px 20px; + } + } +} + +.wm-fast { + font-weight: 400; + font-size: 0.72em; + color: #64748b; + margin-right: 0.04em; +} +.wm-check { + font-weight: 700; + font-size: 1em; + color: #93c5fd; + text-transform: uppercase; + letter-spacing: 0.03em; +} diff --git a/src/app/site-footer/site-footer.ts b/src/app/site-footer/site-footer.ts new file mode 100644 index 0000000..440a21c --- /dev/null +++ b/src/app/site-footer/site-footer.ts @@ -0,0 +1,12 @@ +import { Component } from '@angular/core'; +import { TranslatePipe } from '../translate/translate.pipe'; + +@Component({ + selector: 'app-site-footer', + imports: [TranslatePipe], + templateUrl: './site-footer.html', + styleUrl: './site-footer.scss' +}) +export class SiteFooter { + year = new Date().getFullYear(); +} diff --git a/src/app/site-header/site-header.html b/src/app/site-header/site-header.html new file mode 100644 index 0000000..2f20ca2 --- /dev/null +++ b/src/app/site-header/site-header.html @@ -0,0 +1,98 @@ + diff --git a/src/app/site-header/site-header.scss b/src/app/site-header/site-header.scss new file mode 100644 index 0000000..2db627d --- /dev/null +++ b/src/app/site-header/site-header.scss @@ -0,0 +1,324 @@ +:host { + display: block; + position: sticky; + top: 0; + z-index: 900; +} + +.site-header { + background: #fff; + border-bottom: 1px solid #e2e8f0; + box-shadow: 0 1px 8px rgba(0, 0, 0, 0.06); + + &__inner { + max-width: 1100px; + margin: 0 auto; + padding: 0 24px; + height: 60px; + display: flex; + align-items: center; + gap: 32px; + + @media (max-width: 600px) { + padding: 0 16px; + } + } + + &__brand { + display: inline-flex; + align-items: center; + gap: 10px; + text-decoration: none; + flex-shrink: 0; + + img { + width: 32px; + height: 32px; + object-fit: contain; + } + } + + &__wordmark { + font-size: 18px; + letter-spacing: -0.02em; + white-space: nowrap; + line-height: 1; + } + + &__nav { + display: flex; + align-items: center; + gap: 4px; + margin-left: auto; + + @media (max-width: 600px) { + display: none; + } + } + + &__link { + padding: 8px 14px; + border-radius: 8px; + font-size: 14px; + font-weight: 500; + color: #475569; + text-decoration: none; + transition: background 0.15s, color 0.15s; + + &:hover { + background: #f1f5f9; + color: #0f172a; + } + } + + &__lang { + display: inline-flex; + align-items: center; + gap: 6px; + padding: 5px 10px; + border-radius: 6px; + border: none; + background: transparent; + font-size: 12px; + font-weight: 600; + letter-spacing: 0.04em; + color: #94a3b8; + cursor: pointer; + transition: background 0.15s, color 0.15s; + font-family: inherit; + + &:hover { background: #f1f5f9; color: #475569; } + + &--active { + background: #eff6ff; + color: #1e40af; + } + } + + &__mobile-langs { + display: flex; + gap: 4px; + padding: 8px 14px 4px; + border-top: 1px solid #f1f5f9; + margin-top: 4px; + } + + &__burger { + display: none; + margin-left: auto; + width: 40px; + height: 40px; + border-radius: 8px; + border: none; + background: transparent; + color: #475569; + cursor: pointer; + align-items: center; + justify-content: center; + transition: background 0.15s; + -webkit-appearance: none; + font-family: inherit; + + &:hover { background: #f1f5f9; } + + @media (max-width: 600px) { + display: inline-flex; + } + } + + &__mobile-menu { display: none; } // replaced by .mobile-overlay / .mobile-panel + + &__mobile-link { display: none; } +} + +// Wordmark colours +.wm-fast { + font-weight: 400; + font-size: 0.72em; + color: #64748b; + margin-right: 0.04em; +} +.wm-check { + font-weight: 700; + font-size: 1em; + color: #1e40af; + text-transform: uppercase; + letter-spacing: 0.03em; +} + +// Language dropdown +.lang-select { + position: relative; + flex-shrink: 0; + + @media (max-width: 600px) { + display: none; + } + + &__trigger { + display: inline-flex; + align-items: center; + gap: 6px; + padding: 7px 10px; + border-radius: 8px; + border: 1px solid #e2e8f0; + background: #fff; + font-size: 13px; + font-weight: 600; + color: #334155; + cursor: pointer; + font-family: inherit; + transition: border-color 0.15s, background 0.15s; + white-space: nowrap; + + &:hover { background: #f8fafc; border-color: #cbd5e1; } + } + + &--open &__trigger { + background: #f8fafc; + border-color: #94a3b8; + } + + &__flag { width: 20px; height: 20px; object-fit: cover; border-radius: 2px; flex-shrink: 0; } + + &__code { font-size: 12px; font-weight: 700; letter-spacing: 0.05em; } + + &__chevron { + color: #94a3b8; + transition: transform 0.2s; + } + + &--open &__chevron { transform: rotate(180deg); } + + &__dropdown { + position: absolute; + top: calc(100% + 6px); + right: 0; + min-width: 160px; + background: #fff; + border: 1px solid #e2e8f0; + border-radius: 12px; + box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12); + overflow: hidden; + z-index: 1000; + animation: dropdown-in 0.12s ease; + } + + &__option { + display: flex; + align-items: center; + gap: 10px; + width: 100%; + padding: 11px 14px; + border: none; + background: transparent; + font-family: inherit; + font-size: 14px; + font-weight: 500; + color: #334155; + cursor: pointer; + text-align: left; + transition: background 0.12s; + + &:hover { background: #f8fafc; } + + &--active { color: #1e40af; background: #eff6ff; } + } + + &__name { flex: 1; } + + &__check { color: #1e40af; margin-left: auto; flex-shrink: 0; } +} + +@keyframes dropdown-in { + from { opacity: 0; transform: translateY(-6px); } + to { opacity: 1; transform: translateY(0); } +} + +// ── Mobile overlay + drawer ────────────────────────────────────── +.mobile-overlay { + position: fixed; + inset: 0; + background: rgba(0, 0, 0, 0.45); + z-index: 998; + animation: overlay-in 0.2s ease; +} + +.mobile-panel { + position: fixed; + top: 0; + right: 0; + height: 100%; + width: min(300px, 85vw); + background: #fff; + z-index: 999; + display: flex; + flex-direction: column; + gap: 2px; + overflow-y: auto; + animation: panel-in 0.22s cubic-bezier(0.4, 0, 0.2, 1); + + &__header { + display: flex; + align-items: center; + justify-content: space-between; + padding: 18px 20px 16px; + border-bottom: 1px solid #e2e8f0; + flex-shrink: 0; + } + + &__title { + font-size: 16px; + font-weight: 700; + color: #1e40af; + letter-spacing: 0.02em; + } + + &__close { + display: inline-flex; + align-items: center; + justify-content: center; + width: 36px; + height: 36px; + border-radius: 8px; + border: none; + background: transparent; + color: #64748b; + cursor: pointer; + transition: background 0.15s, color 0.15s; + font-family: inherit; + + &:hover { background: #f1f5f9; color: #0f172a; } + } + + &__link { + display: block; + padding: 14px 20px; + font-size: 15px; + font-weight: 500; + color: #0f172a; + text-decoration: none; + transition: background 0.12s; + border-radius: 0; + + &:hover { background: #f8fafc; } + } + + &__langs { + display: flex; + gap: 6px; + padding: 12px 20px 16px; + border-top: 1px solid #f1f5f9; + margin-top: auto; + } +} + +@keyframes overlay-in { + from { opacity: 0; } + to { opacity: 1; } +} + +@keyframes panel-in { + from { transform: translateX(100%); } + to { transform: translateX(0); } +} diff --git a/src/app/site-header/site-header.ts b/src/app/site-header/site-header.ts new file mode 100644 index 0000000..7283803 --- /dev/null +++ b/src/app/site-header/site-header.ts @@ -0,0 +1,48 @@ +import { UpperCasePipe } from '@angular/common'; +import { Component, HostListener, inject, signal } from '@angular/core'; +import { RouterLink } from '@angular/router'; +import { TranslatePipe } from '../translate/translate.pipe'; +import { TranslationService, Lang } from '../translate/translation.service'; + +interface LangOption { code: Lang; label: string; flag: string; } + +@Component({ + selector: 'app-site-header', + imports: [RouterLink, TranslatePipe, UpperCasePipe], + templateUrl: './site-header.html', + styleUrl: './site-header.scss' +}) +export class SiteHeader { + private i18n = inject(TranslationService); + + menuOpen = signal(false); + langOpen = signal(false); + currentLang = this.i18n.currentLang; + + langs: LangOption[] = [ + { code: 'ru', label: 'Русский', flag: '/flags/ru.svg' }, + { code: 'en', label: 'English', flag: '/flags/en.svg' }, + { code: 'hy', label: 'Հայերեն', flag: '/flags/arm.svg' }, + ]; + + get activeLang(): LangOption { + return this.langs.find(l => l.code === this.currentLang()) ?? this.langs[0]; + } + + toggleMenu(): void { this.menuOpen.update(v => !v); } + closeMenu(): void { this.menuOpen.set(false); } + toggleLang(): void { this.langOpen.update(v => !v); } + closeLang(): void { this.langOpen.set(false); } + + setLang(lang: Lang): void { + this.i18n.setLanguage(lang); + this.langOpen.set(false); + } + + @HostListener('document:click', ['$event.target']) + onDocClick(target: EventTarget | null): void { + if (!(target instanceof HTMLElement) || !target.closest('.lang-select')) { + this.langOpen.set(false); + } + } +} diff --git a/src/app/translate/translate.pipe.ts b/src/app/translate/translate.pipe.ts new file mode 100644 index 0000000..bebb3ec --- /dev/null +++ b/src/app/translate/translate.pipe.ts @@ -0,0 +1,11 @@ +import { Pipe, PipeTransform, inject } from '@angular/core'; +import { TranslationService } from './translation.service'; + +@Pipe({ name: 'translate', pure: false, standalone: true }) +export class TranslatePipe implements PipeTransform { + private svc = inject(TranslationService); + + transform(key: string): string { + return this.svc.translate(key); + } +} diff --git a/src/app/translate/translation.service.ts b/src/app/translate/translation.service.ts new file mode 100644 index 0000000..c2d6478 --- /dev/null +++ b/src/app/translate/translation.service.ts @@ -0,0 +1,36 @@ +import { Injectable, inject, signal } from '@angular/core'; +import { HttpClient } from '@angular/common/http'; + +export type Lang = 'ru' | 'en' | 'hy'; +type Translations = Record>; + +@Injectable({ providedIn: 'root' }) +export class TranslationService { + private http = inject(HttpClient); + + currentLang = signal('ru'); + private translations = signal({}); + + constructor() { + this.load('ru'); + } + + setLanguage(lang: Lang): void { + this.currentLang.set(lang); + this.load(lang); + } + + private load(lang: Lang): void { + this.http.get(`/i18n/${lang}.json`).subscribe({ + next: data => this.translations.set(data), + }); + } + + translate(key: string): string { + const dot = key.indexOf('.'); + if (dot === -1) return key; + const section = key.slice(0, dot); + const k = key.slice(dot + 1); + return this.translations()[section]?.[k] ?? key; + } +} diff --git a/src/environments/environment.ts b/src/environments/environment.ts deleted file mode 100644 index 12d5e44..0000000 --- a/src/environments/environment.ts +++ /dev/null @@ -1,4 +0,0 @@ -export const environment = { - production: false, - apiUrl: 'https://api.fastcheck.store' -}; diff --git a/src/index.html b/src/index.html index 4a149a0..bc39507 100644 --- a/src/index.html +++ b/src/index.html @@ -1,11 +1,16 @@ - - + + - FastCheck + fastCHECK - - + + + + + + + diff --git a/src/main.ts b/src/main.ts index 5df75f9..8648ba6 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,4 +1,4 @@ -import { bootstrapApplication } from '@angular/platform-browser'; +import { bootstrapApplication } from '@angular/platform-browser'; import { appConfig } from './app/app.config'; import { App } from './app/app'; diff --git a/src/shared.scss b/src/shared.scss new file mode 100644 index 0000000..3fc0239 --- /dev/null +++ b/src/shared.scss @@ -0,0 +1,262 @@ +// Shared page-level styles for the Fastcheck and Create pages. +// Imported via @use './../../../shared' as *; + +.page { + flex: 1; + display: flex; + align-items: center; + justify-content: center; + padding: 16px; + padding-top: max(16px, env(safe-area-inset-top)); + padding-bottom: max(16px, env(safe-area-inset-bottom)); + background: linear-gradient(135deg, #1e40af 0%, #2563eb 40%, #0ea5e9 100%); + + @media (max-width: 480px) { + align-items: stretch; + padding: 0; + } +} + +.card { + background: #ffffff; + border-radius: 24px; + width: 100%; + max-width: 440px; + box-shadow: 0 24px 60px rgba(0, 0, 0, 0.18); + overflow: hidden; + + @media (max-width: 480px) { + border-radius: 0; + max-width: 100%; + box-shadow: none; + flex: 1; + display: flex; + flex-direction: column; + } + + &__header { + background: #ffffff; + padding: 28px 24px 20px; + text-align: center; + border-bottom: 1px solid #e2e8f0; + + @media (max-width: 480px) { + padding-top: calc(28px + env(safe-area-inset-top)); + } + } + + &__title { + color: #0f172a; + font-size: 22px; + font-weight: 700; + margin: 0 0 4px; + letter-spacing: -0.3px; + } + + &__subtitle { + color: #64748b; + font-size: 13px; + margin: 0; + } + + &__brand { + display: block; + margin: 0 auto 10px; + max-width: 220px; + height: auto; + object-fit: contain; + + @media (max-width: 480px) { + max-width: 200px; + } + } + + &__body { + padding: 24px 22px 18px; + + @media (max-width: 480px) { + padding: 22px 18px 16px; + flex: 1; + } + + @media (max-width: 360px) { + padding: 18px 14px 12px; + } + } + + &__footer { + padding: 0 24px 22px; + display: flex; + justify-content: center; + + @media (max-width: 480px) { + padding: 0 18px calc(22px + env(safe-area-inset-bottom)); + } + } +} + +.field { + margin-bottom: 16px; + + &__label { + display: block; + font-size: 12px; + font-weight: 700; + color: #64748b; + margin-bottom: 8px; + text-transform: uppercase; + letter-spacing: 0.6px; + } + + &__error { + display: block; + margin-top: 6px; + font-size: 13px; + color: #ef4444; + font-weight: 500; + } + + &__hint { + display: block; + margin-top: 6px; + font-size: 13px; + color: #64748b; + font-weight: 500; + } +} + +.input-wrap { + display: flex; + align-items: center; + border: 2px solid #e2e8f0; + border-radius: 14px; + background: #f8fafc; + transition: border-color 0.2s, box-shadow 0.2s, background 0.2s; + + &:focus-within { + border-color: #2563eb; + box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12); + background: #fff; + } + + &--error { + border-color: #ef4444; + box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.1); + } + + &__prefix { + padding: 0 4px 0 18px; + font-size: 24px; + font-weight: 700; + color: #2563eb; + user-select: none; + line-height: 1; + } + + &__input { + flex: 1; + border: none; + background: transparent; + padding: 14px 14px 14px 8px; + font-size: 28px; + font-weight: 700; + color: #0f172a; + outline: none; + min-width: 0; + font-family: inherit; + appearance: textfield; + -moz-appearance: textfield; + + &::placeholder { color: #cbd5e1; } + &::-webkit-outer-spin-button, + &::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; + } + + @media (max-width: 480px) { + font-size: 26px; + padding: 12px 12px 12px 6px; + } + } +} + +.pay-btn { + width: 100%; + display: flex; + align-items: center; + justify-content: center; + gap: 10px; + padding: 16px 24px; + min-height: 52px; + background: linear-gradient(135deg, #1e40af 0%, #2563eb 100%); + color: #fff; + border: none; + border-radius: 14px; + font-size: 16px; + font-weight: 700; + letter-spacing: 0.2px; + cursor: pointer; + transition: opacity 0.15s, transform 0.1s, box-shadow 0.15s; + box-shadow: 0 6px 20px rgba(37, 99, 235, 0.38); + font-family: inherit; + appearance: none; + -webkit-appearance: none; + + &:hover { opacity: 0.92; box-shadow: 0 8px 28px rgba(37, 99, 235, 0.45); } + &:active { transform: scale(0.98); opacity: 0.88; } + &:disabled { opacity: 0.55; cursor: not-allowed; transform: none; } + + &__icon { display: flex; align-items: center; } +} + +.secure-badge { + display: inline-flex; + align-items: center; + gap: 6px; + font-size: 12px; + color: #94a3b8; + font-weight: 500; + + svg { flex-shrink: 0; } +} + +// ─── Brand wordmark: "fastCHECK" inline ───────────────────────────────────── +// "fast" sits a bit smaller and lighter than "CHECK". +.brand { + display: inline-flex; + align-items: baseline; + font-weight: inherit; + letter-spacing: -0.02em; + white-space: nowrap; + font-size: calc(1em + 3px); + + &__fast { + font-size: 0.72em; + font-weight: 400; + text-transform: lowercase; + margin-right: 0.05em; + opacity: 0.85; + } + + &__check { + font-size: 1em; + font-weight: 500; + text-transform: uppercase; + letter-spacing: 0.02em; + } +} + +// Standalone logo image (used inside modal/header) +.brand-logo { + display: block; + height: auto; + object-fit: contain; + user-select: none; + -webkit-user-drag: none; + + &--small { + max-height: 32px; + margin: 0 auto 8px; + } +} diff --git a/src/styles.scss b/src/styles.scss index 87a73d5..7c8f115 100644 --- a/src/styles.scss +++ b/src/styles.scss @@ -1,21 +1,37 @@ -/* You can add global styles to this file, and also import other style files */ - -* { +*, *::before, *::after { + box-sizing: border-box; margin: 0; padding: 0; - box-sizing: border-box; + -webkit-tap-highlight-color: transparent; } html, body { height: 100%; - width: 100%; - margin: 0; - padding: 0; - overflow-x: hidden; +} + +html { + // Prevent iOS rubber-band overscroll showing white background + background: #1e40af; + // Prevent iOS auto-zoom on form fields with small text + -webkit-text-size-adjust: 100%; } body { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; + background: #1e40af; + // Avoid iOS overscroll bounce leaking other pages on PWA + overscroll-behavior-y: none; +} + +// Disable long-press image saving / callout on payment-method logos +img { + -webkit-touch-callout: none; + user-select: none; +} + +// Inputs: ensure ≥16px font-size to prevent iOS Safari from auto-zooming on focus +input, textarea, select, button { + font-size: 16px; } diff --git a/tsconfig.app.json b/tsconfig.app.json index fb792a9..264f459 100644 --- a/tsconfig.app.json +++ b/tsconfig.app.json @@ -7,8 +7,7 @@ "types": [] }, "include": [ - "src/**/*.ts", - "src/**/*.html" + "src/**/*.ts" ], "exclude": [ "src/**/*.spec.ts"
    -
    - - -
    - -
    - - - @if (isLoading()) { -
    -
    -

    Loading active checks...

    -
    - } - - @if (error()) { -
    -

    {{ error() }}

    - -
    - } - - @if (!isLoading() && !error()) { - @if (checks().length === 0) { -
    -
    📭
    -

    No Active Checks

    -

    You don't have any active FastChecks at the moment.

    - Create FastCheck -
    - } @else { -
    - @for (check of checks(); track check.fastcheck) { -
    -
    - Active - {{ formatAmount(check.amount) }} ₽ -
    - -
    -
    - FastCheck Number -
    - {{ check.fastcheck }} - -
    -
    - -
    - Code -
    - {{ check.code }} - -
    -
    - -
    - Created - {{ check.createdAt | date:'short' }} -
    - -
    - Expires - {{ check.expiration | date:'short' }} -
    -
    - -
    - ⚠️ Keep this information secure. Anyone with these credentials can claim the money. -
    -
    - } -
    - } - } -
    -