diff --git a/.claude/prompt/altcha-captcha-integration.md b/.claude/prompt/altcha-captcha-integration.md new file mode 100644 index 00000000..31324c19 --- /dev/null +++ b/.claude/prompt/altcha-captcha-integration.md @@ -0,0 +1,179 @@ +# یکپارچه‌سازی ALTCHA (کپچای Self-Hosted، Proof-of-Work) روی endpointهای عمومی + +## پروژه + +`clinicpro` (backend + پنل ادمین React). + +> **Cross-repo:** سایت عمومی `nobat724_front` هم همان endpointهای عمومی را مصرف می‌کند (send-code / register / rate / comment / pre-registration). این پرامپت **قرارداد API کپچا** را در backend می‌سازد؛ سپس یک پرامپت جدا در `nobat724_front` برای نصب web-component و ضمیمه‌کردن `altcha` به بدنه‌ی همان درخواست‌ها لازم است. مسیر challenge و شکل payload که در این فایل تعریف می‌شود، همان است که سایت عمومی باید استفاده کند. + +## زمینه + +کاربر خواسته «به همه‌ی فرم‌های Symfony با ALTCHA کپچا اضافه شود» و صریحاً هر SaaS خارجی (Google/Cloudflare/hCaptcha/Friendly) را رد کرده — چون کاربران داخل ایران‌اند. انتخاب **ALTCHA** درست است: خودمیزبان، بدون تصویر، بدون تایپ، بدون CDN، Proof-of-Work سمت مرورگر. + +**اما یک تصحیح معماری مهم:** این پروژه Symfony Forms / Twig برای فرم‌های کاربری **ندارد**. `clinicpro` یک REST API با envelope‌ی JSON است و کلاینت‌ها React SPA (پنل ادمین) و Next.js (`nobat724_front`) هستند. پس «Form Type / Form Extension / Form Theme / Twig block» موضوعیت ندارد. معادل درست در این معماری: + +- یک endpoint برای صدور **challenge امضاشده**، +- یک **verifier سرویس** که payload حل‌شده‌ی ALTCHA را سمت سرور اعتبارسنجی می‌کند، +- اعمال verifier روی endpointهای POST عمومی که واقعاً قربانی اسپم/بات‌اند. + +هیچ‌کدام از فرم‌های ادمین (پشت JWT + `ROLE_*`) نیازی به کپچا ندارند؛ کپچا فقط روی سطح **عمومی و بدون احراز هویت** معنی دارد. + +## مشکل / هدف + +افزودن ALTCHA به‌صورت یک ماژول مرکزی و قابل‌استفاده‌مجدد، که با یک خط (`$this->altcha->assertValid($request)`) به هر endpoint عمومی اضافه شود؛ در `dev`/`test` غیرفعال و در `prod` فعال؛ با محافظت در برابر replay (استفاده‌ی یک‌باره‌ی هر challenge). + +## endpointهای عمومی که باید محافظت شوند + +از `config/packages/security.yaml` → firewall `public_endpoints` (خط ۳۵). فقط POSTهای ارسال‌کننده‌ی داده/هزینه‌زا: + +| Endpoint | Controller | چرا کپچا | +|---|---|---| +| `POST /api/v1/user/send-code` | `src/Auth/Controller/AuthController.php::sendCode` (خط ۱۳۶) | **بحرانی** — هر تماس یک پیامک واقعی + هزینه می‌فرستد | +| `POST /api/v1/user/register` | `AuthController::register` (خط ۲۷۶) | ساخت اکانت انبوه | +| `POST /api/v1/user/otp-login` | `AuthController::otpLogin` (خط ۳۷۲) | تلاش خودکار ورود | +| `POST /api/v1/user/reset-password` | `AuthController::resetPassword` (خط ۳۹۶) | سوءاستفاده از بازیابی | +| `POST /api/v1/pre-registration` | `src/Auth/Controller/PreRegistrationController.php` (خط ۴۰) | اسپم درخواست ثبت‌نام | +| `POST /api/v1/rate` | `src/Rating/Controller/RatingController.php` (خط ۶۷) | امتیاز جعلی انبوه | +| `POST /api/v1/comment` | `RatingController.php` (خط ۲۱۴) | اسپم نظر | + +> `verify-code` خودش با rate-limit و uuid محافظت است و کپچا اضافه لازم ندارد (تجربه‌ی کاربر را خراب می‌کند). اگر لازم شد، فقط `send-code` را کپچا بزن — بقیه اختیاری با فلگ. + +## وضعیت فعلی + +الگوی هر endpoint عمومی امروز: rate-limit با `RateLimiterFactory` (Redis)، سپس `json_decode` بدنه، سپس `$this->error(...)`. نمونه‌ی واقعی از `AuthController::sendCode`: + +```php +public function sendCode(Request $request): JsonResponse +{ + $limiter = $this->sendCodeLimiter->create($request->getClientIp() ?? 'unknown'); + if (!$limiter->consume(1)->isAccepted()) { + return $this->error(ErrorCodes::ERR_RATE_LIMIT_001, ErrorCodes::message(ErrorCodes::ERR_RATE_LIMIT_001), 429); + } + + $data = json_decode($request->getContent(), true) ?? []; + $mobile = trim($data['mobile'] ?? ''); + // ... اعتبارسنجی موبایل ... + $uuid = $this->otpService->sendCode($mobile, $domain ?: null); + return new JsonResponse(['uuid' => $uuid, 'message' => 'کد تایید با موفقیت ارسال شد.']); +} +``` + +زیرساخت موجود که باید استفاده شود: +- **Redis** آماده است: `config/packages/cache.yaml` → `app: cache.adapter.redis`، `REDIS_URL=redis://redis:6379`. برای store یک‌باره‌ی challengeها از یک cache pool اختصاصی استفاده کن (نه ساخت اتصال دستی). +- همه‌ی controllerها `extends BaseController` و از `$this->error($code, $message, $status, $field?)` استفاده می‌کنند. +- کدهای خطا در `src/Shared/Constant/ErrorCodes.php` (پیام فارسی). +- Webpack Encore با entryهای `admin` و `home` (`webpack.config.js` خطوط ۱۱–۱۳). **AssetMapper در کار نیست** — دارایی‌ها با Encore بسته می‌شوند. + +## وظایف + +### ۱. نصب کتابخانه‌ی رسمی PHP + +```bash +ddev exec composer require altcha-org/altcha +``` +اگر نصب پکیج به هر دلیل ممکن نبود، معادل حداقلی طبق مستندات رسمی ALTCHA پیاده کن (HMAC-SHA256 روی `salt+number`، خروجی base64). ولی **اول پکیج رسمی را امتحان کن**. + +### ۲. سرویس مرکزی — `src/Shared/Captcha/AltchaService.php` (namespace جدید `App\Shared\Captcha`) + +مسئولیت‌ها: +- `createChallenge(): array` — تولید challenge امضاشده با HMAC-SHA256 و `%env(ALTCHA_HMAC_KEY)%`، `expires`، و `maxNumber = %env(int:ALTCHA_MAX_NUMBER)%`. +- `verifySolution(string $payloadBase64): bool` — decode payload، بررسی امضا (`algorithm`, `challenge`, `salt`, `signature`)، بررسی انقضا از داخل `salt` (پارامتر `?expires=`)، سپس **one-time**: کلید `altcha:used:` را در cache pool اتمیک `get`/`save` کن؛ اگر قبلاً بوده → `false` (ضدِ replay). TTL = زمان باقیمانده تا انقضا. +- `enabled(): bool` — از `%env(bool:ALTCHA_ENABLED)%`. + +تزریق: `CacheItemPoolInterface $altchaPool`, پارامترهای env. از `random_bytes` برای salt، `hash_hmac('sha256', ...)` برای امضا. + +### ۳. Guard قابل‌استفاده‌مجدد — `src/Shared/Captcha/CaptchaGuard.php` + +یک متد کوتاه که در هر controller صدا زده شود: + +```php +public function assertValid(Request $request): void +{ + if (!$this->altcha->enabled()) { + return; // dev/test یا ALTCHA_ENABLED=false + } + $payload = (string) (json_decode($request->getContent(), true)['altcha'] ?? ''); + if ($payload === '' || !$this->altcha->verifySolution($payload)) { + throw new AppException(ErrorCodes::ERR_CAPTCHA_001, null, 422); + } +} +``` + +`AppException` توسط `ExceptionSubscriber` به `$this->error()` تبدیل می‌شود — پس نیازی به try/catch در controller نیست. یک کد خطای جدید `ERR_CAPTCHA_001` با پیام فارسی («تأیید امنیتی ناموفق بود، صفحه را تازه کنید») به `ErrorCodes.php` اضافه کن. + +### ۴. Endpoint صدور challenge — عمومی + +در یک controller جدید `src/Shared/Captcha/CaptchaController.php`: + +```php +#[Route('/api/v1/altcha/challenge', methods: ['GET'])] +public function challenge(): JsonResponse +{ + return new JsonResponse($this->altcha->createChallenge()); +} +``` + +این مسیر را به `public_endpoints` در `config/packages/security.yaml` (خط ۳۵ pattern) اضافه کن: `api/v1/altcha/challenge`. + +### ۵. اعمال Guard روی endpointها + +در ابتدای هر یک از ۷ متد جدول بالا (بعد از rate-limit موجود، قبل از منطق): + +```php +$this->captcha->assertValid($request); +``` + +`CaptchaGuard` را به constructor آن controllerها inject کن. **rate-limitهای موجود را حذف نکن** — کپچا مکمل آن‌هاست نه جایگزین. + +### ۶. تنظیمات + +`.env` (مقادیر پیش‌فرض؛ کلید واقعی در `.env.local`): +```dotenv +###> altcha ### +ALTCHA_ENABLED=false +ALTCHA_HMAC_KEY=change-me-in-env-local +ALTCHA_MAX_NUMBER=100000 +ALTCHA_EXPIRE_SECONDS=300 +###< altcha ### +``` +`config/services.yaml`: bind پارامترها به `AltchaService`. یک cache pool اختصاصی در `config/packages/cache.yaml`: +```yaml +framework: + cache: + pools: + altcha.pool: + adapter: cache.adapter.redis + default_lifetime: 600 +``` +غیرفعال‌سازی محیطی: در `config/services_dev.yaml` و `config/packages/test/` مقدار `ALTCHA_ENABLED=false` تضمین شود؛ در `prod` مقدار از `.env.local` سرور `true`. (به‌جای اتکا به env، `enabled()` مستقیماً `ALTCHA_ENABLED` را می‌خواند تا رفتار صریح باشد.) + +### ۷. Frontend پنل ادمین React (`assets/admin/`) + +- نصب web-component محلی: `ddev exec yarn add altcha` (بدون CDN؛ Encore آن را bundle می‌کند). +- یک کامپوننت `assets/admin/components/ui/Altcha.tsx` که `` را با `challengeurl="/api/v1/altcha/challenge"` رندر می‌کند و مقدار حل‌شده را از event `verified` می‌گیرد. +- در فرم‌های عمومی ادمین (صفحه‌ی login عمومی اگر روی همین endpointها می‌رود) مقدار `altcha` را به بدنه‌ی درخواست در `lib/api.ts` ضمیمه کن. اگر پنل ادمین از این endpointهای عمومی استفاده نمی‌کند، این بخش را حداقلی نگه‌دار و در README مسیر افزودن را مستند کن. + +> بیشتر مصرف‌کننده‌ی این endpointها `nobat724_front` است؛ سیم‌کشی کامل widget آنجا در پرامپت همتای frontend انجام می‌شود. + +### ۸. تست + +- **Unit** `tests/Shared/Captcha/AltchaServiceTest.php`: امضای معتبر تأیید شود؛ امضای دستکاری‌شده رد؛ challenge منقضی رد؛ استفاده‌ی دوم از همان challenge رد (replay). +- **Functional** `tests/Shared/Captcha/CaptchaFlowTest.php`: `GET /api/v1/altcha/challenge` ساختار (`algorithm/challenge/salt/signature/maxnumber`) برگرداند؛ با `ALTCHA_ENABLED=false` (پیش‌فرض test) endpointهای عمومی بدون `altcha` هم ۲۰۰ بدهند؛ سپس با فعال‌سازی موقت سرویس (mock/override) نبودِ `altcha` → ۴۲۲ با `ERR_CAPTCHA_001`. +- از `ApiTestCase` ارث ببر؛ الگوی موجود `tests/Admin/AdminLogsTest.php` را دنبال کن. + +### ۹. مستندات + +- `docs/api/captcha.md` جدید: مسیر challenge، شکل payload، کد خطای `ERR_CAPTCHA_001`، لیست endpointهای محافظت‌شده. +- در `docs/api/auth.md`، `docs/api/rating.md`، و مستند pre-registration: به هر endpoint یک نکته اضافه کن که در `prod` هدر/فیلد `altcha` الزامی است. +- `README` بخش ALTCHA: نصب، env، فعال/غیرفعال، افزودن به endpoint جدید (`$this->captcha->assertValid($request)`)، تغییر difficulty (`ALTCHA_MAX_NUMBER`)، Troubleshooting (کلید HMAC ناهماهنگ بین challenge و verify، ساعت سرور/انقضا، Redis در دسترس نبودن). + +## نکات مهم + +- **این پروژه Twig/FormType برای فرم‌های کاربری ندارد** — پیاده‌سازی API-محور است (challenge endpoint + verifier)، نه Form Theme. اگر جایی صفحه‌ی Twig عمومی با فرم واقعی بود (`templates/public/`)، همان‌جا web-component را مستقیم بگذار؛ ولی فرض پیش‌فرض API است. +- کپچا فقط روی `public_endpoints`؛ **هرگز روی endpointهای پشت JWT/`ROLE_*`** (تجربه‌ی ادمین را خراب و بی‌فایده است). +- One-time بودن challenge **الزامی** است؛ بدون آن replay ممکن می‌شود. حتماً از Redis pool اتمیک استفاده کن. +- Secret/HMAC key هرگز به client نرود؛ فقط challenge امضاشده و salt عمومی‌اند. +- rate-limitهای موجود دست‌نخورده بمانند؛ کپچا لایه‌ی مکمل است. +- envelope پاسخ خطا باید همان `$this->error()` استاندارد BaseController بماند (`{ success:false, errors:[{code,message}] }`). +- بعد از تغییر controllerها و افزودن endpoint، طبق قانون ثابت پروژه فایل‌های `docs/api/*` را در همین session به‌روز کن. +- بعد از تغییر کد: `ddev exec php bin/console cache:clear` (route جدید) و `ddev exec php bin/phpunit` و `ddev exec yarn dev`. diff --git a/.env.test b/.env.test index 03fd82d4..78a65c22 100644 --- a/.env.test +++ b/.env.test @@ -9,3 +9,6 @@ DATABASE_URL="mysql://db:db@db:3306/db?serverVersion=8.0&charset=utf8mb4" # JWT — generated keypair is shared with dev; passphrase from .env is fine. # Redis cache/messenger use the same ddev redis; tests don't depend on it. + +# ALTCHA off in tests so public endpoints stay drivable without solving PoW. +ALTCHA_ENABLED=false diff --git a/README.MD b/README.MD index d7464fd8..cd66f834 100644 --- a/README.MD +++ b/README.MD @@ -812,3 +812,50 @@ clinic-pro-symfony/ > CSS فرانت‌اند از کلاس‌های template اختصاصی استفاده می‌کند (نه Tailwind). > بعد از هر تغییر backend: `cache:clear` > بعد از هر تغییر entity: `migrations:diff` سپس `migrations:migrate` + +--- + +## 🛡️ ALTCHA — کپچای خودمیزبان (ضدِ اسپم/بات) + +کپچای Proof-of-Work مبتنی بر [ALTCHA](https://altcha.org) — بدون تصویر، بدون تایپ، بدون سرویس خارجی (مناسب کاربران داخل ایران). فقط روی endpointهای **عمومی و بدون احراز هویت** اعمال می‌شود. + +### نصب (انجام‌شده) +- بک‌اند: `composer require altcha-org/altcha` (پکیج رسمی PHP، از V1 API استفاده می‌شود). +- فرانت‌اند: `yarn add altcha` (web-component محلی، بدون CDN؛ Encore آن را bundle می‌کند). + +### تنظیمات (`.env` / برای prod در `.env.local`) +| متغیر | پیش‌فرض | توضیح | +|---|---|---| +| `ALTCHA_ENABLED` | `false` | در prod روی `true`؛ در dev/test غیرفعال بماند | +| `ALTCHA_HMAC_KEY` | `change-me-in-env-local` | کلید امضای سرور — **حتماً در prod عوض شود** و مخفی بماند | +| `ALTCHA_MAX_NUMBER` | `100000` | سقف اعداد PoW = **سختی**؛ بالاتر = سنگین‌تر برای مرورگر | +| `ALTCHA_EXPIRE_SECONDS` | `300` | عمر هر challenge (ثانیه) | + +### جریان +1. کلاینت `GET /api/v1/altcha/challenge` را می‌گیرد (challenge امضاشده). +2. `` در پس‌زمینه PoW را حل می‌کند. +3. مقدار حل‌شده (base64) با کلید `altcha` در بدنه‌ی درخواستِ endpoint عمومی ارسال می‌شود. +4. سرور با `CaptchaGuard::assertValid($request)` اعتبارسنجی می‌کند (امضا + انقضا + یک‌بارمصرف بودن). + +### endpointهای محافظت‌شده +`send-code`، `register`، `otp-login`، `reset-password`، `pre-registration`. +> `rate`/`comment` پشت JWT هستند و کپچا نمی‌گیرند (بی‌فایده است). + +### افزودن کپچا به endpoint عمومی جدید +`CaptchaGuard` را inject کن و اولین خط handler: +```php +$this->captcha->assertValid($request); // پرتاب ERR_CAPTCHA_001 (422) در صورت شکست +``` +سپس مسیر را در فرانت به بدنه‌ی درخواست `altcha` وصل کن. + +### تغییر سختی +`ALTCHA_MAX_NUMBER` را بالا/پایین ببر (مثلاً `1000000` برای سخت‌تر). + +### غیرفعال‌سازی +`ALTCHA_ENABLED=false` → guard کاملاً no-op می‌شود (dev/test همیشه این‌طور است). + +### Troubleshooting +- **همیشه ERR_CAPTCHA_001:** کلید `ALTCHA_HMAC_KEY` بین challenge و verify باید یکسان باشد؛ اگر بعد از صدور challenge کلید عوض شود، امضا نامعتبر می‌شود. +- **challenge منقضی:** ساعت سرور را چک کن؛ `ALTCHA_EXPIRE_SECONDS` خیلی کوتاه نباشد. +- **replay:** هر challenge یک‌بار مصرف است؛ برای هر submit یک challenge تازه بگیر. +- **خطای Redis:** pool اختصاصی `altcha.pool` روی `REDIS_URL` است؛ در دسترس بودن Redis لازم است. diff --git a/assets/admin/components/ui/Altcha.tsx b/assets/admin/components/ui/Altcha.tsx new file mode 100644 index 00000000..48bef748 --- /dev/null +++ b/assets/admin/components/ui/Altcha.tsx @@ -0,0 +1,43 @@ +import React, { useEffect, useRef } from 'react'; +import 'altcha'; + +// ALTCHA خودمیزبان: widget با گرفتن challenge از بک‌اند، proof-of-work را در +// پس‌زمینه‌ی مرورگر حل می‌کند و مقدار base64 حل‌شده را در event `verified` می‌دهد. +// این مقدار باید در بدنه‌ی درخواستِ endpoint عمومی با کلید `altcha` ارسال شود. + +interface AltchaProps { + onVerified: (payload: string) => void; + challengeUrl?: string; +} + +// altcha-widget یک custom element است؛ به JSX معرفی می‌شود (React 19: namespace زیر React.JSX). +declare module 'react' { + namespace JSX { + interface IntrinsicElements { + 'altcha-widget': React.DetailedHTMLProps, HTMLElement> & { + challengeurl?: string; + }; + } + } +} + +export default function Altcha({ onVerified, challengeUrl = '/api/v1/altcha/challenge' }: AltchaProps) { + const ref = useRef(null); + + useEffect(() => { + const el = ref.current; + if (!el) return; + + const onStateChange = (e: Event) => { + const detail = (e as CustomEvent).detail as { state?: string; payload?: string }; + if (detail?.state === 'verified' && detail.payload) { + onVerified(detail.payload); + } + }; + + el.addEventListener('statechange', onStateChange); + return () => el.removeEventListener('statechange', onStateChange); + }, [onVerified]); + + return } challengeurl={challengeUrl} />; +} diff --git a/composer.json b/composer.json index 07ffeef4..fd628552 100644 --- a/composer.json +++ b/composer.json @@ -10,6 +10,7 @@ "ext-ctype": "*", "ext-iconv": "*", "ext-soap": "*", + "altcha-org/altcha": "^2.0", "doctrine/doctrine-bundle": ">=2.18.3", "doctrine/doctrine-migrations-bundle": "*", "doctrine/orm": "^3.6", diff --git a/composer.lock b/composer.lock index 30274bcd..2d5b69d2 100644 --- a/composer.lock +++ b/composer.lock @@ -4,8 +4,55 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "e8ccf55959566a5f4e99d0965b1c988a", + "content-hash": "9cc89627fd2cff50402b8c5e93a9efee", "packages": [ + { + "name": "altcha-org/altcha", + "version": "v2.0.3", + "source": { + "type": "git", + "url": "https://github.com/altcha-org/altcha-lib-php.git", + "reference": "8b02ad2c9b82998613bac4d093517d457061cbbe" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/altcha-org/altcha-lib-php/zipball/8b02ad2c9b82998613bac4d093517d457061cbbe", + "reference": "8b02ad2c9b82998613bac4d093517d457061cbbe", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.72", + "phpstan/extension-installer": "^1.4", + "phpstan/phpstan": "^2.1", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^10.5 || ^11.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "AltchaOrg\\Altcha\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Regeci", + "email": "536331+ovx@users.noreply.github.com" + } + ], + "description": "A lightweight PHP library for creating and verifying ALTCHA challenges.", + "support": { + "issues": "https://github.com/altcha-org/altcha-lib-php/issues", + "source": "https://github.com/altcha-org/altcha-lib-php/tree/v2.0.3" + }, + "time": "2026-07-02T16:36:58+00:00" + }, { "name": "doctrine/collections", "version": "2.6.0", @@ -9689,7 +9736,8 @@ "platform": { "php": ">=8.2", "ext-ctype": "*", - "ext-iconv": "*" + "ext-iconv": "*", + "ext-soap": "*" }, "platform-dev": {}, "plugin-api-version": "2.9.0" diff --git a/config/packages/cache.yaml b/config/packages/cache.yaml index dee3c809..f581a94c 100644 --- a/config/packages/cache.yaml +++ b/config/packages/cache.yaml @@ -2,3 +2,7 @@ framework: cache: app: cache.adapter.redis default_redis_provider: '%env(REDIS_URL)%' + pools: + altcha.pool: + adapter: cache.adapter.redis + default_lifetime: 600 diff --git a/config/packages/security.yaml b/config/packages/security.yaml index 684f2a1a..ea4ce663 100644 --- a/config/packages/security.yaml +++ b/config/packages/security.yaml @@ -33,7 +33,7 @@ security: provider: api_doc_provider public_endpoints: - pattern: ^/(api/v1/user/(send-code|verify-code|register|otp-login|reset-password)|oauth/token$|session/token|api/v1/categorys/|api/v1/doctors$|api/v1/clinics$|api/v1/clinic/doctor-list/|api/v1/clinic/[^/]+/addresses$|api/v1/clinic-pro/doctor-addresses/|api/v1/appointment-slots|api/v1/appointment-settings/month-availability/|api/v1/comments/|api/v1/rate/[^/]+$|api/v1/specialties|api/v1/blogs$|api/v1/tags$|api/v1/clinic-invitation/|api/v1/pre-registration$) + pattern: ^/(api/v1/altcha/challenge$|api/v1/user/(send-code|verify-code|register|otp-login|reset-password)|oauth/token$|session/token|api/v1/categorys/|api/v1/doctors$|api/v1/clinics$|api/v1/clinic/doctor-list/|api/v1/clinic/[^/]+/addresses$|api/v1/clinic-pro/doctor-addresses/|api/v1/appointment-slots|api/v1/appointment-settings/month-availability/|api/v1/comments/|api/v1/rate/[^/]+$|api/v1/specialties|api/v1/blogs$|api/v1/tags$|api/v1/clinic-invitation/|api/v1/pre-registration$) stateless: true security: false diff --git a/config/services.yaml b/config/services.yaml index c2e420ab..ac1ebb48 100644 --- a/config/services.yaml +++ b/config/services.yaml @@ -49,6 +49,14 @@ services: $baseUrl: '%env(default:default_api_ir_base_url:API_IR_BASE_URL)%' $token: '%env(default::API_IR_TOKEN)%' + App\Shared\Captcha\AltchaService: + arguments: + $hmacKey: '%env(ALTCHA_HMAC_KEY)%' + $enabled: '%env(bool:ALTCHA_ENABLED)%' + $maxNumber: '%env(int:ALTCHA_MAX_NUMBER)%' + $expireSeconds: '%env(int:ALTCHA_EXPIRE_SECONDS)%' + $altchaPool: '@altcha.pool' + # Persist warning+ logs to the app_log table while keeping stderr output. App\Shared\Logging\DbLogger: decorates: 'logger' diff --git a/docs/api/auth.md b/docs/api/auth.md index 93e7108f..8c37c7e9 100644 --- a/docs/api/auth.md +++ b/docs/api/auth.md @@ -3,6 +3,8 @@ > **Prefix:** `/api/v1/user` and `/oauth` > **Permission:** All endpoints in this module are **PUBLIC** (no JWT required) except `userinfo` and `logout` +> **🛡️ ALTCHA captcha:** وقتی `ALTCHA_ENABLED=true` است (در prod)، endpointهای `send-code`، `register`، `otp-login` و `reset-password` علاوه بر بدنه‌ی خود، فیلد `altcha` (payload حل‌شده‌ی widget) را الزامی می‌کنند؛ در غیر این صورت `422` با کد `ERR_CAPTCHA_001` برمی‌گردد. جزئیات و مسیر challenge در [captcha.md](captcha.md). + --- ## POST `/api/v1/user/send-code` @@ -548,6 +550,8 @@ Submit a pre-registration request (doctor or clinic). Public endpoint — no aut **Permission:** Public +> **🛡️ ALTCHA:** وقتی `ALTCHA_ENABLED=true` است، فیلد `altcha` (payload حل‌شده‌ی widget) الزامی است؛ در غیر این صورت `422` با `ERR_CAPTCHA_001`. رجوع به [captcha.md](captcha.md). + ### Request Body ```json { diff --git a/docs/api/captcha.md b/docs/api/captcha.md new file mode 100644 index 00000000..11ac47fa --- /dev/null +++ b/docs/api/captcha.md @@ -0,0 +1,69 @@ +# Captcha API (ALTCHA) + +کپچای خودمیزبان مبتنی بر ALTCHA (Proof-of-Work، بدون تصویر، بدون سرویس خارجی). برای محافظت از endpointهای عمومی و بدون احراز هویت در برابر اسپم/بات. + +- فعال/غیرفعال با `ALTCHA_ENABLED` (پیش‌فرض `false` در dev/test، در prod باید `true` شود). +- وقتی غیرفعال است، همه‌ی endpointها بدون فیلد `altcha` کار می‌کنند. + +--- + +## GET `/api/v1/altcha/challenge` + +صدور یک challenge امضاشده برای حل proof-of-work سمت مرورگر. **عمومی** (بدون توکن). + +### Response `200` +```json +{ + "algorithm": "SHA-256", + "challenge": "417af7b4d4b661c437b99c7e4d5d55747d36f01a8c28d77013af95683b71e642", + "maxnumber": 100000, + "salt": "1d5e0b983af8930ed6d4081f?expires=1783665554&", + "signature": "5d797fdbe9d9cd322fdb02c95c4a673ea92fae09bb63122091713895d0897a11" +} +``` + +- `signature` — HMAC-SHA256 روی challenge با کلید سرور (`ALTCHA_HMAC_KEY`). قابل جعل نیست. +- `salt` شامل `expires` است؛ پس از انقضا challenge نامعتبر می‌شود. +- خروجی مستقیماً به `` داده می‌شود (پاسخ خام است، نه envelope استاندارد). + +--- + +## اعمال کپچا روی endpointهای محافظت‌شده + +کلاینت مقدار حل‌شده‌ی widget (base64) را با کلید `altcha` در بدنه‌ی همان درخواست می‌فرستد: + +```json +{ "mobile": "09120000000", "altcha": "eyJhbGdvcml0aG0iOiJTSEEt..." } +``` + +endpointهایی که وقتی `ALTCHA_ENABLED=true` است فیلد `altcha` را الزامی می‌کنند: + +| Endpoint | Method | +|---|---| +| `/api/v1/user/send-code` | POST | +| `/api/v1/user/register` | POST | +| `/api/v1/user/otp-login` | POST | +| `/api/v1/user/reset-password` | POST | +| `/api/v1/pre-registration` | POST | + +> endpointهای امتیاز/نظر (`POST /api/v1/rate`، `POST /api/v1/comment`) پشت JWT هستند (کاربر لاگین‌شده)، بنابراین کپچا نمی‌گیرند — بات برای رسیدن به آن‌ها باید توکن معتبر داشته باشد که خودش از مسیر OTP (کپچا‌دار) عبور می‌کند. + +### خطای اعتبارسنجی کپچا `422` +```json +{ + "success": false, + "data": null, + "errors": [{ "code": "ERR_CAPTCHA_001", "field": "altcha", "message": "تأیید امنیتی ناموفق بود. لطفاً صفحه را رفرش کنید و دوباره تلاش کنید" }] +} +``` + +این خطا زمانی برمی‌گردد که `altcha` غایب، نامعتبر، منقضی، یا **قبلاً استفاده شده** (replay) باشد. هر challenge فقط **یک‌بار** معتبر است (امضایش در Redis سوزانده می‌شود). + +--- + +## امنیت + +- Challenge با HMAC-SHA256 و کلید سرور امضا می‌شود؛ کلید هرگز به client نمی‌رود. +- انقضا (`ALTCHA_EXPIRE_SECONDS`) داخل salt امضاشده است. +- استفاده‌ی یک‌باره: signature هر challenge در pool اختصاصی Redis (`altcha.pool`) تا زمان انقضا نگه‌داری می‌شود → ضدِ replay. +- کپچا مکملِ rate-limit موجود است، نه جایگزین آن. diff --git a/graphify-out/.graphify_labels.json b/graphify-out/.graphify_labels.json index 16c52335..d7e633b1 100644 --- a/graphify-out/.graphify_labels.json +++ b/graphify-out/.graphify_labels.json @@ -632,12 +632,10 @@ "630": "Community 630", "631": "Community 631", "632": "Community 632", - "633": "Community 633", "634": "Community 634", "635": "Community 635", "636": "Community 636", "637": "Community 637", - "638": "Community 638", "639": "Community 639", "640": "Community 640", "641": "Community 641", @@ -666,7 +664,6 @@ "664": "Community 664", "665": "Community 665", "666": "Community 666", - "667": "Community 667", "668": "Community 668", "669": "Community 669", "670": "Community 670", @@ -676,7 +673,6 @@ "674": "Community 674", "675": "Community 675", "676": "Community 676", - "677": "Community 677", "678": "Community 678", "679": "Community 679", "680": "Community 680", @@ -688,11 +684,9 @@ "686": "Community 686", "687": "Community 687", "688": "Community 688", - "689": "Community 689", - "690": "Community 690", "691": "Community 691", "692": "Community 692", - "693": "Community 693", + "694": "Community 694", "695": "Community 695", "696": "Community 696", "697": "Community 697", @@ -702,23 +696,28 @@ "702": "Community 702", "703": "Community 703", "704": "Community 704", + "705": "Community 705", "706": "Community 706", + "707": "Community 707", "708": "Community 708", "709": "Community 709", "711": "Community 711", "712": "Community 712", - "713": "Community 713", - "714": "Community 714", - "715": "Community 715", + "717": "Community 717", + "718": "Community 718", "719": "Community 719", "720": "Community 720", + "721": "Community 721", "722": "Community 722", - "725": "Community 725", + "723": "Community 723", "726": "Community 726", - "727": "Community 727", "728": "Community 728", - "729": "Community 729", "730": "Community 730", "731": "Community 731", + "732": "Community 732", + "734": "Community 734", + "735": "Community 735", + "736": "Community 736", + "737": "Community 737", "738": "Community 738" } diff --git a/graphify-out/GRAPH_REPORT.md b/graphify-out/GRAPH_REPORT.md index 5e408966..7b4cb5bc 100644 --- a/graphify-out/GRAPH_REPORT.md +++ b/graphify-out/GRAPH_REPORT.md @@ -1,16 +1,16 @@ # Graph Report - clinicpro (2026-07-10) ## Corpus Check -- 728 files · ~538,154 words +- 736 files · ~541,238 words - Verdict: corpus is large enough that graph structure adds value. ## Summary -- 9204 nodes · 12739 edges · 722 communities (577 shown, 145 thin omitted) +- 9268 nodes · 12820 edges · 721 communities (576 shown, 145 thin omitted) - Extraction: 98% EXTRACTED · 2% INFERRED · 0% AMBIGUOUS · INFERRED: 279 edges (avg confidence: 0.8) - Token cost: 0 input · 0 output ## Graph Freshness -- Built from commit: `9d2023a7` +- Built from commit: `11efed41` - Run `git rev-parse HEAD` and compare to check if the graph is stale. - Run `graphify update .` after code changes (no API cost). @@ -636,12 +636,10 @@ - [[_COMMUNITY_Community 625|Community 625]] - [[_COMMUNITY_Community 631|Community 631]] - [[_COMMUNITY_Community 632|Community 632]] -- [[_COMMUNITY_Community 633|Community 633]] - [[_COMMUNITY_Community 634|Community 634]] - [[_COMMUNITY_Community 635|Community 635]] - [[_COMMUNITY_Community 636|Community 636]] - [[_COMMUNITY_Community 637|Community 637]] -- [[_COMMUNITY_Community 638|Community 638]] - [[_COMMUNITY_Community 639|Community 639]] - [[_COMMUNITY_Community 640|Community 640]] - [[_COMMUNITY_Community 641|Community 641]] @@ -668,7 +666,6 @@ - [[_COMMUNITY_Community 664|Community 664]] - [[_COMMUNITY_Community 665|Community 665]] - [[_COMMUNITY_Community 666|Community 666]] -- [[_COMMUNITY_Community 667|Community 667]] - [[_COMMUNITY_Community 668|Community 668]] - [[_COMMUNITY_Community 669|Community 669]] - [[_COMMUNITY_Community 671|Community 671]] @@ -677,7 +674,6 @@ - [[_COMMUNITY_Community 674|Community 674]] - [[_COMMUNITY_Community 675|Community 675]] - [[_COMMUNITY_Community 676|Community 676]] -- [[_COMMUNITY_Community 677|Community 677]] - [[_COMMUNITY_Community 678|Community 678]] - [[_COMMUNITY_Community 679|Community 679]] - [[_COMMUNITY_Community 680|Community 680]] @@ -689,11 +685,9 @@ - [[_COMMUNITY_Community 686|Community 686]] - [[_COMMUNITY_Community 687|Community 687]] - [[_COMMUNITY_Community 688|Community 688]] -- [[_COMMUNITY_Community 689|Community 689]] -- [[_COMMUNITY_Community 690|Community 690]] - [[_COMMUNITY_Community 691|Community 691]] - [[_COMMUNITY_Community 692|Community 692]] -- [[_COMMUNITY_Community 693|Community 693]] +- [[_COMMUNITY_Community 694|Community 694]] - [[_COMMUNITY_Community 695|Community 695]] - [[_COMMUNITY_Community 696|Community 696]] - [[_COMMUNITY_Community 697|Community 697]] @@ -703,29 +697,34 @@ - [[_COMMUNITY_Community 702|Community 702]] - [[_COMMUNITY_Community 703|Community 703]] - [[_COMMUNITY_Community 704|Community 704]] +- [[_COMMUNITY_Community 705|Community 705]] - [[_COMMUNITY_Community 706|Community 706]] +- [[_COMMUNITY_Community 707|Community 707]] - [[_COMMUNITY_Community 708|Community 708]] - [[_COMMUNITY_Community 709|Community 709]] - [[_COMMUNITY_Community 711|Community 711]] - [[_COMMUNITY_Community 712|Community 712]] -- [[_COMMUNITY_Community 713|Community 713]] -- [[_COMMUNITY_Community 714|Community 714]] -- [[_COMMUNITY_Community 715|Community 715]] +- [[_COMMUNITY_Community 717|Community 717]] +- [[_COMMUNITY_Community 718|Community 718]] - [[_COMMUNITY_Community 719|Community 719]] - [[_COMMUNITY_Community 720|Community 720]] +- [[_COMMUNITY_Community 721|Community 721]] - [[_COMMUNITY_Community 722|Community 722]] -- [[_COMMUNITY_Community 725|Community 725]] +- [[_COMMUNITY_Community 723|Community 723]] - [[_COMMUNITY_Community 726|Community 726]] -- [[_COMMUNITY_Community 727|Community 727]] - [[_COMMUNITY_Community 728|Community 728]] -- [[_COMMUNITY_Community 729|Community 729]] - [[_COMMUNITY_Community 730|Community 730]] - [[_COMMUNITY_Community 731|Community 731]] +- [[_COMMUNITY_Community 732|Community 732]] +- [[_COMMUNITY_Community 734|Community 734]] +- [[_COMMUNITY_Community 735|Community 735]] +- [[_COMMUNITY_Community 736|Community 736]] +- [[_COMMUNITY_Community 737|Community 737]] - [[_COMMUNITY_Community 738|Community 738]] ## God Nodes (most connected - your core abstractions) -1. `BaseController` - 78 edges -2. `ApiTestCase` - 74 edges +1. `BaseController` - 80 edges +2. `ApiTestCase` - 76 edges 3. `api` - 55 edges 4. `UserProfile` - 52 edges 5. `Clinic` - 50 edges @@ -738,23 +737,23 @@ ## Surprising Connections (you probably didn't know these) - `ServiceTariffModal()` --calls--> `formatNumber()` [EXTRACTED] assets/admin/components/ServiceTariffModal.tsx → assets/admin/lib/utils.ts -- `SmsPage()` --calls--> `formatDateTime()` [EXTRACTED] - assets/admin/pages/SmsPage.tsx → assets/admin/lib/utils.ts - `NewAppointmentModal()` --calls--> `useAuthStore` [EXTRACTED] assets/admin/pages/AppointmentsPage.tsx → assets/admin/stores/authStore.ts - `LogoUploadField()` --calls--> `useAuthStore` [EXTRACTED] assets/admin/pages/CategoriesPage.tsx → assets/admin/stores/authStore.ts - `TabActions()` --calls--> `useAuthStore` [EXTRACTED] assets/admin/pages/CategoriesPage.tsx → assets/admin/stores/authStore.ts +- `DashboardPage()` --calls--> `useAuthStore` [EXTRACTED] + assets/admin/pages/DashboardPage.tsx → assets/admin/stores/authStore.ts ## Import Cycles - None detected. -## Communities (722 total, 145 thin omitted) +## Communities (721 total, 145 thin omitted) ### Community 0 - "Community 0" Cohesion: 0.05 -Nodes (48): ALLOWED_ROLES, PrivateRoute(), PublicRoute(), RoleRoute(), queryClient, toastStyle, get, BeforeInstallPromptEvent (+40 more) +Nodes (43): ALLOWED_ROLES, PrivateRoute(), PublicRoute(), RoleRoute(), queryClient, toastStyle, AddForm, addSchema (+35 more) ### Community 1 - "Community 1" Cohesion: 0.03 @@ -769,8 +768,8 @@ Cohesion: 0.10 Nodes (20): `RepresentationActionController` — welcome به‌صورت inline (بدون تمپلت), `SmsMessageTemplate::DEFAULTS` (فاقد نام تمپلت و نگاشت token), `SmsService::sendNow` — انتخاب بین lookup و متن‌آزاد, الگوی فعلی همه‌ی call-siteها (به‌جز OTP) — متن‌آزاد، بدون `templateCode`, تبدیل همه‌ی پیامک‌های سیستمی به VerifyLookup کاوه‌نگار (تمپلت نام‌دار), تنها جای درست (OTP) — که باید الگوی بقیه شود, زمینه, فایل‌های مرتبط (+12 more) ### Community 4 - "Community 4" -Cohesion: 0.08 -Nodes (5): Doctor, Collection, self, User, WeeklySchedule +Cohesion: 0.06 +Nodes (8): DoctorService, Doctor, DoctorServiceRepository, Collection, self, User, WeeklySchedule, ManagerRegistry ### Community 5 - "Community 5" Cohesion: 0.07 @@ -785,8 +784,8 @@ Cohesion: 0.07 Nodes (5): Clinic, Collection, Doctor, self, User ### Community 8 - "Community 8" -Cohesion: 0.07 -Nodes (27): Contract, InsuranceOption, KIND_LABEL, AdminLayout(), Topbar(), DEGREE_OPTIONS, DoctorFormPage(), FormValues (+19 more) +Cohesion: 0.08 +Nodes (27): useSubscription(), AdminLayout(), avatarBg(), buildSections(), HUES, Props, ROLE_LABELS, Section (+19 more) ### Community 9 - "Community 9" Cohesion: 0.04 @@ -805,8 +804,8 @@ Cohesion: 0.05 Nodes (44): Clinic Doctor Invitation API, DELETE `/api/v1/admin/clinic/invitation/{invUuid}`, Errors, Errors, Errors, Errors, Errors, Errors (+36 more) ### Community 13 - "Community 13" -Cohesion: 0.08 -Nodes (21): api, ApiError, downloadFile(), getToken(), refreshOnce(), request(), { refreshMock, logoutMock }, replaceMock (+13 more) +Cohesion: 0.06 +Nodes (29): get, PaymentConfig, PaymentGatewayInfo, api, ApiError, downloadFile(), getToken(), refreshOnce() (+21 more) ### Community 14 - "Community 14" Cohesion: 0.10 @@ -817,12 +816,12 @@ Cohesion: 0.25 Nodes (7): PaymentController, Appointment, JsonResponse, Payment, Request, Response, User ### Community 16 - "Community 16" -Cohesion: 0.09 -Nodes (6): PatientSession, Appointment, Collection, PatientRecord, self, SessionService +Cohesion: 0.06 +Nodes (8): PatientSession, SmsWallet, AppLog, Appointment, Collection, PatientRecord, self, SessionService ### Community 17 - "Community 17" -Cohesion: 0.05 -Nodes (38): DELETE `/api/v1/comment/{uuid}`, Errors, Errors, Errors, Errors, Errors, Errors, Errors (+30 more) +Cohesion: 0.06 +Nodes (33): DELETE `/api/v1/comment/{uuid}`, Errors, Errors, Errors, Errors, Errors, Errors, Errors (+25 more) ### Community 18 - "Community 18" Cohesion: 0.05 @@ -830,7 +829,7 @@ Nodes (38): API, API, API, API, API, Route, Route, Route (+30 more) ### Community 19 - "Community 19" Cohesion: 0.03 -Nodes (59): CityForm, citySchema, ImportError, InsuranceForm, insuranceSchema, LogoUploadField(), ProvinceForm, provinceSchema (+51 more) +Nodes (88): ApiResponse, PaginatedResponse, STATUS_FILTERS, CityForm, citySchema, ImportError, InsuranceForm, insuranceSchema (+80 more) ### Community 20 - "Community 20" Cohesion: 0.13 @@ -838,11 +837,11 @@ Nodes (4): AdminApiController, JsonResponse, Request, StreamedResponse ### Community 21 - "Community 21" Cohesion: 0.05 -Nodes (34): formatNumber(), ClinicDetailPage(), AdminCharts, AdminDashboard(), AdminRecent, AdminStats, APPT_CLS, APPT_COLOR (+26 more) +Nodes (33): formatNumber(), ClinicDetailPage(), AdminCharts, AdminDashboard(), AdminRecent, AdminStats, APPT_CLS, APPT_COLOR (+25 more) ### Community 22 - "Community 22" -Cohesion: 0.09 -Nodes (15): RatingController, Like, Rate, CommentListNPlusOneTest, LikeRepository, RateRepository, JsonResponse, Request (+7 more) +Cohesion: 0.15 +Nodes (9): RatingController, Like, LikeRepository, JsonResponse, Request, User, Comment, ManagerRegistry (+1 more) ### Community 23 - "Community 23" Cohesion: 0.05 @@ -872,6 +871,10 @@ Nodes (4): Appointment, Doctor, self, User Cohesion: 0.06 Nodes (35): Bulk import / export, DELETE `/api/v1/admin/city/{id}`, DELETE `/api/v1/admin/province/{id}`, Errors, Errors, Errors, Errors, GET `/api/v1/admin/cities` (+27 more) +### Community 30 - "Community 30" +Cohesion: 0.09 +Nodes (13): BillingCalculatorTest, BillingCalculator, Money, BillingCalculator, InvoiceService, PatientService, CoverageRule, ShareBreakdown (+5 more) + ### Community 31 - "Community 31" Cohesion: 0.06 Nodes (33): `AppointmentStatusDropdown.tsx`, Doctor Tabs در داشبورد کلینیک, Pagination, `PersianCalendar.tsx`, Stats Bar, Status Badge (inline قابل کلیک), Status Dropdown (کلیک روی badge), Toolbar (+25 more) @@ -886,7 +889,7 @@ Nodes (21): CoverageRow, Draft, KIND, TenantInsurance, ServiceTariffModal(), Tar ### Community 34 - "Community 34" Cohesion: 0.06 -Nodes (35): require, doctrine/doctrine-bundle, doctrine/doctrine-migrations-bundle, doctrine/orm, ext-ctype, ext-iconv, ext-soap, lexik/jwt-authentication-bundle (+27 more) +Nodes (36): require, altcha-org/altcha, doctrine/doctrine-bundle, doctrine/doctrine-migrations-bundle, doctrine/orm, ext-ctype, ext-iconv, ext-soap (+28 more) ### Community 35 - "Community 35" Cohesion: 0.06 @@ -901,7 +904,7 @@ Cohesion: 0.06 Nodes (31): API endpoint موجود برای آدرس دکتر:, `DELETE /api/v1/clinic/{clinicUuid}/address/{addressUuid}` — حذف, `docs/api/appointment-settings.md`:, `docs/api/clinic.md`:, Endpoint موجود (workaround که حذف می‌شود):, Entity `DoctorAddress`:, Frontend موجود (`DoctorDetailPage.tsx`):, `GET /api/v1/clinic/{clinicUuid}/addresses` — لیست آدرس‌ها (+23 more) ### Community 38 - "Community 38" -Cohesion: 0.22 +Cohesion: 0.25 Nodes (8): Authentication API, DELETE `/api/v1/notification-mobile/{target}`, Errors, Notification Mobile (OTP), POST `/oauth/logout`, Request Body, Response `200`, Response `200` ### Community 39 - "Community 39" @@ -913,8 +916,8 @@ Cohesion: 0.09 Nodes (4): User, PasswordAuthenticatedUserInterface, self, UserInterface ### Community 41 - "Community 41" -Cohesion: 0.07 -Nodes (29): ApiResponse, PaginatedResponse, STATUS_FILTERS, FILTERS, Breakdown, SOURCE_LABEL, Summary, LEVEL_FILTER_OPTIONS (+21 more) +Cohesion: 0.11 +Nodes (17): endpointهای عمومی که باید محافظت شوند, زمینه, مشکل / هدف, نکات مهم, وضعیت فعلی, وظایف, پروژه, یکپارچه‌سازی ALTCHA (کپچای Self-Hosted، Proof-of-Work) روی endpointهای عمومی (+9 more) ### Community 42 - "Community 42" Cohesion: 0.07 @@ -945,8 +948,8 @@ Cohesion: 0.11 Nodes (4): Payment, Appointment, self, User ### Community 49 - "Community 49" -Cohesion: 0.07 -Nodes (22): AppointmentsPage(), BookingSlot, CancelledBadge(), DateNavigator(), EMPTY_ARR, getPersianWeekDay(), navBtnSx, NewAppointmentModal() (+14 more) +Cohesion: 0.08 +Nodes (19): AppointmentsPage(), BookingSlot, CancelledBadge(), DateNavigator(), EMPTY_ARR, getPersianWeekDay(), navBtnSx, NewAppointmentModal() (+11 more) ### Community 50 - "Community 50" Cohesion: 0.07 @@ -961,8 +964,8 @@ Cohesion: 0.07 Nodes (26): الزامات UI, باگ‌فیکس صفحه نوبت‌ها, باگ ۱ — کرش تقویم, باگ ۲ — روز هفته در DateNavigator, باگ ۳ — پیام «slot نیست», باگ ۴ — نوبت جدید: نام اجباری + find-or-create patient, باگ ۵ — patient_mobile نشان می‌دهد موبایل پزشک, باگ ۶ — نوبت‌های رزرو شده در نمایش زمانبندی (+18 more) ### Community 53 - "Community 53" -Cohesion: 0.08 -Nodes (15): AppLogRepository, ClaimItemRepository, InvoiceItemRepository, PreRegistrationRepository, SessionServiceRepository, SiteConfigRepository, ServiceEntityRepository, ManagerRegistry (+7 more) +Cohesion: 0.10 +Nodes (13): AppLogRepository, ClaimItemRepository, PreRegistrationRepository, ProvinceRepository, SessionServiceRepository, ServiceEntityRepository, ManagerRegistry, ManagerRegistry (+5 more) ### Community 54 - "Community 54" Cohesion: 0.10 @@ -1001,12 +1004,12 @@ Cohesion: 0.08 Nodes (25): Bulk import / export, DELETE `/api/v1/admin/specialty/{id}`, Errors, Errors, Errors, Errors, GET `/api/v1/admin/specialties`, GET `/api/v1/specialties` (+17 more) ### Community 63 - "Community 63" -Cohesion: 0.05 -Nodes (45): FreeVisitPrice(), Pricing, cn(), formatDateTime(), formatRial(), iranMobileOptionalSchema, iranMobileSchema, isValidIranMobile() (+37 more) +Cohesion: 0.06 +Nodes (42): FreeVisitPrice(), Pricing, cn(), formatRial(), iranMobileOptionalSchema, iranMobileSchema, isValidIranMobile(), maskMobile() (+34 more) ### Community 64 - "Community 64" -Cohesion: 0.19 -Nodes (7): SmsWalletController, SmsSettingsRepository, SmsSettings, JsonResponse, Request, User, ManagerRegistry +Cohesion: 0.29 +Nodes (4): SmsWalletController, JsonResponse, Request, User ### Community 65 - "Community 65" Cohesion: 0.08 @@ -1029,8 +1032,8 @@ Cohesion: 0.15 Nodes (12): رفع بهم‌ریختگی کامل پنل ادمین روی iPhone 8 (Safari/Chrome iOS), زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی, وظایف, پروژه (+4 more) ### Community 71 - "Community 71" -Cohesion: 0.09 -Nodes (19): AddForm, addSchema, ClinicsPage(), HUES_LIST, EMPTY, PreRegistration, STATUS_META, STATUS_TABS (+11 more) +Cohesion: 0.08 +Nodes (22): Contract, InsuranceOption, KIND_LABEL, ChargeForm, chargeSchema, EMPTY_LOGS, POST_VISIT_VARS, REMINDER_HOUR_OPTIONS (+14 more) ### Community 72 - "Community 72" Cohesion: 0.09 @@ -1081,8 +1084,8 @@ Cohesion: 0.07 Nodes (30): devDependencies, @babel/core, @babel/preset-env, @babel/preset-react, @babel/preset-typescript, core-js, @csstools/postcss-oklab-function, @hotwired/stimulus (+22 more) ### Community 86 - "Community 86" -Cohesion: 0.06 -Nodes (15): AppointmentExpiryServiceTest, DateOverrideOwnershipTest, LowTierFixesTest, SendCodeMobileRateLimitTest, ClaimsListPaginationTest, ServiceItemStaffOwnershipTest, EntityManagerInterface, KernelBrowser (+7 more) +Cohesion: 0.05 +Nodes (16): AppointmentExpiryServiceTest, LowTierFixesTest, SendCodeMobileRateLimitTest, ClaimsListPaginationTest, CaptchaFlowTest, ServiceItemStaffOwnershipTest, EntityManagerInterface, KernelBrowser (+8 more) ### Community 87 - "Community 87" Cohesion: 0.10 @@ -1105,7 +1108,7 @@ Cohesion: 0.10 Nodes (20): DELETE `/api/v1/admin/users/{uuid}`, Errors, Errors, GET `/api/v1/admin/users`, GET `/api/v1/admin/users/stats`, GET `/api/v1/admin/users/{uuid}`, POST `/api/v1/admin/users/{uuid}/status`, PUT `/api/v1/admin/users/{uuid}` (+12 more) ### Community 92 - "Community 92" -Cohesion: 0.09 +Cohesion: 0.10 Nodes (21): Bulk import / export, DELETE `/api/v1/admin/doctor-service/{id}`, Doctor Service API, Errors, Errors, Errors, Errors, GET `/api/v1/admin/doctor-services` (+13 more) ### Community 93 - "Community 93" @@ -1169,8 +1172,8 @@ Cohesion: 0.33 Nodes (6): AppointmentController, Appointment, Doctor, JsonResponse, Request, User ### Community 108 - "Community 108" -Cohesion: 0.13 -Nodes (10): BaseController, CategoryController, CategoryImportController, SiteContextController, JsonResponse, JsonResponse, Request, JsonResponse (+2 more) +Cohesion: 0.11 +Nodes (12): CaptchaController, BaseController, CategoryController, CategoryImportController, SiteContextController, JsonResponse, JsonResponse, Request (+4 more) ### Community 109 - "Community 109" Cohesion: 0.29 @@ -1377,8 +1380,8 @@ Cohesion: 0.13 Nodes (13): Architecture, Auth, Backend (PHP/Symfony), Backend — `src/`, Category / Bundle system, Commands, Database, First-time setup (+5 more) ### Community 163 - "Community 163" -Cohesion: 0.13 -Nodes (14): autoload, autoload-dev, psr-4, psr-4, conflict, symfony/symfony, description, license (+6 more) +Cohesion: 0.11 +Nodes (18): autoload, autoload-dev, psr-4, psr-4, conflict, symfony/symfony, description, extra (+10 more) ### Community 164 - "Community 164" Cohesion: 0.29 @@ -1401,8 +1404,8 @@ Cohesion: 0.10 Nodes (20): api.ir (استعلام هویت — Shahkar / IbanMatch), اتصال به دیتابیس‌های مستقل (الزامی), اسرار (الزامی — قبل از اولین دیپلوی), امنیت و منابع, بررسی سلامت, دامنه‌ها و CORS, دیپلوی‌های بعدی, راهنمای دیپلوی ClinicPro (Coolify + Docker Compose) (+12 more) ### Community 169 - "Community 169" -Cohesion: 0.22 -Nodes (4): EntityInsurancePricing, TenantInsuranceCleanupTest, EntityInsurancePricingRepository, ManagerRegistry +Cohesion: 0.15 +Nodes (5): EntityInsurancePricing, TenantInsuranceCleanupTest, EntityInsurancePricingRepository, TenantInsuranceCleanupService, ManagerRegistry ### Community 170 - "Community 170" Cohesion: 0.13 @@ -1452,10 +1455,6 @@ Nodes (3): PatientRecord, Collection, User Cohesion: 0.23 Nodes (3): WeeklySchedule, Doctor, self -### Community 182 - "Community 182" -Cohesion: 0.07 -Nodes (5): SmsSettings, SmsWallet, LogPruneService, AppointmentExpiryService, self - ### Community 183 - "Community 183" Cohesion: 0.14 Nodes (13): `UserDetailPage.tsx` — فقط user query, زمینه, فایل‌های مرتبط, قرارداد پروفایل (`UserProfile.toArray`), مشکل / هدف, نمایش پروفایل کاربر در صفحه‌ی جزئیات کاربرِ پنل ادمین, نکات مهم, وضعیت فعلی (کد واقعی) (+5 more) @@ -1526,7 +1525,7 @@ Nodes (13): Endpoint ها, PATCH /api/v1/secretary/{uuid}, POST /api/v1/secretar ### Community 201 - "Community 201" Cohesion: 0.12 -Nodes (16): Admin API, Clinic Invitation Management, Dashboard, GET `/api/v1/admin/dashboard/charts`, GET `/api/v1/admin/dashboard/recent`, GET `/api/v1/admin/dashboard/stats`, GET `/api/v1/admin/pre-registrations`, GET /api/v1/admin/settings (+8 more) +Nodes (16): Admin API, Clinic Invitation Management, Dashboard, GET `/api/v1/admin/dashboard/charts`, GET `/api/v1/admin/dashboard/recent`, GET `/api/v1/admin/dashboard/stats`, GET `/api/v1/admin/representations`, GET /api/v1/admin/settings (+8 more) ### Community 202 - "Community 202" Cohesion: 0.15 @@ -1545,8 +1544,8 @@ Cohesion: 0.07 Nodes (20): Command, CancelExpiredAppointmentsCommand, CreateAdminCommand, PruneLogsCommand, SeedCategoriesCommand, SeedDemoDataCommand, SeedSmsMessageTemplatesCommand, InputInterface (+12 more) ### Community 206 - "Community 206" -Cohesion: 0.08 -Nodes (14): MellatGateway, MockGateway, SepGateway, SoapClient, PaymentGatewayInterface, PaymentInitResult, PaymentRefundResult, PaymentVerifyResult (+6 more) +Cohesion: 0.06 +Nodes (17): GatewayFactory, MellatGateway, MockGateway, SepGateway, MellatGateway, SepGateway, SoapClient, PaymentGatewayInterface (+9 more) ### Community 207 - "Community 207" Cohesion: 0.15 @@ -1605,8 +1604,8 @@ Cohesion: 0.23 Nodes (5): PaymentRepository, Appointment, ManagerRegistry, Payment, User ### Community 225 - "Community 225" -Cohesion: 0.09 -Nodes (18): formatDate(), toDate(), ALL_STATUSES, AppointmentDetailPage(), timeOf(), Claim, ClaimItem, DebtRow (+10 more) +Cohesion: 0.05 +Nodes (36): formatDate(), formatDateTime(), toDate(), ALL_STATUSES, AppointmentDetailPage(), timeOf(), Claim, ClaimItem (+28 more) ### Community 226 - "Community 226" Cohesion: 0.15 @@ -1617,8 +1616,8 @@ Cohesion: 0.17 Nodes (11): تشخیص عمیق down شدن سرور بعد از ~۱۰ سیکل + وریفای و تکمیل فیکس‌های پایداری, زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی, وظایف, ۱. وریفای فیکس‌های repo (idempotent) (+3 more) ### Community 228 - "Community 228" -Cohesion: 0.04 -Nodes (47): Bulk import / export, DELETE `/api/v1/admin/insurance/{id}`, DELETE `/api/v1/billing/tenant-insurances/{uuid}`, DELETE `/api/v1/insurance/{id}`, EntityInsurancePricing — قیمت‌گذاری ویزیت بر اساس بیمه, Errors, Errors, Errors (+39 more) +Cohesion: 0.20 +Nodes (10): Bulk import / export, DELETE `/api/v1/admin/insurance/{id}`, DELETE `/api/v1/insurance/{id}`, EntityInsurancePricing — قیمت‌گذاری ویزیت بر اساس بیمه, GET `/api/v1/insurance/{id}`, Insurance API, Response `200`, Response `200` (+2 more) ### Community 229 - "Community 229" Cohesion: 0.14 @@ -1793,12 +1792,12 @@ Cohesion: 0.18 Nodes (10): Endpoint های موجود که تغییر می‌کنند, GET /api/v1/admin/dashboard/charts?from=UNIX&to=UNIX, GET /api/v1/dashboard/clinic, GET /api/v1/dashboard/doctor, تسک ۱۶: داشبورد هوشمند — چارت + فیلتر زمانی, توضیح, زمان تخمینی, فیلتر بازه زمانی (+2 more) ### Community 274 - "Community 274" -Cohesion: 0.20 +Cohesion: 0.15 Nodes (5): Authentication, ClinicPro — API Documentation Index, Error Code Reference, Modules, Standard Response Envelope ### Community 275 - "Community 275" -Cohesion: 0.24 -Nodes (4): MellatGateway, MellatGatewayTest, ErrorCodesTest, TestCase +Cohesion: 0.19 +Nodes (5): MellatGatewayTest, ErrorCodesTest, KavehNegarProviderTest, TestCase, KavehNegarProvider ### Community 276 - "Community 276" Cohesion: 0.20 @@ -1897,8 +1896,8 @@ Cohesion: 0.42 Nodes (3): PreRegistrationController, JsonResponse, Request ### Community 301 - "Community 301" -Cohesion: 0.07 -Nodes (18): ClinicAddress, ClinicDoctorItem, ClinicInvitation, EditForm, editSchema, HUES_LIST, INV_STATUS_MAP, IRAN_CENTER (+10 more) +Cohesion: 0.06 +Nodes (22): ClinicAddress, ClinicDoctorItem, ClinicInvitation, EditForm, editSchema, HUES_LIST, INV_STATUS_MAP, IRAN_CENTER (+14 more) ### Community 302 - "Community 302" Cohesion: 0.12 @@ -1910,7 +1909,7 @@ Nodes (16): آماده‌سازی پروژه ClinicPro برای دیپلوی ر ### Community 304 - "Community 304" Cohesion: 0.04 -Nodes (47): 29. 🟢 `GET` clinic list 🆕, 30. 🟢 `GET` get 🆕, 33. 🔵 `POST` image_clinic, 34. 🔵 `POST` image logo, 36. 🟢 `GET` get my rate, 37. 🔵 `POST` post, 38. 🟢 `GET` Unapproved comments, 39. 🟡 `PATCH` Comment confirmation (+39 more) +Nodes (48): 29. 🟢 `GET` clinic list 🆕, 30. 🟢 `GET` get 🆕, 33. 🔵 `POST` image_clinic, 34. 🔵 `POST` image logo, 35. 🟡 `PATCH` patch, 36. 🟢 `GET` get my rate, 37. 🔵 `POST` post, 38. 🟢 `GET` Unapproved comments (+40 more) ### Community 306 - "Community 306" Cohesion: 0.07 @@ -2009,8 +2008,8 @@ Cohesion: 0.22 Nodes (8): Query های جدید, بیماران منحصربه‌فرد در بازه, درآمد بر اساس روز (از patient_sessions), فروش اشتراک بر اساس پنل (admin), نوبت‌ها بر اساس روز (admin chart), نکات مهم, هیچ migration لازم نیست, پایگاه داده — تسک ۱۶: داشبورد هوشمند ### Community 333 - "Community 333" -Cohesion: 0.25 -Nodes (7): DELETE `/api/v1/clinic-pro/doctor-address/{id}`, Doctor API, Errors, GET `/api/v1/doctors`, Query Parameters, Response `200`, Response `200` +Cohesion: 0.05 +Nodes (41): DELETE `/api/v1/clinic-pro/doctor-address/{id}`, DELETE `/api/v1/doctor/{uuid}`, Doctor API, Errors, Errors, Errors, Errors, Errors (+33 more) ### Community 334 - "Community 334" Cohesion: 0.25 @@ -2065,8 +2064,8 @@ Cohesion: 0.11 Nodes (18): زمینه, فاز ۰ — Baseline, فاز ۱ — قرارداد پاسخ و Envelope, فاز ۲ — احراز هویت و مجوزها (Auth / RBAC), فاز ۳ — اعتبارسنجی ورودی و مدیریت خطا, فاز ۴ — امنیت API, فاز ۵ — پنل ادمین React SPA, فاز ۶ — یکپارچگی و سناریوهای واقعی کاربر (E2E) (+10 more) ### Community 348 - "Community 348" -Cohesion: 0.39 -Nodes (3): ProvinceRepository, ManagerRegistry, Province +Cohesion: 0.43 +Nodes (3): SmsTemplateRepository, SmsTemplate, ManagerRegistry ### Community 349 - "Community 349" Cohesion: 0.18 @@ -2137,8 +2136,8 @@ Cohesion: 0.25 Nodes (7): ادمین, دکتر نمونه کامل — تبریز, دکتران bulk (۱۵۰۰ دکتر در ۱۵ شهر), ساخت مجدد, منشی دکتر نمونه, کاربران تستی, کلینیک نمونه — تبریز ### Community 367 - "Community 367" -Cohesion: 0.13 -Nodes (12): AdminUserDetail, AVATAR_COLORS, EditForm, editSchema, GENDER_LABELS, getPrimaryRole(), MARITAL_LABELS, MEDICAL_SECTIONS (+4 more) +Cohesion: 0.18 +Nodes (5): Altcha, AltchaService, altcha, AltchaProps, IntrinsicElements ### Community 368 - "Community 368" Cohesion: 0.36 @@ -2258,7 +2257,7 @@ Nodes (7): initiate(), refund(), reverse(), verify(), PaymentInitResult, Payment ### Community 399 - "Community 399" Cohesion: 0.23 -Nodes (5): AbstractMigration, Schema, Version20260609130407, Schema, Version20260611075829 +Nodes (5): AbstractMigration, Schema, Version20260609130407, Schema, Version20260628165710 ### Community 401 - "Community 401" Cohesion: 0.12 @@ -2269,7 +2268,7 @@ Cohesion: 0.11 Nodes (17): بازطراحی معماری پرداخت — سرویس‌محور، امن، توسعه‌پذیر (Backend), تست دستی (ddev، در حالت `payment_test_mode=1`), خروجی نهایی (طبق spec — در گزارش اجرا ارائه شود), زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی (+9 more) ### Community 407 - "Community 407" -Cohesion: 0.15 +Cohesion: 0.16 Nodes (11): MessageBusInterface, MockObject, SmsService, SmsServiceLookupOnlyTest, SmsLogRepository, SmsMessageTemplateRepository, SmsService, SmsTextResolver (+3 more) ### Community 418 - "Community 418" @@ -2408,10 +2407,6 @@ Nodes (3): CommissionService, Payment, Representation Cohesion: 0.29 Nodes (6): Appointment Settings API, Available Locations, Errors, `GET /api/v1/appointment-settings/available-locations/{doctorUuid}`, Response `200`, Slot Calculation Logic (Reference) -### Community 485 - "Community 485" -Cohesion: 0.43 -Nodes (3): SmsMessageController, JsonResponse, Request - ### Community 486 - "Community 486" Cohesion: 0.40 Nodes (5): ۲.۸ تنظیمات نوبت (Appointment Settings), ۲.۸.۱ برنامه هفتگی (Weekly Schedule), ۲.۸.۲ تعطیلات (Holidays), ۲.۸.۳ لغو تعطیل (Date Override), ۲.۸.۴ الگوریتم محاسبه اسلات‌های خالی @@ -2425,8 +2420,8 @@ Cohesion: 0.40 Nodes (5): Admin Endpoints, GET /api/v1/admin/sms/settings/review, GET /api/v1/admin/sms/wallet-report, POST /api/v1/admin/sms/settings/{id}/approve, POST /api/v1/admin/sms/settings/{id}/reject ### Community 490 - "Community 490" -Cohesion: 0.06 -Nodes (29): PaymentConfig, PaymentGatewayInfo, usePaymentConfig(), emptyFeatures(), FEATURE_KEYS, FEATURE_LABELS, PeriodForm, periodSchema (+21 more) +Cohesion: 0.10 +Nodes (18): usePaymentConfig(), emptyFeatures(), FEATURE_KEYS, FEATURE_LABELS, PeriodForm, periodSchema, PLAN_DISPLAY, PlanForm (+10 more) ### Community 491 - "Community 491" Cohesion: 0.12 @@ -2665,16 +2660,16 @@ Cohesion: 0.50 Nodes (4): Errors, POST `/api/v1/admin/sms/template/{uuid}/reject`, Request Body, Response `200` ### Community 559 - "Community 559" -Cohesion: 0.25 -Nodes (4): SmsMessageTemplateRepository, SmsTextResolver, SmsMessageTemplate, ManagerRegistry +Cohesion: 0.16 +Nodes (7): SmsMessageController, SmsMessageTemplateRepository, SmsTextResolver, SmsMessageTemplate, JsonResponse, Request, ManagerRegistry ### Community 560 - "Community 560" Cohesion: 0.50 Nodes (4): GET /api/v1/sms/wallet/balance, GET /api/v1/sms/wallet/logs, POST /api/v1/sms/wallet/charge, SMS Wallet ### Community 561 - "Community 561" -Cohesion: 0.43 -Nodes (3): BaseKernel, MicroKernelTrait, Kernel +Cohesion: 0.19 +Nodes (6): BaseKernel, Closure, CorsRegexEnvProcessor, EnvVarProcessorInterface, MicroKernelTrait, Kernel ### Community 563 - "Community 563" Cohesion: 0.67 @@ -2709,8 +2704,8 @@ Cohesion: 0.12 Nodes (15): دیپلوی ClinicPro (Symfony) روی لیارا با Docker, زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی (کد واقعی), وظایف, پروژه (+7 more) ### Community 577 - "Community 577" -Cohesion: 0.39 -Nodes (3): DoctorService, DoctorServiceRepository, ManagerRegistry +Cohesion: 0.38 +Nodes (5): Rate, RateRepository, Doctor, ManagerRegistry, User ### Community 581 - "Community 581" Cohesion: 0.50 @@ -2749,21 +2744,21 @@ Cohesion: 0.50 Nodes (3): Entity: Payment, ساختار فایل‌ها, معماری — تسک ۱۵: ماژول پرداخت ### Community 595 - "Community 595" -Cohesion: 0.40 -Nodes (5): Errors, GET `/api/v1/clinic/my-doctor/{doctorUuid}`, Path Parameters, Response `200`, Schedule Fields Notes +Cohesion: 0.43 +Nodes (3): SmsLogRepository, SmsLog, ManagerRegistry + +### Community 596 - "Community 596" +Cohesion: 0.15 +Nodes (3): LoggerInterface, RanginehProvider, ApiIrService ### Community 597 - "Community 597" -Cohesion: 0.29 -Nodes (7): Configuration, Errors, GET `/api/v1/admin/sms/templates`, GET `/api/v1/sms/template/{uuid}`, Response `200`, Response `200`, SMS API +Cohesion: 0.20 +Nodes (10): Configuration, Errors, GET `/api/v1/admin/sms/templates`, GET `/api/v1/sms/template/{uuid}`, POST `/api/v1/admin/sms/template/{uuid}/approve`, Request Body (`application/json`), Response `200`, Response `200` (+2 more) ### Community 599 - "Community 599" Cohesion: 0.67 Nodes (3): Errors, POST `/api/v1/sms/template/{uuid}/submit`, Response `200` -### Community 600 - "Community 600" -Cohesion: 0.67 -Nodes (3): POST `/api/v1/admin/sms/template/{uuid}/approve`, Request Body (`application/json`), Response `200` - ### Community 603 - "Community 603" Cohesion: 0.67 Nodes (3): Anti-Pattern هایی که مشاهده می‌شوند, Pattern هایی که استفاده شده‌اند, ۳. تحلیل Design Patterns @@ -2785,16 +2780,20 @@ Cohesion: 0.67 Nodes (3): بک‌اند, فرانت‌اند, وضعیت فعلی کد (مهم — قبل از تغییر بخوان) ### Community 618 - "Community 618" -Cohesion: 0.12 -Nodes (6): ServiceItemDeleteCleanupTest, ServiceCoverageNPlusOneTest, TenantServiceCoverageRepository, TenantInsuranceCleanupService, ManagerRegistry, TenantServiceCoverage +Cohesion: 0.16 +Nodes (5): ServiceItemDeleteCleanupTest, ServiceCoverageNPlusOneTest, TenantServiceCoverageRepository, ManagerRegistry, TenantServiceCoverage + +### Community 625 - "Community 625" +Cohesion: 0.40 +Nodes (5): 31. 🟡 `PATCH` patch, Request Body, مثال Request, هدرهای اضافی, پاسخ‌ها ### Community 631 - "Community 631" Cohesion: 0.50 -Nodes (4): GET `/api/v1/admin/representations`, Query Parameters, Representation Management, Response `200` +Nodes (4): 40. 🔵 `POST` post, مثال Request, هدرهای اضافی, پاسخ‌ها ### Community 632 - "Community 632" Cohesion: 0.50 -Nodes (4): DELETE `/api/v1/doctor/{uuid}`, Errors, Path Parameters, Response `200` +Nodes (4): GET `/api/v1/admin/pre-registrations`, POST `/api/v1/admin/pre-registrations/{uuid}/approve`, POST `/api/v1/admin/pre-registrations/{uuid}/reject`, Pre-Registration Management ### Community 634 - "Community 634" Cohesion: 0.47 @@ -2804,10 +2803,6 @@ Nodes (3): ImageCropModalProps, createImage(), getCroppedImage() Cohesion: 0.12 Nodes (16): Runbook — تشخیص «ری‌استارت» سرور: recycle عادی یا خرابی واقعی؟, اقدامات تکمیلی روی سرور (خارج از repo), تأیید روی سرور — اسکریپت آماده, جدول تفسیر خروجی اسکریپت, خلاصه یک‌خطی, علامت مشکل, چرا این اتفاق می‌افتاد (و فیکس اعمال‌شده), چک‌لیست رفع (+8 more) -### Community 638 - "Community 638" -Cohesion: 0.40 -Nodes (5): Errors, PATCH `/api/v1/doctor/{uuid}`, Path Parameters, Request Body (`application/json`), Response `200` - ### Community 640 - "Community 640" Cohesion: 0.40 Nodes (5): Errors, Notes, POST `/api/v1/notification-mobile/request-otp`, Request Body, Response `200` @@ -2845,8 +2840,8 @@ Cohesion: 0.38 Nodes (5): MyAppointmentsController, Doctor, JsonResponse, Request, User ### Community 656 - "Community 656" -Cohesion: 0.43 -Nodes (3): SmsTemplateRepository, SmsTemplate, ManagerRegistry +Cohesion: 0.33 +Nodes (6): Captcha API (ALTCHA), GET `/api/v1/altcha/challenge`, Response `200`, اعمال کپچا روی endpointهای محافظت‌شده, امنیت, خطای اعتبارسنجی کپچا `422` ### Community 657 - "Community 657" Cohesion: 0.20 @@ -2862,16 +2857,12 @@ Nodes (4): ClinicInvitationService, Clinic, ClinicDoctorInvitation, User ### Community 661 - "Community 661" Cohesion: 0.43 -Nodes (3): SmsLogRepository, SmsLog, ManagerRegistry +Nodes (5): BeforeInstallPromptEvent, usePwaInstall(), PwaInstallBanner(), detectIOS(), PwaLoginCard() ### Community 662 - "Community 662" Cohesion: 0.20 Nodes (10): Application Logs, DELETE `/api/v1/admin/logs`, GET `/api/v1/admin/logs`, GET `/api/v1/admin/logs/export`, Log Retention, Query Parameters, Query Parameters, Response `200` (+2 more) -### Community 667 - "Community 667" -Cohesion: 0.40 -Nodes (5): Errors, PATCH `/api/v1/clinic-pro/doctor-address/{id}`, Path Parameters, Request Body, Response `200` - ### Community 672 - "Community 672" Cohesion: 0.17 Nodes (11): تشخیص «ری‌استارت» سرور روی Coolify + رفع نویز لاگ + بررسی خطای ACME, زمینه, فایل‌های مرتبط, نکات مهم, وضعیت فعلی, وظایف, پروژه, ۱. کاهش نویز لاگ workerها (بدون تغییر رفتار) (+3 more) @@ -2881,8 +2872,8 @@ Cohesion: 0.50 Nodes (4): Errors, POST `/api/v1/user/register`, Request Body, Response `201` ### Community 674 - "Community 674" -Cohesion: 0.40 -Nodes (3): Props, StatTone, TONE +Cohesion: 0.43 +Nodes (3): InvoiceItemRepository, InvoiceItem, ManagerRegistry ### Community 675 - "Community 675" Cohesion: 0.50 @@ -2892,10 +2883,6 @@ Nodes (4): GET `/api/v1/admin/secretaries`, Query Parameters, Response `200`, Se Cohesion: 0.50 Nodes (4): Errors, POST `/api/v1/doctor`, Request Body (`application/json`), Response `201` -### Community 677 - "Community 677" -Cohesion: 0.50 -Nodes (4): Errors, GET `/api/v1/doctor/{uuid}`, Path Parameters, Response `200` - ### Community 678 - "Community 678" Cohesion: 0.50 Nodes (4): Errors, POST `/oauth/token`, Request Body, Response `200` @@ -2916,21 +2903,9 @@ Nodes (5): GET `/api/v1/admin/comments`, GET `/api/v1/admin/rates`, Query Parame Cohesion: 0.50 Nodes (4): Errors, PATCH `/api/v1/admin/insurance/{id}`, Path Parameters, Response `200` -### Community 689 - "Community 689" -Cohesion: 0.50 -Nodes (4): Errors, POST `/api/v1/clinic-pro/doctor-address`, Request Body, Response `201` - -### Community 690 - "Community 690" -Cohesion: 0.50 -Nodes (4): Errors, Path Parameters, POST `/api/v1/clinic-pro/doctor-address/from-clinic/{clinicUuid}`, Response `201` - -### Community 692 - "Community 692" -Cohesion: 0.50 -Nodes (4): extra, symfony, allow-contrib, require - -### Community 693 - "Community 693" -Cohesion: 0.67 -Nodes (3): GET `/api/v1/clinic-pro/doctor-addresses/{doctorId}`, Path Parameters, Response `200` +### Community 694 - "Community 694" +Cohesion: 0.48 +Nodes (3): SmsSettingsRepository, SmsSettings, ManagerRegistry ### Community 695 - "Community 695" Cohesion: 0.67 @@ -2952,37 +2927,41 @@ Nodes (11): رفع خطای `Class "SoapClient" not found` در پرداخت م Cohesion: 0.40 Nodes (5): 32. 🔵 `POST` post, Request Body, مثال Request, هدرهای اضافی, پاسخ‌ها +### Community 705 - "Community 705" +Cohesion: 0.40 +Nodes (5): DELETE `/api/v1/billing/tenant-insurances/{uuid}`, GET `/api/v1/billing/tenant-insurances`, PATCH `/api/v1/billing/tenant-insurances/{uuid}`, POST `/api/v1/billing/tenant-insurances`, TenantInsurance — قراردادهای بیمه‌ی tenant (فاز ۱ سیستم صورتحساب) + ### Community 706 - "Community 706" Cohesion: 0.53 Nodes (3): PaymentLog, PaymentLogRepository, ManagerRegistry -### Community 708 - "Community 708" -Cohesion: 0.33 -Nodes (4): PatientService, Appointment, PatientRecord, PatientSession +### Community 707 - "Community 707" +Cohesion: 0.40 +Nodes (5): Errors, Path Parameters, POST `/api/v1/like/{commentUuid}`, Request Body (`application/json`), Response `200` ### Community 712 - "Community 712" Cohesion: 0.50 Nodes (4): 44. 🟢 `GET` list comment, هدرهای اضافی, پارامترهای Query, پاسخ‌ها -### Community 714 - "Community 714" -Cohesion: 0.40 -Nodes (5): 31. 🟡 `PATCH` patch, Request Body, مثال Request, هدرهای اضافی, پاسخ‌ها +### Community 718 - "Community 718" +Cohesion: 0.50 +Nodes (4): Errors, GET `/api/v1/admin/insurances`, Query Parameters, Response `200` -### Community 715 - "Community 715" -Cohesion: 0.40 -Nodes (5): 35. 🟡 `PATCH` patch, Request Body, مثال Request, هدرهای اضافی, پاسخ‌ها +### Community 719 - "Community 719" +Cohesion: 0.50 +Nodes (4): Errors, POST `/api/v1/admin/insurance`, Request Body (`application/json`), Response `201` ### Community 720 - "Community 720" -Cohesion: 0.33 -Nodes (3): Closure, CorsRegexEnvProcessor, EnvVarProcessorInterface +Cohesion: 0.50 +Nodes (4): Errors, POST `/api/v1/insurance/`, Request Body (`application/json`), Response `201` -### Community 725 - "Community 725" -Cohesion: 0.43 -Nodes (3): InvoiceService, Invoice, PatientSession +### Community 721 - "Community 721" +Cohesion: 0.50 +Nodes (4): Errors, PATCH `/api/v1/insurance/{id}`, Request Body, Response `200` -### Community 727 - "Community 727" -Cohesion: 0.53 -Nodes (4): Money, BillingCalculator, CoverageRule, ShareBreakdown +### Community 723 - "Community 723" +Cohesion: 0.50 +Nodes (4): PUT `/api/v1/insurance-pricing`, Request Body, Response `200`, خطاها ### Community 728 - "Community 728" Cohesion: 0.50 @@ -2996,28 +2975,44 @@ Nodes (3): Errors, GET `/api/v1/notification-mobile/{target}`, Response `200` Cohesion: 0.67 Nodes (3): GET `/api/v1/representation/{uuid}/dashboard/yearly`, Query Parameters, Response `200` +### Community 734 - "Community 734" +Cohesion: 0.67 +Nodes (3): GET `/api/v1/billing/tenant-insurances/{uuid}/service-coverage`, PUT `/api/v1/billing/tenant-insurances/{uuid}/service-coverage`, TenantServiceCoverage — پوشش خدمت تحت یک قرارداد بیمه (فاز ۲) + +### Community 735 - "Community 735" +Cohesion: 0.67 +Nodes (3): GET `/api/v1/insurance-pricing`, Response `200`, خطاها + +### Community 736 - "Community 736" +Cohesion: 0.67 +Nodes (3): GET `/api/v1/insurances`, Query Parameters, Response `200` + +### Community 737 - "Community 737" +Cohesion: 0.67 +Nodes (3): POST `/api/v1/admin/insurance/{id}/upload-logo`, Request, Response `200` + ### Community 738 - "Community 738" Cohesion: 0.50 Nodes (4): Errors, GET `/api/v1/representation/{uuid}`, Path Parameters, Response `200` ## Knowledge Gaps -- **4009 isolated node(s):** `ALLOWED_ROLES`, `Pricing`, `ImageCropModalProps`, `TenantInsurance`, `CoverageRow` (+4004 more) +- **4030 isolated node(s):** `ALLOWED_ROLES`, `Pricing`, `ImageCropModalProps`, `TenantInsurance`, `CoverageRow` (+4025 more) These have ≤1 connection - possible missing edges or undocumented components. - **145 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. ## Suggested Questions _Questions this graph is uniquely positioned to answer:_ -- **Why does `BaseController` connect `Community 108` to `Community 6`, `Community 138`, `Community 139`, `Community 14`, `Community 654`, `Community 655`, `Community 15`, `Community 20`, `Community 22`, `Community 26`, `Community 164`, `Community 295`, `Community 424`, `Community 300`, `Community 433`, `Community 308`, `Community 58`, `Community 59`, `Community 318`, `Community 64`, `Community 75`, `Community 77`, `Community 607`, `Community 480`, `Community 485`, `Community 230`, `Community 104`, `Community 107`, `Community 109`, `Community 245`, `Community 380`, `Community 121`, `Community 122`, `Community 252`?** - _High betweenness centrality (0.026) - this node is a cross-community bridge._ +- **Why does `BaseController` connect `Community 108` to `Community 6`, `Community 138`, `Community 139`, `Community 14`, `Community 654`, `Community 655`, `Community 15`, `Community 20`, `Community 22`, `Community 26`, `Community 164`, `Community 295`, `Community 424`, `Community 300`, `Community 559`, `Community 433`, `Community 308`, `Community 58`, `Community 59`, `Community 318`, `Community 64`, `Community 75`, `Community 77`, `Community 607`, `Community 480`, `Community 230`, `Community 104`, `Community 107`, `Community 109`, `Community 245`, `Community 380`, `Community 121`, `Community 122`, `Community 252`?** + _High betweenness centrality (0.029) - this node is a cross-community bridge._ +- **Why does `ApiTestCase` connect `Community 86` to `Community 397`, `Community 534`, `Community 535`, `Community 541`, `Community 169`, `Community 562`, `Community 565`, `Community 573`, `Community 574`, `Community 575`, `Community 708`, `Community 717`, `Community 594`, `Community 82`, `Community 609`, `Community 484`, `Community 618`, `Community 497`, `Community 371`?** + _High betweenness centrality (0.020) - this node is a cross-community bridge._ - **Why does `Version20260705070546` connect `Community 646` to `Community 399`?** _High betweenness centrality (0.019) - this node is a cross-community bridge._ -- **Why does `ApiTestCase` connect `Community 86` to `Community 397`, `Community 22`, `Community 535`, `Community 534`, `Community 541`, `Community 169`, `Community 562`, `Community 565`, `Community 573`, `Community 574`, `Community 575`, `Community 594`, `Community 82`, `Community 609`, `Community 484`, `Community 618`, `Community 497`, `Community 371`, `Community 633`?** - _High betweenness centrality (0.018) - this node is a cross-community bridge._ - **What connects `ALLOWED_ROLES`, `Pricing`, `ImageCropModalProps` to the rest of the system?** - _4009 weakly-connected nodes found - possible documentation gaps or missing edges._ + _4030 weakly-connected nodes found - possible documentation gaps or missing edges._ - **Should `Community 0` be split into smaller, more focused modules?** - _Cohesion score 0.05004389815627744 - nodes in this community are weakly interconnected._ + _Cohesion score 0.047107014848950336 - nodes in this community are weakly interconnected._ - **Should `Community 1` be split into smaller, more focused modules?** _Cohesion score 0.028985507246376812 - nodes in this community are weakly interconnected._ - **Should `Community 2` be split into smaller, more focused modules?** diff --git a/graphify-out/cache/ast/v0.8.44/0849c4c39bf752e5f94477e82ef9080245cde06f6fc59bac80a5b5a0f0f7eecc.json b/graphify-out/cache/ast/v0.8.44/0849c4c39bf752e5f94477e82ef9080245cde06f6fc59bac80a5b5a0f0f7eecc.json new file mode 100644 index 00000000..8fa991b3 --- /dev/null +++ b/graphify-out/cache/ast/v0.8.44/0849c4c39bf752e5f94477e82ef9080245cde06f6fc59bac80a5b5a0f0f7eecc.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_shared_captcha_captchaguard_php", "label": "CaptchaGuard.php", "file_type": "code", "source_file": "src/Shared/Captcha/CaptchaGuard.php", "source_location": "L1"}, {"id": "captcha_captchaguard_captchaguard", "label": "CaptchaGuard", "file_type": "code", "source_file": "src/Shared/Captcha/CaptchaGuard.php", "source_location": "L16"}, {"id": "captcha_captchaguard_captchaguard_construct", "label": ".__construct()", "file_type": "code", "source_file": "src/Shared/Captcha/CaptchaGuard.php", "source_location": "L18"}, {"id": "captcha_captchaguard_captchaguard_assertvalid", "label": ".assertValid()", "file_type": "code", "source_file": "src/Shared/Captcha/CaptchaGuard.php", "source_location": "L20"}, {"id": "request", "label": "Request", "file_type": "code", "source_file": "src/Shared/Captcha/CaptchaGuard.php", "source_location": "L20"}], "edges": [{"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_shared_captcha_captchaguard_php", "target": "errorcodes", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Shared/Captcha/CaptchaGuard.php", "source_location": "L5", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_shared_captcha_captchaguard_php", "target": "appexception", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Shared/Captcha/CaptchaGuard.php", "source_location": "L6", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_shared_captcha_captchaguard_php", "target": "request", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Shared/Captcha/CaptchaGuard.php", "source_location": "L7", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_shared_captcha_captchaguard_php", "target": "captcha_captchaguard_captchaguard", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/Shared/Captcha/CaptchaGuard.php", "source_location": "L16", "weight": 1.0}, {"source": "captcha_captchaguard_captchaguard", "target": "captcha_captchaguard_captchaguard_construct", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Shared/Captcha/CaptchaGuard.php", "source_location": "L18", "weight": 1.0}, {"source": "captcha_captchaguard_captchaguard", "target": "captcha_captchaguard_captchaguard_assertvalid", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Shared/Captcha/CaptchaGuard.php", "source_location": "L20", "weight": 1.0}, {"source": "captcha_captchaguard_captchaguard_assertvalid", "target": "request", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Shared/Captcha/CaptchaGuard.php", "source_location": "L20", "weight": 1.0, "context": "parameter_type"}], "raw_calls": [{"caller_nid": "captcha_captchaguard_captchaguard_assertvalid", "callee": "enabled", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Captcha/CaptchaGuard.php", "source_location": "L22", "receiver": null}, {"caller_nid": "captcha_captchaguard_captchaguard_assertvalid", "callee": "json_decode", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Captcha/CaptchaGuard.php", "source_location": "L26", "receiver": null}, {"caller_nid": "captcha_captchaguard_captchaguard_assertvalid", "callee": "getContent", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Captcha/CaptchaGuard.php", "source_location": "L26", "receiver": null}, {"caller_nid": "captcha_captchaguard_captchaguard_assertvalid", "callee": "is_array", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Captcha/CaptchaGuard.php", "source_location": "L27", "receiver": null}, {"caller_nid": "captcha_captchaguard_captchaguard_assertvalid", "callee": "verifySolution", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Captcha/CaptchaGuard.php", "source_location": "L29", "receiver": null}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.8.44/0f897db099d2ec763d97567742429eb682a7b6f955187cd2382b2df8957bd09a.json b/graphify-out/cache/ast/v0.8.44/0f897db099d2ec763d97567742429eb682a7b6f955187cd2382b2df8957bd09a.json new file mode 100644 index 00000000..acba4a55 --- /dev/null +++ b/graphify-out/cache/ast/v0.8.44/0f897db099d2ec763d97567742429eb682a7b6f955187cd2382b2df8957bd09a.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_hamed_pj_my_pj_clinic_pro_clinicpro_composer_json", "label": "composer.json", "file_type": "code", "source_file": "composer.json", "source_location": "L1"}, {"id": "clinicpro_composer_name", "label": "name", "file_type": "code", "source_file": "composer.json", "source_location": "L2"}, {"id": "clinicpro_composer_type", "label": "type", "file_type": "code", "source_file": "composer.json", "source_location": "L3"}, {"id": "clinicpro_composer_license", "label": "license", "file_type": "code", "source_file": "composer.json", "source_location": "L4"}, {"id": "clinicpro_composer_description", "label": "description", "file_type": "code", "source_file": "composer.json", "source_location": "L5"}, {"id": "clinicpro_composer_minimum_stability", "label": "minimum-stability", "file_type": "code", "source_file": "composer.json", "source_location": "L6"}, {"id": "clinicpro_composer_prefer_stable", "label": "prefer-stable", "file_type": "code", "source_file": "composer.json", "source_location": "L7"}, {"id": "clinicpro_composer_require", "label": "require", "file_type": "code", "source_file": "composer.json", "source_location": "L8"}, {"id": "clinicpro_composer_require_php", "label": "php", "file_type": "code", "source_file": "composer.json", "source_location": "L9"}, {"id": "clinicpro_composer_require_ext_ctype", "label": "ext-ctype", "file_type": "code", "source_file": "composer.json", "source_location": "L10"}, {"id": "clinicpro_composer_require_ext_iconv", "label": "ext-iconv", "file_type": "code", "source_file": "composer.json", "source_location": "L11"}, {"id": "clinicpro_composer_require_ext_soap", "label": "ext-soap", "file_type": "code", "source_file": "composer.json", "source_location": "L12"}, {"id": "clinicpro_composer_require_altcha_org_altcha", "label": "altcha-org/altcha", "file_type": "code", "source_file": "composer.json", "source_location": "L13"}, {"id": "clinicpro_composer_require_doctrine_doctrine_bundle", "label": "doctrine/doctrine-bundle", "file_type": "code", "source_file": "composer.json", "source_location": "L14"}, {"id": "clinicpro_composer_require_doctrine_doctrine_migrations_bundle", "label": "doctrine/doctrine-migrations-bundle", "file_type": "code", "source_file": "composer.json", "source_location": "L15"}, {"id": "clinicpro_composer_require_doctrine_orm", "label": "doctrine/orm", "file_type": "code", "source_file": "composer.json", "source_location": "L16"}, {"id": "clinicpro_composer_require_lexik_jwt_authentication_bundle", "label": "lexik/jwt-authentication-bundle", "file_type": "code", "source_file": "composer.json", "source_location": "L17"}, {"id": "clinicpro_composer_require_nelmio_api_doc_bundle", "label": "nelmio/api-doc-bundle", "file_type": "code", "source_file": "composer.json", "source_location": "L18"}, {"id": "clinicpro_composer_require_nelmio_cors_bundle", "label": "nelmio/cors-bundle", "file_type": "code", "source_file": "composer.json", "source_location": "L19"}, {"id": "clinicpro_composer_require_symfony_asset", "label": "symfony/asset", "file_type": "code", "source_file": "composer.json", "source_location": "L20"}, {"id": "clinicpro_composer_require_symfony_cache", "label": "symfony/cache", "file_type": "code", "source_file": "composer.json", "source_location": "L21"}, {"id": "clinicpro_composer_require_symfony_console", "label": "symfony/console", "file_type": "code", "source_file": "composer.json", "source_location": "L22"}, {"id": "clinicpro_composer_require_symfony_dotenv", "label": "symfony/dotenv", "file_type": "code", "source_file": "composer.json", "source_location": "L23"}, {"id": "clinicpro_composer_require_symfony_flex", "label": "symfony/flex", "file_type": "code", "source_file": "composer.json", "source_location": "L24"}, {"id": "clinicpro_composer_require_symfony_framework_bundle", "label": "symfony/framework-bundle", "file_type": "code", "source_file": "composer.json", "source_location": "L25"}, {"id": "clinicpro_composer_require_symfony_http_client", "label": "symfony/http-client", "file_type": "code", "source_file": "composer.json", "source_location": "L26"}, {"id": "clinicpro_composer_require_symfony_messenger", "label": "symfony/messenger", "file_type": "code", "source_file": "composer.json", "source_location": "L27"}, {"id": "clinicpro_composer_require_symfony_property_access", "label": "symfony/property-access", "file_type": "code", "source_file": "composer.json", "source_location": "L28"}, {"id": "clinicpro_composer_require_symfony_property_info", "label": "symfony/property-info", "file_type": "code", "source_file": "composer.json", "source_location": "L29"}, {"id": "clinicpro_composer_require_symfony_rate_limiter", "label": "symfony/rate-limiter", "file_type": "code", "source_file": "composer.json", "source_location": "L30"}, {"id": "clinicpro_composer_require_symfony_redis_messenger", "label": "symfony/redis-messenger", "file_type": "code", "source_file": "composer.json", "source_location": "L31"}, {"id": "clinicpro_composer_require_symfony_runtime", "label": "symfony/runtime", "file_type": "code", "source_file": "composer.json", "source_location": "L32"}, {"id": "clinicpro_composer_require_symfony_scheduler", "label": "symfony/scheduler", "file_type": "code", "source_file": "composer.json", "source_location": "L33"}, {"id": "clinicpro_composer_require_symfony_security_bundle", "label": "symfony/security-bundle", "file_type": "code", "source_file": "composer.json", "source_location": "L34"}, {"id": "clinicpro_composer_require_symfony_serializer", "label": "symfony/serializer", "file_type": "code", "source_file": "composer.json", "source_location": "L35"}, {"id": "clinicpro_composer_require_symfony_twig_bundle", "label": "symfony/twig-bundle", "file_type": "code", "source_file": "composer.json", "source_location": "L36"}, {"id": "clinicpro_composer_require_symfony_uid", "label": "symfony/uid", "file_type": "code", "source_file": "composer.json", "source_location": "L37"}, {"id": "clinicpro_composer_require_symfony_ux_react", "label": "symfony/ux-react", "file_type": "code", "source_file": "composer.json", "source_location": "L38"}, {"id": "clinicpro_composer_require_symfony_validator", "label": "symfony/validator", "file_type": "code", "source_file": "composer.json", "source_location": "L39"}, {"id": "clinicpro_composer_require_symfony_webpack_encore_bundle", "label": "symfony/webpack-encore-bundle", "file_type": "code", "source_file": "composer.json", "source_location": "L40"}, {"id": "clinicpro_composer_require_symfony_yaml", "label": "symfony/yaml", "file_type": "code", "source_file": "composer.json", "source_location": "L41"}, {"id": "clinicpro_composer_require_twig_twig", "label": "twig/twig", "file_type": "code", "source_file": "composer.json", "source_location": "L42"}, {"id": "clinicpro_composer_require_zircote_swagger_php", "label": "zircote/swagger-php", "file_type": "code", "source_file": "composer.json", "source_location": "L43"}, {"id": "clinicpro_composer_config", "label": "config", "file_type": "code", "source_file": "composer.json", "source_location": "L45"}, {"id": "clinicpro_composer_config_allow_plugins", "label": "allow-plugins", "file_type": "code", "source_file": "composer.json", "source_location": "L46"}, {"id": "clinicpro_composer_allow_plugins_php_http_discovery", "label": "php-http/discovery", "file_type": "code", "source_file": "composer.json", "source_location": "L47"}, {"id": "clinicpro_composer_allow_plugins_symfony_flex", "label": "symfony/flex", "file_type": "code", "source_file": "composer.json", "source_location": "L48"}, {"id": "clinicpro_composer_allow_plugins_symfony_runtime", "label": "symfony/runtime", "file_type": "code", "source_file": "composer.json", "source_location": "L49"}, {"id": "clinicpro_composer_config_bump_after_update", "label": "bump-after-update", "file_type": "code", "source_file": "composer.json", "source_location": "L51"}, {"id": "clinicpro_composer_config_sort_packages", "label": "sort-packages", "file_type": "code", "source_file": "composer.json", "source_location": "L52"}, {"id": "clinicpro_composer_autoload", "label": "autoload", "file_type": "code", "source_file": "composer.json", "source_location": "L54"}, {"id": "clinicpro_composer_autoload_psr_4", "label": "psr-4", "file_type": "code", "source_file": "composer.json", "source_location": "L55"}, {"id": "clinicpro_composer_psr_4_app", "label": "App\\\\", "file_type": "code", "source_file": "composer.json", "source_location": "L56"}, {"id": "clinicpro_composer_autoload_dev", "label": "autoload-dev", "file_type": "code", "source_file": "composer.json", "source_location": "L59"}, {"id": "clinicpro_composer_autoload_dev_psr_4", "label": "psr-4", "file_type": "code", "source_file": "composer.json", "source_location": "L60"}, {"id": "clinicpro_composer_psr_4_app_tests", "label": "App\\\\Tests\\\\", "file_type": "code", "source_file": "composer.json", "source_location": "L61"}, {"id": "clinicpro_composer_replace", "label": "replace", "file_type": "code", "source_file": "composer.json", "source_location": "L64"}, {"id": "clinicpro_composer_replace_symfony_polyfill_ctype", "label": "symfony/polyfill-ctype", "file_type": "code", "source_file": "composer.json", "source_location": "L65"}, {"id": "clinicpro_composer_replace_symfony_polyfill_iconv", "label": "symfony/polyfill-iconv", "file_type": "code", "source_file": "composer.json", "source_location": "L66"}, {"id": "clinicpro_composer_replace_symfony_polyfill_php72", "label": "symfony/polyfill-php72", "file_type": "code", "source_file": "composer.json", "source_location": "L67"}, {"id": "clinicpro_composer_replace_symfony_polyfill_php73", "label": "symfony/polyfill-php73", "file_type": "code", "source_file": "composer.json", "source_location": "L68"}, {"id": "clinicpro_composer_replace_symfony_polyfill_php74", "label": "symfony/polyfill-php74", "file_type": "code", "source_file": "composer.json", "source_location": "L69"}, {"id": "clinicpro_composer_replace_symfony_polyfill_php80", "label": "symfony/polyfill-php80", "file_type": "code", "source_file": "composer.json", "source_location": "L70"}, {"id": "clinicpro_composer_replace_symfony_polyfill_php81", "label": "symfony/polyfill-php81", "file_type": "code", "source_file": "composer.json", "source_location": "L71"}, {"id": "clinicpro_composer_replace_symfony_polyfill_php82", "label": "symfony/polyfill-php82", "file_type": "code", "source_file": "composer.json", "source_location": "L72"}, {"id": "clinicpro_composer_scripts", "label": "scripts", "file_type": "code", "source_file": "composer.json", "source_location": "L74"}, {"id": "clinicpro_composer_scripts_auto_scripts", "label": "auto-scripts", "file_type": "code", "source_file": "composer.json", "source_location": "L75"}, {"id": "clinicpro_composer_auto_scripts_cache_clear", "label": "cache:clear", "file_type": "code", "source_file": "composer.json", "source_location": "L76"}, {"id": "clinicpro_composer_auto_scripts_assets_install_public_dir", "label": "assets:install %PUBLIC_DIR%", "file_type": "code", "source_file": "composer.json", "source_location": "L77"}, {"id": "clinicpro_composer_scripts_post_install_cmd", "label": "post-install-cmd", "file_type": "code", "source_file": "composer.json", "source_location": "L79"}, {"id": "clinicpro_composer_scripts_post_update_cmd", "label": "post-update-cmd", "file_type": "code", "source_file": "composer.json", "source_location": "L82"}, {"id": "clinicpro_composer_conflict", "label": "conflict", "file_type": "code", "source_file": "composer.json", "source_location": "L86"}, {"id": "clinicpro_composer_conflict_symfony_symfony", "label": "symfony/symfony", "file_type": "code", "source_file": "composer.json", "source_location": "L87"}, {"id": "clinicpro_composer_extra", "label": "extra", "file_type": "code", "source_file": "composer.json", "source_location": "L89"}, {"id": "clinicpro_composer_extra_symfony", "label": "symfony", "file_type": "code", "source_file": "composer.json", "source_location": "L90"}, {"id": "clinicpro_composer_symfony_allow_contrib", "label": "allow-contrib", "file_type": "code", "source_file": "composer.json", "source_location": "L91"}, {"id": "clinicpro_composer_symfony_require", "label": "require", "file_type": "code", "source_file": "composer.json", "source_location": "L92"}, {"id": "clinicpro_composer_require_dev", "label": "require-dev", "file_type": "code", "source_file": "composer.json", "source_location": "L95"}, {"id": "clinicpro_composer_require_dev_phpstan_phpstan", "label": "phpstan/phpstan", "file_type": "code", "source_file": "composer.json", "source_location": "L96"}, {"id": "clinicpro_composer_require_dev_phpstan_phpstan_doctrine", "label": "phpstan/phpstan-doctrine", "file_type": "code", "source_file": "composer.json", "source_location": "L97"}, {"id": "clinicpro_composer_require_dev_phpstan_phpstan_symfony", "label": "phpstan/phpstan-symfony", "file_type": "code", "source_file": "composer.json", "source_location": "L98"}, {"id": "clinicpro_composer_require_dev_phpunit_phpunit", "label": "phpunit/phpunit", "file_type": "code", "source_file": "composer.json", "source_location": "L99"}, {"id": "clinicpro_composer_require_dev_symfony_browser_kit", "label": "symfony/browser-kit", "file_type": "code", "source_file": "composer.json", "source_location": "L100"}, {"id": "clinicpro_composer_require_dev_symfony_css_selector", "label": "symfony/css-selector", "file_type": "code", "source_file": "composer.json", "source_location": "L101"}, {"id": "clinicpro_composer_require_dev_symfony_debug_bundle", "label": "symfony/debug-bundle", "file_type": "code", "source_file": "composer.json", "source_location": "L102"}, {"id": "clinicpro_composer_require_dev_symfony_maker_bundle", "label": "symfony/maker-bundle", "file_type": "code", "source_file": "composer.json", "source_location": "L103"}], "edges": [{"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_composer_json", "target": "clinicpro_composer_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L2", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_composer_json", "target": "clinicpro_composer_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L3", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_composer_json", "target": "clinicpro_composer_license", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L4", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_composer_json", "target": "clinicpro_composer_description", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L5", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_composer_json", "target": "clinicpro_composer_minimum_stability", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L6", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_composer_json", "target": "clinicpro_composer_prefer_stable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L7", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_composer_json", "target": "clinicpro_composer_require", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L8", "weight": 1.0}, {"source": "clinicpro_composer_require", "target": "clinicpro_composer_require_php", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L9", "weight": 1.0}, {"source": "clinicpro_composer_require", "target": "clinicpro_composer_require_ext_ctype", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L10", "weight": 1.0}, {"source": "clinicpro_composer_require", "target": "clinicpro_composer_require_ext_iconv", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L11", "weight": 1.0}, {"source": "clinicpro_composer_require", "target": "clinicpro_composer_require_ext_soap", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L12", "weight": 1.0}, {"source": "clinicpro_composer_require", "target": "clinicpro_composer_require_altcha_org_altcha", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L13", "weight": 1.0}, {"source": "clinicpro_composer_require", "target": "clinicpro_composer_require_doctrine_doctrine_bundle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L14", "weight": 1.0}, {"source": "clinicpro_composer_require", "target": "clinicpro_composer_require_doctrine_doctrine_migrations_bundle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L15", "weight": 1.0}, {"source": "clinicpro_composer_require", "target": "clinicpro_composer_require_doctrine_orm", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L16", "weight": 1.0}, {"source": "clinicpro_composer_require", "target": "clinicpro_composer_require_lexik_jwt_authentication_bundle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L17", "weight": 1.0}, {"source": "clinicpro_composer_require", "target": "clinicpro_composer_require_nelmio_api_doc_bundle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L18", "weight": 1.0}, {"source": "clinicpro_composer_require", "target": "clinicpro_composer_require_nelmio_cors_bundle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L19", "weight": 1.0}, {"source": "clinicpro_composer_require", "target": "clinicpro_composer_require_symfony_asset", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L20", "weight": 1.0}, {"source": "clinicpro_composer_require", "target": "clinicpro_composer_require_symfony_cache", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L21", "weight": 1.0}, {"source": "clinicpro_composer_require", "target": "clinicpro_composer_require_symfony_console", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L22", "weight": 1.0}, {"source": "clinicpro_composer_require", "target": "clinicpro_composer_require_symfony_dotenv", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L23", "weight": 1.0}, {"source": "clinicpro_composer_require", "target": "clinicpro_composer_require_symfony_flex", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L24", "weight": 1.0}, {"source": "clinicpro_composer_require", "target": "clinicpro_composer_require_symfony_framework_bundle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L25", "weight": 1.0}, {"source": "clinicpro_composer_require", "target": "clinicpro_composer_require_symfony_http_client", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L26", "weight": 1.0}, {"source": "clinicpro_composer_require", "target": "clinicpro_composer_require_symfony_messenger", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L27", "weight": 1.0}, {"source": "clinicpro_composer_require", "target": "clinicpro_composer_require_symfony_property_access", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L28", "weight": 1.0}, {"source": "clinicpro_composer_require", "target": "clinicpro_composer_require_symfony_property_info", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L29", "weight": 1.0}, {"source": "clinicpro_composer_require", "target": "clinicpro_composer_require_symfony_rate_limiter", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L30", "weight": 1.0}, {"source": "clinicpro_composer_require", "target": "clinicpro_composer_require_symfony_redis_messenger", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L31", "weight": 1.0}, {"source": "clinicpro_composer_require", "target": "clinicpro_composer_require_symfony_runtime", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L32", "weight": 1.0}, {"source": "clinicpro_composer_require", "target": "clinicpro_composer_require_symfony_scheduler", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L33", "weight": 1.0}, {"source": "clinicpro_composer_require", "target": "clinicpro_composer_require_symfony_security_bundle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L34", "weight": 1.0}, {"source": "clinicpro_composer_require", "target": "clinicpro_composer_require_symfony_serializer", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L35", "weight": 1.0}, {"source": "clinicpro_composer_require", "target": "clinicpro_composer_require_symfony_twig_bundle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L36", "weight": 1.0}, {"source": "clinicpro_composer_require", "target": "clinicpro_composer_require_symfony_uid", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L37", "weight": 1.0}, {"source": "clinicpro_composer_require", "target": "clinicpro_composer_require_symfony_ux_react", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L38", "weight": 1.0}, {"source": "clinicpro_composer_require", "target": "clinicpro_composer_require_symfony_validator", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L39", "weight": 1.0}, {"source": "clinicpro_composer_require", "target": "clinicpro_composer_require_symfony_webpack_encore_bundle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L40", "weight": 1.0}, {"source": "clinicpro_composer_require", "target": "clinicpro_composer_require_symfony_yaml", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L41", "weight": 1.0}, {"source": "clinicpro_composer_require", "target": "clinicpro_composer_require_twig_twig", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L42", "weight": 1.0}, {"source": "clinicpro_composer_require", "target": "clinicpro_composer_require_zircote_swagger_php", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L43", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_composer_json", "target": "clinicpro_composer_config", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L45", "weight": 1.0}, {"source": "clinicpro_composer_config", "target": "clinicpro_composer_config_allow_plugins", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L46", "weight": 1.0}, {"source": "clinicpro_composer_config_allow_plugins", "target": "clinicpro_composer_allow_plugins_php_http_discovery", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L47", "weight": 1.0}, {"source": "clinicpro_composer_config_allow_plugins", "target": "clinicpro_composer_allow_plugins_symfony_flex", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L48", "weight": 1.0}, {"source": "clinicpro_composer_config_allow_plugins", "target": "clinicpro_composer_allow_plugins_symfony_runtime", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L49", "weight": 1.0}, {"source": "clinicpro_composer_config", "target": "clinicpro_composer_config_bump_after_update", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L51", "weight": 1.0}, {"source": "clinicpro_composer_config", "target": "clinicpro_composer_config_sort_packages", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L52", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_composer_json", "target": "clinicpro_composer_autoload", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L54", "weight": 1.0}, {"source": "clinicpro_composer_autoload", "target": "clinicpro_composer_autoload_psr_4", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L55", "weight": 1.0}, {"source": "clinicpro_composer_autoload_psr_4", "target": "clinicpro_composer_psr_4_app", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L56", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_composer_json", "target": "clinicpro_composer_autoload_dev", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L59", "weight": 1.0}, {"source": "clinicpro_composer_autoload_dev", "target": "clinicpro_composer_autoload_dev_psr_4", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L60", "weight": 1.0}, {"source": "clinicpro_composer_autoload_dev_psr_4", "target": "clinicpro_composer_psr_4_app_tests", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L61", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_composer_json", "target": "clinicpro_composer_replace", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L64", "weight": 1.0}, {"source": "clinicpro_composer_replace", "target": "clinicpro_composer_replace_symfony_polyfill_ctype", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L65", "weight": 1.0}, {"source": "clinicpro_composer_replace", "target": "clinicpro_composer_replace_symfony_polyfill_iconv", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L66", "weight": 1.0}, {"source": "clinicpro_composer_replace", "target": "clinicpro_composer_replace_symfony_polyfill_php72", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L67", "weight": 1.0}, {"source": "clinicpro_composer_replace", "target": "clinicpro_composer_replace_symfony_polyfill_php73", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L68", "weight": 1.0}, {"source": "clinicpro_composer_replace", "target": "clinicpro_composer_replace_symfony_polyfill_php74", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L69", "weight": 1.0}, {"source": "clinicpro_composer_replace", "target": "clinicpro_composer_replace_symfony_polyfill_php80", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L70", "weight": 1.0}, {"source": "clinicpro_composer_replace", "target": "clinicpro_composer_replace_symfony_polyfill_php81", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L71", "weight": 1.0}, {"source": "clinicpro_composer_replace", "target": "clinicpro_composer_replace_symfony_polyfill_php82", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L72", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_composer_json", "target": "clinicpro_composer_scripts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L74", "weight": 1.0}, {"source": "clinicpro_composer_scripts", "target": "clinicpro_composer_scripts_auto_scripts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L75", "weight": 1.0}, {"source": "clinicpro_composer_scripts_auto_scripts", "target": "clinicpro_composer_auto_scripts_cache_clear", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L76", "weight": 1.0}, {"source": "clinicpro_composer_scripts_auto_scripts", "target": "clinicpro_composer_auto_scripts_assets_install_public_dir", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L77", "weight": 1.0}, {"source": "clinicpro_composer_scripts", "target": "clinicpro_composer_scripts_post_install_cmd", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L79", "weight": 1.0}, {"source": "clinicpro_composer_scripts_post_install_cmd", "target": "ref_auto_scripts", "relation": "extends", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L79", "weight": 1.0, "context": "import"}, {"source": "clinicpro_composer_scripts", "target": "clinicpro_composer_scripts_post_update_cmd", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L82", "weight": 1.0}, {"source": "clinicpro_composer_scripts_post_update_cmd", "target": "ref_auto_scripts", "relation": "extends", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L82", "weight": 1.0, "context": "import"}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_composer_json", "target": "clinicpro_composer_conflict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L86", "weight": 1.0}, {"source": "clinicpro_composer_conflict", "target": "clinicpro_composer_conflict_symfony_symfony", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L87", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_composer_json", "target": "clinicpro_composer_extra", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L89", "weight": 1.0}, {"source": "clinicpro_composer_extra", "target": "clinicpro_composer_extra_symfony", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L90", "weight": 1.0}, {"source": "clinicpro_composer_extra_symfony", "target": "clinicpro_composer_symfony_allow_contrib", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L91", "weight": 1.0}, {"source": "clinicpro_composer_extra_symfony", "target": "clinicpro_composer_symfony_require", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L92", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_composer_json", "target": "clinicpro_composer_require_dev", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L95", "weight": 1.0}, {"source": "clinicpro_composer_require_dev", "target": "clinicpro_composer_require_dev_phpstan_phpstan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L96", "weight": 1.0}, {"source": "clinicpro_composer_require_dev", "target": "clinicpro_composer_require_dev_phpstan_phpstan_doctrine", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L97", "weight": 1.0}, {"source": "clinicpro_composer_require_dev", "target": "clinicpro_composer_require_dev_phpstan_phpstan_symfony", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L98", "weight": 1.0}, {"source": "clinicpro_composer_require_dev", "target": "clinicpro_composer_require_dev_phpunit_phpunit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L99", "weight": 1.0}, {"source": "clinicpro_composer_require_dev", "target": "clinicpro_composer_require_dev_symfony_browser_kit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L100", "weight": 1.0}, {"source": "clinicpro_composer_require_dev", "target": "clinicpro_composer_require_dev_symfony_css_selector", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L101", "weight": 1.0}, {"source": "clinicpro_composer_require_dev", "target": "clinicpro_composer_require_dev_symfony_debug_bundle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L102", "weight": 1.0}, {"source": "clinicpro_composer_require_dev", "target": "clinicpro_composer_require_dev_symfony_maker_bundle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "composer.json", "source_location": "L103", "weight": 1.0}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.8.44/1e979b2ea4c50ef051443cc5bd9f5351ac5cc9d8934c67c0c0319e3b36fc3d8b.json b/graphify-out/cache/ast/v0.8.44/1e979b2ea4c50ef051443cc5bd9f5351ac5cc9d8934c67c0c0319e3b36fc3d8b.json new file mode 100644 index 00000000..9b2e241b --- /dev/null +++ b/graphify-out/cache/ast/v0.8.44/1e979b2ea4c50ef051443cc5bd9f5351ac5cc9d8934c67c0c0319e3b36fc3d8b.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_authcontroller_php", "label": "AuthController.php", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L1"}, {"id": "controller_authcontroller_authcontroller", "label": "AuthController", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L27"}, {"id": "basecontroller", "label": "BaseController", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "controller_authcontroller_authcontroller_construct", "label": ".__construct()", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L30"}, {"id": "controller_authcontroller_authcontroller_login", "label": ".login()", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L51"}, {"id": "jsonresponse", "label": "JsonResponse", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L51"}, {"id": "controller_authcontroller_authcontroller_sendcode", "label": ".sendCode()", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L109"}, {"id": "request", "label": "Request", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L109"}, {"id": "controller_authcontroller_authcontroller_verifycode", "label": ".verifyCode()", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L167"}, {"id": "controller_authcontroller_authcontroller_register", "label": ".register()", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L225"}, {"id": "controller_authcontroller_authcontroller_issuetoken", "label": ".issueToken()", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L304"}, {"id": "controller_authcontroller_authcontroller_otplogin", "label": ".otpLogin()", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L377"}, {"id": "controller_authcontroller_authcontroller_resetpassword", "label": ".resetPassword()", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L403"}, {"id": "controller_authcontroller_authcontroller_refreshtoken", "label": ".refreshToken()", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L433"}, {"id": "controller_authcontroller_authcontroller_userinfo", "label": ".userInfo()", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L506"}, {"id": "user", "label": "User", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L506"}, {"id": "controller_authcontroller_authcontroller_switchcontext", "label": ".switchContext()", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L592"}, {"id": "controller_authcontroller_authcontroller_enforcelimit", "label": ".enforceLimit()", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L645"}, {"id": "ratelimiterfactory", "label": "RateLimiterFactory", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L645"}, {"id": "controller_authcontroller_authcontroller_resolveprimaryrole", "label": ".resolvePrimaryRole()", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L654"}, {"id": "controller_authcontroller_authcontroller_buildavailablecontexts", "label": ".buildAvailableContexts()", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L665"}, {"id": "controller_authcontroller_authcontroller_findcontextbydbuuid", "label": ".findContextByDbUuid()", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L738"}, {"id": "controller_authcontroller_authcontroller_builddbkey", "label": ".buildDbKey()", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L748"}, {"id": "controller_authcontroller_authcontroller_logout", "label": ".logout()", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L753"}, {"id": "controller_authcontroller_authcontroller_sessiontoken", "label": ".sessionToken()", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L797"}], "edges": [{"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_authcontroller_php", "target": "user", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L5", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_authcontroller_php", "target": "useractivecontext", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L6", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_authcontroller_php", "target": "useractivecontextrepository", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L7", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_authcontroller_php", "target": "userrepository", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L8", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_authcontroller_php", "target": "otpservice", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L9", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_authcontroller_php", "target": "tokenservice", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L10", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_authcontroller_php", "target": "clinicrepository", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L11", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_authcontroller_php", "target": "doctorrepository", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L12", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_authcontroller_php", "target": "doctorsecretaryrepository", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L13", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_authcontroller_php", "target": "captchaguard", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L14", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_authcontroller_php", "target": "errorcodes", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L15", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_authcontroller_php", "target": "basecontroller", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L16", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_authcontroller_php", "target": "entitymanagerinterface", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L17", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_authcontroller_php", "target": "attributes", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L18", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_authcontroller_php", "target": "jsonresponse", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L19", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_authcontroller_php", "target": "request", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L20", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_authcontroller_php", "target": "userpasswordhasherinterface", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L21", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_authcontroller_php", "target": "ratelimiterfactory", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L22", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_authcontroller_php", "target": "route", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L23", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_authcontroller_php", "target": "currentuser", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L24", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_authcontroller_php", "target": "isgranted", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L25", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_authcontroller_php", "target": "controller_authcontroller_authcontroller", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L27", "weight": 1.0}, {"source": "controller_authcontroller_authcontroller", "target": "basecontroller", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L28", "weight": 1.0}, {"source": "controller_authcontroller_authcontroller", "target": "controller_authcontroller_authcontroller_construct", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L30", "weight": 1.0}, {"source": "controller_authcontroller_authcontroller", "target": "controller_authcontroller_authcontroller_login", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L51", "weight": 1.0}, {"source": "controller_authcontroller_authcontroller_login", "target": "jsonresponse", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L51", "weight": 1.0, "context": "return_type"}, {"source": "controller_authcontroller_authcontroller", "target": "controller_authcontroller_authcontroller_sendcode", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L109", "weight": 1.0}, {"source": "controller_authcontroller_authcontroller_sendcode", "target": "request", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L109", "weight": 1.0, "context": "parameter_type"}, {"source": "controller_authcontroller_authcontroller_sendcode", "target": "jsonresponse", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L109", "weight": 1.0, "context": "return_type"}, {"source": "controller_authcontroller_authcontroller", "target": "controller_authcontroller_authcontroller_verifycode", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L167", "weight": 1.0}, {"source": "controller_authcontroller_authcontroller_verifycode", "target": "request", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L167", "weight": 1.0, "context": "parameter_type"}, {"source": "controller_authcontroller_authcontroller_verifycode", "target": "jsonresponse", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L167", "weight": 1.0, "context": "return_type"}, {"source": "controller_authcontroller_authcontroller", "target": "controller_authcontroller_authcontroller_register", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L225", "weight": 1.0}, {"source": "controller_authcontroller_authcontroller_register", "target": "request", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L225", "weight": 1.0, "context": "parameter_type"}, {"source": "controller_authcontroller_authcontroller_register", "target": "jsonresponse", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L225", "weight": 1.0, "context": "return_type"}, {"source": "controller_authcontroller_authcontroller", "target": "controller_authcontroller_authcontroller_issuetoken", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L304", "weight": 1.0}, {"source": "controller_authcontroller_authcontroller_issuetoken", "target": "request", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L304", "weight": 1.0, "context": "parameter_type"}, {"source": "controller_authcontroller_authcontroller_issuetoken", "target": "jsonresponse", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L304", "weight": 1.0, "context": "return_type"}, {"source": "controller_authcontroller_authcontroller", "target": "controller_authcontroller_authcontroller_otplogin", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L377", "weight": 1.0}, {"source": "controller_authcontroller_authcontroller_otplogin", "target": "request", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L377", "weight": 1.0, "context": "parameter_type"}, {"source": "controller_authcontroller_authcontroller_otplogin", "target": "jsonresponse", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L377", "weight": 1.0, "context": "return_type"}, {"source": "controller_authcontroller_authcontroller", "target": "controller_authcontroller_authcontroller_resetpassword", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L403", "weight": 1.0}, {"source": "controller_authcontroller_authcontroller_resetpassword", "target": "request", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L403", "weight": 1.0, "context": "parameter_type"}, {"source": "controller_authcontroller_authcontroller_resetpassword", "target": "jsonresponse", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L403", "weight": 1.0, "context": "return_type"}, {"source": "controller_authcontroller_authcontroller", "target": "controller_authcontroller_authcontroller_refreshtoken", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L433", "weight": 1.0}, {"source": "controller_authcontroller_authcontroller_refreshtoken", "target": "request", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L433", "weight": 1.0, "context": "parameter_type"}, {"source": "controller_authcontroller_authcontroller_refreshtoken", "target": "jsonresponse", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L433", "weight": 1.0, "context": "return_type"}, {"source": "controller_authcontroller_authcontroller", "target": "controller_authcontroller_authcontroller_userinfo", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L506", "weight": 1.0}, {"source": "controller_authcontroller_authcontroller_userinfo", "target": "user", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L506", "weight": 1.0, "context": "parameter_type"}, {"source": "controller_authcontroller_authcontroller_userinfo", "target": "jsonresponse", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L506", "weight": 1.0, "context": "return_type"}, {"source": "controller_authcontroller_authcontroller", "target": "controller_authcontroller_authcontroller_switchcontext", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L592", "weight": 1.0}, {"source": "controller_authcontroller_authcontroller_switchcontext", "target": "request", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L592", "weight": 1.0, "context": "parameter_type"}, {"source": "controller_authcontroller_authcontroller_switchcontext", "target": "user", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L592", "weight": 1.0, "context": "parameter_type"}, {"source": "controller_authcontroller_authcontroller_switchcontext", "target": "jsonresponse", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L592", "weight": 1.0, "context": "return_type"}, {"source": "controller_authcontroller_authcontroller", "target": "controller_authcontroller_authcontroller_enforcelimit", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L645", "weight": 1.0}, {"source": "controller_authcontroller_authcontroller_enforcelimit", "target": "ratelimiterfactory", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L645", "weight": 1.0, "context": "parameter_type"}, {"source": "controller_authcontroller_authcontroller_enforcelimit", "target": "request", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L645", "weight": 1.0, "context": "parameter_type"}, {"source": "controller_authcontroller_authcontroller_enforcelimit", "target": "jsonresponse", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L645", "weight": 1.0, "context": "return_type"}, {"source": "controller_authcontroller_authcontroller", "target": "controller_authcontroller_authcontroller_resolveprimaryrole", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L654", "weight": 1.0}, {"source": "controller_authcontroller_authcontroller_resolveprimaryrole", "target": "user", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L654", "weight": 1.0, "context": "parameter_type"}, {"source": "controller_authcontroller_authcontroller", "target": "controller_authcontroller_authcontroller_buildavailablecontexts", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L665", "weight": 1.0}, {"source": "controller_authcontroller_authcontroller_buildavailablecontexts", "target": "user", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L665", "weight": 1.0, "context": "parameter_type"}, {"source": "controller_authcontroller_authcontroller", "target": "controller_authcontroller_authcontroller_findcontextbydbuuid", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L738", "weight": 1.0}, {"source": "controller_authcontroller_authcontroller", "target": "controller_authcontroller_authcontroller_builddbkey", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L748", "weight": 1.0}, {"source": "controller_authcontroller_authcontroller", "target": "controller_authcontroller_authcontroller_logout", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L753", "weight": 1.0}, {"source": "controller_authcontroller_authcontroller_logout", "target": "request", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L753", "weight": 1.0, "context": "parameter_type"}, {"source": "controller_authcontroller_authcontroller_logout", "target": "jsonresponse", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L753", "weight": 1.0, "context": "return_type"}, {"source": "controller_authcontroller_authcontroller", "target": "controller_authcontroller_authcontroller_sessiontoken", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L797", "weight": 1.0}, {"source": "controller_authcontroller_authcontroller_sessiontoken", "target": "jsonresponse", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L797", "weight": 1.0, "context": "return_type"}, {"source": "controller_authcontroller_authcontroller_verifycode", "target": "controller_authcontroller_authcontroller_enforcelimit", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L203", "weight": 1.0}, {"source": "controller_authcontroller_authcontroller_issuetoken", "target": "controller_authcontroller_authcontroller_enforcelimit", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L354", "weight": 1.0}, {"source": "controller_authcontroller_authcontroller_otplogin", "target": "controller_authcontroller_authcontroller_enforcelimit", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L380", "weight": 1.0}, {"source": "controller_authcontroller_authcontroller_resetpassword", "target": "controller_authcontroller_authcontroller_enforcelimit", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L406", "weight": 1.0}, {"source": "controller_authcontroller_authcontroller_userinfo", "target": "controller_authcontroller_authcontroller_resolveprimaryrole", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L562", "weight": 1.0}, {"source": "controller_authcontroller_authcontroller_userinfo", "target": "controller_authcontroller_authcontroller_buildavailablecontexts", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L563", "weight": 1.0}, {"source": "controller_authcontroller_authcontroller_userinfo", "target": "controller_authcontroller_authcontroller_builddbkey", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L572", "weight": 1.0}, {"source": "controller_authcontroller_authcontroller_userinfo", "target": "controller_authcontroller_authcontroller_findcontextbydbuuid", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L573", "weight": 1.0}, {"source": "controller_authcontroller_authcontroller_switchcontext", "target": "controller_authcontroller_authcontroller_buildavailablecontexts", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L627", "weight": 1.0}, {"source": "controller_authcontroller_authcontroller_switchcontext", "target": "controller_authcontroller_authcontroller_findcontextbydbuuid", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L628", "weight": 1.0}, {"source": "controller_authcontroller_authcontroller_switchcontext", "target": "controller_authcontroller_authcontroller_builddbkey", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/AuthController.php", "source_location": "L638", "weight": 1.0}], "raw_calls": [{"caller_nid": "controller_authcontroller_authcontroller_login", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L106", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_login", "callee": "ErrorCodes", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L106", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_sendcode", "callee": "create", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L140", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_sendcode", "callee": "getClientIp", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L140", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_sendcode", "callee": "isAccepted", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L141", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_sendcode", "callee": "consume", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L141", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_sendcode", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L142", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_sendcode", "callee": "ErrorCodes", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L142", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_sendcode", "callee": "assertValid", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L145", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_sendcode", "callee": "json_decode", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L147", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_sendcode", "callee": "getContent", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L147", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_sendcode", "callee": "trim", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L148", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_sendcode", "callee": "isset", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L149", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_sendcode", "callee": "substr", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L149", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_sendcode", "callee": "trim", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L149", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_sendcode", "callee": "preg_match", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L151", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_sendcode", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L152", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_sendcode", "callee": "create", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L157", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_sendcode", "callee": "isAccepted", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L158", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_sendcode", "callee": "consume", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L158", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_sendcode", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L159", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_sendcode", "callee": "ErrorCodes", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L159", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_verifycode", "callee": "json_decode", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L207", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_verifycode", "callee": "getContent", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L207", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_verifycode", "callee": "trim", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L208", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_verifycode", "callee": "trim", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L209", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_verifycode", "callee": "empty", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L211", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_verifycode", "callee": "empty", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L211", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_verifycode", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L212", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_verifycode", "callee": "findByMobile", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L216", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_verifycode", "callee": "success", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L218", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_register", "callee": "assertValid", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L282", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_register", "callee": "json_decode", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L284", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_register", "callee": "getContent", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L284", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_register", "callee": "trim", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L285", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_register", "callee": "trim", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L286", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_register", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L289", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_register", "callee": "consumeGrant", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L292", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_register", "callee": "findByMobile", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L294", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_register", "callee": "setRealName", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L296", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_register", "callee": "save", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L299", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_register", "callee": "success", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L301", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_register", "callee": "getUuid", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L301", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_issuetoken", "callee": "json_decode", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L358", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_issuetoken", "callee": "getContent", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L358", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_issuetoken", "callee": "trim", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L360", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_issuetoken", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L363", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_issuetoken", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L366", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_issuetoken", "callee": "consumeGrant", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L369", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_issuetoken", "callee": "findByMobile", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L371", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_issuetoken", "callee": "save", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L372", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_issuetoken", "callee": "issueTokens", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L374", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_otplogin", "callee": "assertValid", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L384", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_otplogin", "callee": "json_decode", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L386", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_otplogin", "callee": "getContent", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L386", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_otplogin", "callee": "trim", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L387", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_otplogin", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L390", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_otplogin", "callee": "consumeGrant", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L393", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_otplogin", "callee": "findByMobile", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L394", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_otplogin", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L397", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_otplogin", "callee": "issueTokens", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L400", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_resetpassword", "callee": "assertValid", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L410", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_resetpassword", "callee": "json_decode", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L412", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_resetpassword", "callee": "getContent", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L412", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_resetpassword", "callee": "trim", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L413", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_resetpassword", "callee": "trim", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L414", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_resetpassword", "callee": "mb_strlen", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L416", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_resetpassword", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L417", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_resetpassword", "callee": "consumeGrant", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L420", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_resetpassword", "callee": "findByMobile", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L421", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_resetpassword", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L424", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_resetpassword", "callee": "setPasswordHash", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L427", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_resetpassword", "callee": "hashPassword", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L427", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_resetpassword", "callee": "flush", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L428", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_resetpassword", "callee": "success", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L430", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_refreshtoken", "callee": "json_decode", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L481", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_refreshtoken", "callee": "getContent", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L481", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_refreshtoken", "callee": "trim", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L482", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_refreshtoken", "callee": "empty", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L484", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_refreshtoken", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L485", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_refreshtoken", "callee": "find", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L489", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_refreshtoken", "callee": "getStatus", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L491", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_refreshtoken", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L492", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_refreshtoken", "callee": "ErrorCodes", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L492", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_refreshtoken", "callee": "issueTokens", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L500", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_userinfo", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L559", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_userinfo", "callee": "ErrorCodes", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L559", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_userinfo", "callee": "findByUser", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L566", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_userinfo", "callee": "count", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L567", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_userinfo", "callee": "upsert", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L568", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_userinfo", "callee": "findByUser", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L574", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_userinfo", "callee": "success", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L576", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_userinfo", "callee": "getId", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L577", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_userinfo", "callee": "getUuid", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L578", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_userinfo", "callee": "getMobileNumber", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L579", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_userinfo", "callee": "getRealName", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L580", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_userinfo", "callee": "getStatus", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L581", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_userinfo", "callee": "getRoles", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L582", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_switchcontext", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L617", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_switchcontext", "callee": "ErrorCodes", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L617", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_switchcontext", "callee": "json_decode", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L620", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_switchcontext", "callee": "getContent", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L620", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_switchcontext", "callee": "trim", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L621", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_switchcontext", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L624", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_switchcontext", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L631", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_switchcontext", "callee": "upsert", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L634", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_switchcontext", "callee": "success", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L636", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_enforcelimit", "callee": "create", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L647", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_enforcelimit", "callee": "getClientIp", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L647", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_enforcelimit", "callee": "isAccepted", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L648", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_enforcelimit", "callee": "consume", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L648", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_enforcelimit", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L649", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_enforcelimit", "callee": "ErrorCodes", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L649", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_resolveprimaryrole", "callee": "getRoles", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L656", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_resolveprimaryrole", "callee": "in_array", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L657", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_resolveprimaryrole", "callee": "in_array", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L658", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_resolveprimaryrole", "callee": "in_array", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L659", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_resolveprimaryrole", "callee": "in_array", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L660", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_resolveprimaryrole", "callee": "in_array", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L661", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_buildavailablecontexts", "callee": "findByUser", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L670", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_buildavailablecontexts", "callee": "getUuid", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L673", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_buildavailablecontexts", "callee": "getName", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L674", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_buildavailablecontexts", "callee": "findByDoctor", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L677", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_buildavailablecontexts", "callee": "getId", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L681", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_buildavailablecontexts", "callee": "getUser", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L681", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_buildavailablecontexts", "callee": "getId", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L681", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_buildavailablecontexts", "callee": "getUuid", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L684", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_buildavailablecontexts", "callee": "getName", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L685", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_buildavailablecontexts", "callee": "getUuid", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L688", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_buildavailablecontexts", "callee": "findByUser", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L694", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_buildavailablecontexts", "callee": "array_filter", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L695", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_buildavailablecontexts", "callee": "getUuid", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L695", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_buildavailablecontexts", "callee": "empty", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L696", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_buildavailablecontexts", "callee": "getUuid", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L699", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_buildavailablecontexts", "callee": "getName", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L700", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_buildavailablecontexts", "callee": "findAllActiveBySecretary", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L707", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_buildavailablecontexts", "callee": "getOwnerType", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L708", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_buildavailablecontexts", "callee": "getClinic", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L708", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_buildavailablecontexts", "callee": "getUuid", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L710", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_buildavailablecontexts", "callee": "getClinic", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L710", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_buildavailablecontexts", "callee": "array_filter", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L711", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_buildavailablecontexts", "callee": "empty", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L712", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_buildavailablecontexts", "callee": "getName", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L716", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_buildavailablecontexts", "callee": "getClinic", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L716", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_buildavailablecontexts", "callee": "getPermissions", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L719", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_buildavailablecontexts", "callee": "getUuid", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L726", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_buildavailablecontexts", "callee": "getDoctor", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L726", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_buildavailablecontexts", "callee": "getName", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L727", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_buildavailablecontexts", "callee": "getDoctor", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L727", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_buildavailablecontexts", "callee": "getPermissions", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L730", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_builddbkey", "callee": "hash_hmac", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L750", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_builddbkey", "callee": "getParameter", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L750", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_logout", "callee": "json_decode", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L787", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_logout", "callee": "getContent", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L787", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_logout", "callee": "trim", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L788", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_logout", "callee": "revokeRefreshToken", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L791", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_logout", "callee": "success", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L794", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_sessiontoken", "callee": "bin2hex", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L800", "receiver": null}, {"caller_nid": "controller_authcontroller_authcontroller_sessiontoken", "callee": "random_bytes", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php", "source_location": "L800", "receiver": null}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.8.44/51e53996bd81dece6745b657f1728dd6e02e1dcafe6171f84761e9624dcd0f60.json b/graphify-out/cache/ast/v0.8.44/51e53996bd81dece6745b657f1728dd6e02e1dcafe6171f84761e9624dcd0f60.json new file mode 100644 index 00000000..f69b343e --- /dev/null +++ b/graphify-out/cache/ast/v0.8.44/51e53996bd81dece6745b657f1728dd6e02e1dcafe6171f84761e9624dcd0f60.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_preregistrationcontroller_php", "label": "PreRegistrationController.php", "file_type": "code", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L1"}, {"id": "controller_preregistrationcontroller_preregistrationcontroller", "label": "PreRegistrationController", "file_type": "code", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L26"}, {"id": "basecontroller", "label": "BaseController", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "controller_preregistrationcontroller_preregistrationcontroller_construct", "label": ".__construct()", "file_type": "code", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L29"}, {"id": "controller_preregistrationcontroller_preregistrationcontroller_submit", "label": ".submit()", "file_type": "code", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L42"}, {"id": "request", "label": "Request", "file_type": "code", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L42"}, {"id": "jsonresponse", "label": "JsonResponse", "file_type": "code", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L42"}, {"id": "controller_preregistrationcontroller_preregistrationcontroller_list", "label": ".list()", "file_type": "code", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L80"}, {"id": "controller_preregistrationcontroller_preregistrationcontroller_approve", "label": ".approve()", "file_type": "code", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L108"}, {"id": "controller_preregistrationcontroller_preregistrationcontroller_reject", "label": ".reject()", "file_type": "code", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L178"}], "edges": [{"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_preregistrationcontroller_php", "target": "preregistration", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L5", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_preregistrationcontroller_php", "target": "user", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L6", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_preregistrationcontroller_php", "target": "preregistrationrepository", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L7", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_preregistrationcontroller_php", "target": "userrepository", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L8", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_preregistrationcontroller_php", "target": "clinic", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L9", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_preregistrationcontroller_php", "target": "clinicrepository", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L10", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_preregistrationcontroller_php", "target": "doctor", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L11", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_preregistrationcontroller_php", "target": "doctorrepository", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L12", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_preregistrationcontroller_php", "target": "captchaguard", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L13", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_preregistrationcontroller_php", "target": "errorcodes", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L14", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_preregistrationcontroller_php", "target": "basecontroller", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L15", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_preregistrationcontroller_php", "target": "smsservice", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L16", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_preregistrationcontroller_php", "target": "entitymanagerinterface", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L17", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_preregistrationcontroller_php", "target": "loggerinterface", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L18", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_preregistrationcontroller_php", "target": "jsonresponse", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L19", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_preregistrationcontroller_php", "target": "request", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L20", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_preregistrationcontroller_php", "target": "userpasswordhasherinterface", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L21", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_preregistrationcontroller_php", "target": "route", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L22", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_preregistrationcontroller_php", "target": "isgranted", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L23", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_preregistrationcontroller_php", "target": "attributes", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L24", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_controller_preregistrationcontroller_php", "target": "controller_preregistrationcontroller_preregistrationcontroller", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L26", "weight": 1.0}, {"source": "controller_preregistrationcontroller_preregistrationcontroller", "target": "basecontroller", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L27", "weight": 1.0}, {"source": "controller_preregistrationcontroller_preregistrationcontroller", "target": "controller_preregistrationcontroller_preregistrationcontroller_construct", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L29", "weight": 1.0}, {"source": "controller_preregistrationcontroller_preregistrationcontroller", "target": "controller_preregistrationcontroller_preregistrationcontroller_submit", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L42", "weight": 1.0}, {"source": "controller_preregistrationcontroller_preregistrationcontroller_submit", "target": "request", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L42", "weight": 1.0, "context": "parameter_type"}, {"source": "controller_preregistrationcontroller_preregistrationcontroller_submit", "target": "jsonresponse", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L42", "weight": 1.0, "context": "return_type"}, {"source": "controller_preregistrationcontroller_preregistrationcontroller", "target": "controller_preregistrationcontroller_preregistrationcontroller_list", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L80", "weight": 1.0}, {"source": "controller_preregistrationcontroller_preregistrationcontroller_list", "target": "request", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L80", "weight": 1.0, "context": "parameter_type"}, {"source": "controller_preregistrationcontroller_preregistrationcontroller_list", "target": "jsonresponse", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L80", "weight": 1.0, "context": "return_type"}, {"source": "controller_preregistrationcontroller_preregistrationcontroller", "target": "controller_preregistrationcontroller_preregistrationcontroller_approve", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L108", "weight": 1.0}, {"source": "controller_preregistrationcontroller_preregistrationcontroller_approve", "target": "jsonresponse", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L108", "weight": 1.0, "context": "return_type"}, {"source": "controller_preregistrationcontroller_preregistrationcontroller", "target": "controller_preregistrationcontroller_preregistrationcontroller_reject", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L178", "weight": 1.0}, {"source": "controller_preregistrationcontroller_preregistrationcontroller_reject", "target": "request", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L178", "weight": 1.0, "context": "parameter_type"}, {"source": "controller_preregistrationcontroller_preregistrationcontroller_reject", "target": "jsonresponse", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Auth/Controller/PreRegistrationController.php", "source_location": "L178", "weight": 1.0, "context": "return_type"}], "raw_calls": [{"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_submit", "callee": "assertValid", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L45", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_submit", "callee": "json_decode", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L47", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_submit", "callee": "getContent", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L47", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_submit", "callee": "trim", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L48", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_submit", "callee": "trim", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L49", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_submit", "callee": "trim", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L50", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_submit", "callee": "trim", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L51", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_submit", "callee": "in_array", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L59", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_submit", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L60", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_submit", "callee": "mb_strlen", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L62", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_submit", "callee": "mb_strlen", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L62", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_submit", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L63", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_submit", "callee": "mb_strlen", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L65", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_submit", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L66", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_submit", "callee": "hasPendingForMobile", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L69", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_submit", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L70", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_submit", "callee": "persist", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L74", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_submit", "callee": "flush", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L75", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_submit", "callee": "success", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L77", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_submit", "callee": "getUuid", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L77", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_submit", "callee": "getStatus", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L77", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_list", "callee": "get", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L84", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_list", "callee": "get", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L85", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_list", "callee": "get", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L86", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_list", "callee": "from", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L88", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_list", "callee": "select", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L88", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_list", "callee": "createQueryBuilder", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L88", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_list", "callee": "setParameter", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L93", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_list", "callee": "where", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L93", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_list", "callee": "getSingleScalarResult", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L96", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_list", "callee": "getQuery", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L96", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_list", "callee": "select", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L96", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_list", "callee": "getArrayResult", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L98", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_list", "callee": "getQuery", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L98", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_list", "callee": "setMaxResults", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L98", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_list", "callee": "setFirstResult", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L98", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_list", "callee": "orderBy", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L98", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_list", "callee": "paginated", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L105", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "findOneBy", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L112", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L114", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "isPending", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L116", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L117", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "bin2hex", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L120", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "random_bytes", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L120", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "findOneBy", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L122", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "getMobile", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L122", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "getMobile", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L124", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "setPasswordHash", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L126", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "hashPassword", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L126", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "setRealName", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L127", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "getName", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L127", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "persist", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L129", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "getType", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L131", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "addRole", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L135", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "findOneBy", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L136", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "getName", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L138", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "setMobileNumber", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L139", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "getMobile", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L139", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "persist", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L140", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "addRole", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L145", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "findOneBy", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L146", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "setName", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L148", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "getName", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L148", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "setTelephone", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L149", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "getMobile", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L149", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "setNotificationMobile", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L150", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "getMobile", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L150", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "add", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L152", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "getDoctors", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L152", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "persist", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L154", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "flush", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L159", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "dispatchTemplate", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L162", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "getMobile", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L164", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "getMobile", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L166", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "rtrim", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L168", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "warning", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L172", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "getMessage", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L172", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_approve", "callee": "success", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L175", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_reject", "callee": "findOneBy", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L182", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_reject", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L184", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_reject", "callee": "isPending", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L186", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_reject", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L187", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_reject", "callee": "json_decode", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L190", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_reject", "callee": "getContent", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L190", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_reject", "callee": "flush", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L192", "receiver": null}, {"caller_nid": "controller_preregistrationcontroller_preregistrationcontroller_reject", "callee": "success", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php", "source_location": "L194", "receiver": null}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.8.44/546ab73e38144470b6ba0ee685ce273acc48d22a03f7d3f58c4e9d3cc9213230.json b/graphify-out/cache/ast/v0.8.44/546ab73e38144470b6ba0ee685ce273acc48d22a03f7d3f58c4e9d3cc9213230.json new file mode 100644 index 00000000..b1fd0394 --- /dev/null +++ b/graphify-out/cache/ast/v0.8.44/546ab73e38144470b6ba0ee685ce273acc48d22a03f7d3f58c4e9d3cc9213230.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_hamed_pj_my_pj_clinic_pro_clinicpro_docs_api_rating_md", "label": "rating.md", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L1"}, {"id": "api_rating_rating_comments_api", "label": "Rating & Comments API", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L1"}, {"id": "api_rating_post_api_v1_rate", "label": "POST `/api/v1/rate`", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L7"}, {"id": "api_rating_request_body_application_json", "label": "Request Body (`application/json`)", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L17"}, {"id": "api_rating_response_201_200", "label": "Response `201` / `200`", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L39"}, {"id": "api_rating_errors", "label": "Errors", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L61"}, {"id": "api_rating_get_api_v1_rate_doctoruuid", "label": "GET `/api/v1/rate/{doctorUuid}`", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L71"}, {"id": "api_rating_path_parameters", "label": "Path Parameters", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L77"}, {"id": "api_rating_response_200", "label": "Response `200`", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L82"}, {"id": "api_rating_errors_107", "label": "Errors", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L107"}, {"id": "api_rating_get_api_v1_rate_doctoruuid_eligibility", "label": "GET `/api/v1/rate/{doctorUuid}/eligibility`", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L114"}, {"id": "api_rating_path_parameters_120", "label": "Path Parameters", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L120"}, {"id": "api_rating_response_200_125", "label": "Response `200`", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L125"}, {"id": "api_rating_errors_135", "label": "Errors", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L135"}, {"id": "api_rating_post_api_v1_comment", "label": "POST `/api/v1/comment`", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L143"}, {"id": "api_rating_request_body_application_json_155", "label": "Request Body (`application/json`)", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L155"}, {"id": "api_rating_response_201", "label": "Response `201`", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L170"}, {"id": "api_rating_errors_175", "label": "Errors", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L175"}, {"id": "api_rating_get_api_v1_comments_doctoruuid", "label": "GET `/api/v1/comments/{doctorUuid}`", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L185"}, {"id": "api_rating_path_parameters_193", "label": "Path Parameters", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L193"}, {"id": "api_rating_response_200_198", "label": "Response `200`", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L198"}, {"id": "api_rating_errors_237", "label": "Errors", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L237"}, {"id": "api_rating_delete_api_v1_comment_uuid", "label": "DELETE `/api/v1/comment/{uuid}`", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L244"}, {"id": "api_rating_response_200_250", "label": "Response `200`", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L250"}, {"id": "api_rating_errors_255", "label": "Errors", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L255"}, {"id": "api_rating_get_api_v1_admin_comments_pending", "label": "GET `/api/v1/admin/comments/pending`", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L264"}, {"id": "api_rating_response_200_270", "label": "Response `200`", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L270"}, {"id": "api_rating_errors_287", "label": "Errors", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L287"}, {"id": "api_rating_post_api_v1_admin_comment_uuid_approve", "label": "POST `/api/v1/admin/comment/{uuid}/approve`", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L295"}, {"id": "api_rating_response_200_301", "label": "Response `200`", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L301"}, {"id": "api_rating_errors_304", "label": "Errors", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L304"}, {"id": "api_rating_post_api_v1_admin_comment_uuid_reject", "label": "POST `/api/v1/admin/comment/{uuid}/reject`", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L313"}, {"id": "api_rating_response_200_319", "label": "Response `200`", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L319"}, {"id": "api_rating_errors_322", "label": "Errors", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L322"}, {"id": "api_rating_post_api_v1_like_commentuuid", "label": "POST `/api/v1/like/{commentUuid}`", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L331"}, {"id": "api_rating_path_parameters_340", "label": "Path Parameters", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L340"}, {"id": "api_rating_request_body_application_json_345", "label": "Request Body (`application/json`)", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L345"}, {"id": "api_rating_response_200_353", "label": "Response `200`", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L353"}, {"id": "api_rating_errors_365", "label": "Errors", "file_type": "document", "source_file": "docs/api/rating.md", "source_location": "L365"}], "edges": [{"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_docs_api_rating_md", "target": "api_rating_rating_comments_api", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L1", "weight": 1.0}, {"source": "api_rating_rating_comments_api", "target": "api_rating_post_api_v1_rate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L7", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_docs_api_rating_md", "target": "users_hamed_pj_my_pj_clinic_pro_clinicpro_docs_api_captcha_md", "relation": "references", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L13", "weight": 1.0}, {"source": "api_rating_post_api_v1_rate", "target": "api_rating_request_body_application_json", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L17", "weight": 1.0}, {"source": "api_rating_post_api_v1_rate", "target": "api_rating_response_201_200", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L39", "weight": 1.0}, {"source": "api_rating_post_api_v1_rate", "target": "api_rating_errors", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L61", "weight": 1.0}, {"source": "api_rating_rating_comments_api", "target": "api_rating_get_api_v1_rate_doctoruuid", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L71", "weight": 1.0}, {"source": "api_rating_get_api_v1_rate_doctoruuid", "target": "api_rating_path_parameters", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L77", "weight": 1.0}, {"source": "api_rating_get_api_v1_rate_doctoruuid", "target": "api_rating_response_200", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L82", "weight": 1.0}, {"source": "api_rating_get_api_v1_rate_doctoruuid", "target": "api_rating_errors_107", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L107", "weight": 1.0}, {"source": "api_rating_rating_comments_api", "target": "api_rating_get_api_v1_rate_doctoruuid_eligibility", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L114", "weight": 1.0}, {"source": "api_rating_get_api_v1_rate_doctoruuid_eligibility", "target": "api_rating_path_parameters_120", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L120", "weight": 1.0}, {"source": "api_rating_get_api_v1_rate_doctoruuid_eligibility", "target": "api_rating_response_200_125", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L125", "weight": 1.0}, {"source": "api_rating_get_api_v1_rate_doctoruuid_eligibility", "target": "api_rating_errors_135", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L135", "weight": 1.0}, {"source": "api_rating_rating_comments_api", "target": "api_rating_post_api_v1_comment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L143", "weight": 1.0}, {"source": "api_rating_post_api_v1_comment", "target": "api_rating_request_body_application_json_155", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L155", "weight": 1.0}, {"source": "api_rating_post_api_v1_comment", "target": "api_rating_response_201", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L170", "weight": 1.0}, {"source": "api_rating_post_api_v1_comment", "target": "api_rating_errors_175", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L175", "weight": 1.0}, {"source": "api_rating_rating_comments_api", "target": "api_rating_get_api_v1_comments_doctoruuid", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L185", "weight": 1.0}, {"source": "api_rating_get_api_v1_comments_doctoruuid", "target": "api_rating_path_parameters_193", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L193", "weight": 1.0}, {"source": "api_rating_get_api_v1_comments_doctoruuid", "target": "api_rating_response_200_198", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L198", "weight": 1.0}, {"source": "api_rating_get_api_v1_comments_doctoruuid", "target": "api_rating_errors_237", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L237", "weight": 1.0}, {"source": "api_rating_rating_comments_api", "target": "api_rating_delete_api_v1_comment_uuid", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L244", "weight": 1.0}, {"source": "api_rating_delete_api_v1_comment_uuid", "target": "api_rating_response_200_250", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L250", "weight": 1.0}, {"source": "api_rating_delete_api_v1_comment_uuid", "target": "api_rating_errors_255", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L255", "weight": 1.0}, {"source": "api_rating_rating_comments_api", "target": "api_rating_get_api_v1_admin_comments_pending", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L264", "weight": 1.0}, {"source": "api_rating_get_api_v1_admin_comments_pending", "target": "api_rating_response_200_270", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L270", "weight": 1.0}, {"source": "api_rating_get_api_v1_admin_comments_pending", "target": "api_rating_errors_287", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L287", "weight": 1.0}, {"source": "api_rating_rating_comments_api", "target": "api_rating_post_api_v1_admin_comment_uuid_approve", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L295", "weight": 1.0}, {"source": "api_rating_post_api_v1_admin_comment_uuid_approve", "target": "api_rating_response_200_301", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L301", "weight": 1.0}, {"source": "api_rating_post_api_v1_admin_comment_uuid_approve", "target": "api_rating_errors_304", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L304", "weight": 1.0}, {"source": "api_rating_rating_comments_api", "target": "api_rating_post_api_v1_admin_comment_uuid_reject", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L313", "weight": 1.0}, {"source": "api_rating_post_api_v1_admin_comment_uuid_reject", "target": "api_rating_response_200_319", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L319", "weight": 1.0}, {"source": "api_rating_post_api_v1_admin_comment_uuid_reject", "target": "api_rating_errors_322", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L322", "weight": 1.0}, {"source": "api_rating_rating_comments_api", "target": "api_rating_post_api_v1_like_commentuuid", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L331", "weight": 1.0}, {"source": "api_rating_post_api_v1_like_commentuuid", "target": "api_rating_path_parameters_340", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L340", "weight": 1.0}, {"source": "api_rating_post_api_v1_like_commentuuid", "target": "api_rating_request_body_application_json_345", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L345", "weight": 1.0}, {"source": "api_rating_post_api_v1_like_commentuuid", "target": "api_rating_response_200_353", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L353", "weight": 1.0}, {"source": "api_rating_post_api_v1_like_commentuuid", "target": "api_rating_errors_365", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/rating.md", "source_location": "L365", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.8.44/63bfddb2b2dd14542521febeda5cc3584ed8c08eb27e1983dfeb1657154b3f7f.json b/graphify-out/cache/ast/v0.8.44/63bfddb2b2dd14542521febeda5cc3584ed8c08eb27e1983dfeb1657154b3f7f.json new file mode 100644 index 00000000..6ccc0a9e --- /dev/null +++ b/graphify-out/cache/ast/v0.8.44/63bfddb2b2dd14542521febeda5cc3584ed8c08eb27e1983dfeb1657154b3f7f.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_hamed_pj_my_pj_clinic_pro_clinicpro_tests_shared_captcha_captchaflowtest_php", "label": "CaptchaFlowTest.php", "file_type": "code", "source_file": "tests/Shared/Captcha/CaptchaFlowTest.php", "source_location": "L1"}, {"id": "captcha_captchaflowtest_captchaflowtest", "label": "CaptchaFlowTest", "file_type": "code", "source_file": "tests/Shared/Captcha/CaptchaFlowTest.php", "source_location": "L11"}, {"id": "apitestcase", "label": "ApiTestCase", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "captcha_captchaflowtest_captchaflowtest_testchallengeendpointispublicandwellformed", "label": ".testChallengeEndpointIsPublicAndWellFormed()", "file_type": "code", "source_file": "tests/Shared/Captcha/CaptchaFlowTest.php", "source_location": "L13"}, {"id": "captcha_captchaflowtest_captchaflowtest_testpublicendpointbypassescaptchawhendisabled", "label": ".testPublicEndpointBypassesCaptchaWhenDisabled()", "file_type": "code", "source_file": "tests/Shared/Captcha/CaptchaFlowTest.php", "source_location": "L25"}], "edges": [{"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_tests_shared_captcha_captchaflowtest_php", "target": "apitestcase", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/Shared/Captcha/CaptchaFlowTest.php", "source_location": "L5", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_tests_shared_captcha_captchaflowtest_php", "target": "captcha_captchaflowtest_captchaflowtest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/Shared/Captcha/CaptchaFlowTest.php", "source_location": "L11", "weight": 1.0}, {"source": "captcha_captchaflowtest_captchaflowtest", "target": "apitestcase", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "tests/Shared/Captcha/CaptchaFlowTest.php", "source_location": "L11", "weight": 1.0}, {"source": "captcha_captchaflowtest_captchaflowtest", "target": "captcha_captchaflowtest_captchaflowtest_testchallengeendpointispublicandwellformed", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/Shared/Captcha/CaptchaFlowTest.php", "source_location": "L13", "weight": 1.0}, {"source": "captcha_captchaflowtest_captchaflowtest", "target": "captcha_captchaflowtest_captchaflowtest_testpublicendpointbypassescaptchawhendisabled", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/Shared/Captcha/CaptchaFlowTest.php", "source_location": "L25", "weight": 1.0}], "raw_calls": [{"caller_nid": "captcha_captchaflowtest_captchaflowtest_testchallengeendpointispublicandwellformed", "callee": "request", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/CaptchaFlowTest.php", "source_location": "L15", "receiver": null}, {"caller_nid": "captcha_captchaflowtest_captchaflowtest_testchallengeendpointispublicandwellformed", "callee": "self", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/CaptchaFlowTest.php", "source_location": "L16", "receiver": null}, {"caller_nid": "captcha_captchaflowtest_captchaflowtest_testchallengeendpointispublicandwellformed", "callee": "responseCode", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/CaptchaFlowTest.php", "source_location": "L16", "receiver": null}, {"caller_nid": "captcha_captchaflowtest_captchaflowtest_testchallengeendpointispublicandwellformed", "callee": "json_decode", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/CaptchaFlowTest.php", "source_location": "L18", "receiver": null}, {"caller_nid": "captcha_captchaflowtest_captchaflowtest_testchallengeendpointispublicandwellformed", "callee": "getContent", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/CaptchaFlowTest.php", "source_location": "L18", "receiver": null}, {"caller_nid": "captcha_captchaflowtest_captchaflowtest_testchallengeendpointispublicandwellformed", "callee": "getResponse", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/CaptchaFlowTest.php", "source_location": "L18", "receiver": null}, {"caller_nid": "captcha_captchaflowtest_captchaflowtest_testchallengeendpointispublicandwellformed", "callee": "self", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/CaptchaFlowTest.php", "source_location": "L19", "receiver": null}, {"caller_nid": "captcha_captchaflowtest_captchaflowtest_testchallengeendpointispublicandwellformed", "callee": "self", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/CaptchaFlowTest.php", "source_location": "L21", "receiver": null}, {"caller_nid": "captcha_captchaflowtest_captchaflowtest_testpublicendpointbypassescaptchawhendisabled", "callee": "request", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/CaptchaFlowTest.php", "source_location": "L29", "receiver": null}, {"caller_nid": "captcha_captchaflowtest_captchaflowtest_testpublicendpointbypassescaptchawhendisabled", "callee": "json_encode", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/CaptchaFlowTest.php", "source_location": "L33", "receiver": null}, {"caller_nid": "captcha_captchaflowtest_captchaflowtest_testpublicendpointbypassescaptchawhendisabled", "callee": "json_decode", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/CaptchaFlowTest.php", "source_location": "L37", "receiver": null}, {"caller_nid": "captcha_captchaflowtest_captchaflowtest_testpublicendpointbypassescaptchawhendisabled", "callee": "getContent", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/CaptchaFlowTest.php", "source_location": "L37", "receiver": null}, {"caller_nid": "captcha_captchaflowtest_captchaflowtest_testpublicendpointbypassescaptchawhendisabled", "callee": "getResponse", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/CaptchaFlowTest.php", "source_location": "L37", "receiver": null}, {"caller_nid": "captcha_captchaflowtest_captchaflowtest_testpublicendpointbypassescaptchawhendisabled", "callee": "self", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/CaptchaFlowTest.php", "source_location": "L39", "receiver": null}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.8.44/63d566ddb57c57860dce114a2fa5575f83877ad50bcdaace4d2f31648f83aa6c.json b/graphify-out/cache/ast/v0.8.44/63d566ddb57c57860dce114a2fa5575f83877ad50bcdaace4d2f31648f83aa6c.json new file mode 100644 index 00000000..04374752 --- /dev/null +++ b/graphify-out/cache/ast/v0.8.44/63d566ddb57c57860dce114a2fa5575f83877ad50bcdaace4d2f31648f83aa6c.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_hamed_pj_my_pj_clinic_pro_clinicpro_tests_shared_captcha_altchaservicetest_php", "label": "AltchaServiceTest.php", "file_type": "code", "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L1"}, {"id": "captcha_altchaservicetest_altchaservicetest", "label": "AltchaServiceTest", "file_type": "code", "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L14"}, {"id": "testcase", "label": "TestCase", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "captcha_altchaservicetest_altchaservicetest_service", "label": ".service()", "file_type": "code", "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L18"}, {"id": "altchaservice", "label": "AltchaService", "file_type": "code", "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L18"}, {"id": "captcha_altchaservicetest_altchaservicetest_solvedpayload", "label": ".solvedPayload()", "file_type": "code", "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L27"}, {"id": "captcha_altchaservicetest_altchaservicetest_testcreatechallengeshape", "label": ".testCreateChallengeShape()", "file_type": "code", "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L47"}, {"id": "captcha_altchaservicetest_altchaservicetest_testvalidsolutionverifies", "label": ".testValidSolutionVerifies()", "file_type": "code", "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L57"}, {"id": "captcha_altchaservicetest_altchaservicetest_testreplayisrejected", "label": ".testReplayIsRejected()", "file_type": "code", "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L64"}, {"id": "captcha_altchaservicetest_altchaservicetest_testtamperedsignaturerejected", "label": ".testTamperedSignatureRejected()", "file_type": "code", "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L72"}, {"id": "captcha_altchaservicetest_altchaservicetest_testemptyandgarbagepayloadsrejected", "label": ".testEmptyAndGarbagePayloadsRejected()", "file_type": "code", "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L80"}, {"id": "captcha_altchaservicetest_altchaservicetest_testenabledflag", "label": ".testEnabledFlag()", "file_type": "code", "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L88"}], "edges": [{"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_tests_shared_captcha_altchaservicetest_php", "target": "altcha", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L5", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_tests_shared_captcha_altchaservicetest_php", "target": "algorithm", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L6", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_tests_shared_captcha_altchaservicetest_php", "target": "altchaservice", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L7", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_tests_shared_captcha_altchaservicetest_php", "target": "testcase", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L8", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_tests_shared_captcha_altchaservicetest_php", "target": "arrayadapter", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L9", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_tests_shared_captcha_altchaservicetest_php", "target": "captcha_altchaservicetest_altchaservicetest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L14", "weight": 1.0}, {"source": "captcha_altchaservicetest_altchaservicetest", "target": "testcase", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L14", "weight": 1.0}, {"source": "captcha_altchaservicetest_altchaservicetest", "target": "captcha_altchaservicetest_altchaservicetest_service", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L18", "weight": 1.0}, {"source": "captcha_altchaservicetest_altchaservicetest_service", "target": "altchaservice", "relation": "references", "confidence": "EXTRACTED", "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L18", "weight": 1.0, "context": "return_type"}, {"source": "captcha_altchaservicetest_altchaservicetest", "target": "captcha_altchaservicetest_altchaservicetest_solvedpayload", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L27", "weight": 1.0}, {"source": "captcha_altchaservicetest_altchaservicetest", "target": "captcha_altchaservicetest_altchaservicetest_testcreatechallengeshape", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L47", "weight": 1.0}, {"source": "captcha_altchaservicetest_altchaservicetest", "target": "captcha_altchaservicetest_altchaservicetest_testvalidsolutionverifies", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L57", "weight": 1.0}, {"source": "captcha_altchaservicetest_altchaservicetest", "target": "captcha_altchaservicetest_altchaservicetest_testreplayisrejected", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L64", "weight": 1.0}, {"source": "captcha_altchaservicetest_altchaservicetest", "target": "captcha_altchaservicetest_altchaservicetest_testtamperedsignaturerejected", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L72", "weight": 1.0}, {"source": "captcha_altchaservicetest_altchaservicetest", "target": "captcha_altchaservicetest_altchaservicetest_testemptyandgarbagepayloadsrejected", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L80", "weight": 1.0}, {"source": "captcha_altchaservicetest_altchaservicetest", "target": "captcha_altchaservicetest_altchaservicetest_testenabledflag", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L88", "weight": 1.0}, {"source": "captcha_altchaservicetest_altchaservicetest_testcreatechallengeshape", "target": "captcha_altchaservicetest_altchaservicetest_service", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L49", "weight": 1.0}, {"source": "captcha_altchaservicetest_altchaservicetest_testvalidsolutionverifies", "target": "captcha_altchaservicetest_altchaservicetest_service", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L59", "weight": 1.0}, {"source": "captcha_altchaservicetest_altchaservicetest_testvalidsolutionverifies", "target": "captcha_altchaservicetest_altchaservicetest_solvedpayload", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L60", "weight": 1.0}, {"source": "captcha_altchaservicetest_altchaservicetest_testreplayisrejected", "target": "captcha_altchaservicetest_altchaservicetest_service", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L66", "weight": 1.0}, {"source": "captcha_altchaservicetest_altchaservicetest_testreplayisrejected", "target": "captcha_altchaservicetest_altchaservicetest_solvedpayload", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L67", "weight": 1.0}, {"source": "captcha_altchaservicetest_altchaservicetest_testtamperedsignaturerejected", "target": "captcha_altchaservicetest_altchaservicetest_service", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L74", "weight": 1.0}, {"source": "captcha_altchaservicetest_altchaservicetest_testtamperedsignaturerejected", "target": "captcha_altchaservicetest_altchaservicetest_solvedpayload", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L77", "weight": 1.0}, {"source": "captcha_altchaservicetest_altchaservicetest_testemptyandgarbagepayloadsrejected", "target": "captcha_altchaservicetest_altchaservicetest_service", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L82", "weight": 1.0}, {"source": "captcha_altchaservicetest_altchaservicetest_testenabledflag", "target": "captcha_altchaservicetest_altchaservicetest_service", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L90", "weight": 1.0}], "raw_calls": [{"caller_nid": "captcha_altchaservicetest_altchaservicetest_solvedpayload", "callee": "solveChallenge", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L30", "receiver": null}, {"caller_nid": "captcha_altchaservicetest_altchaservicetest_solvedpayload", "callee": "self", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L36", "receiver": null}, {"caller_nid": "captcha_altchaservicetest_altchaservicetest_solvedpayload", "callee": "base64_encode", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L38", "receiver": null}, {"caller_nid": "captcha_altchaservicetest_altchaservicetest_solvedpayload", "callee": "json_encode", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L38", "receiver": null}, {"caller_nid": "captcha_altchaservicetest_altchaservicetest_testcreatechallengeshape", "callee": "createChallenge", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L49", "receiver": null}, {"caller_nid": "captcha_altchaservicetest_altchaservicetest_testcreatechallengeshape", "callee": "self", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L50", "receiver": null}, {"caller_nid": "captcha_altchaservicetest_altchaservicetest_testcreatechallengeshape", "callee": "self", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L51", "receiver": null}, {"caller_nid": "captcha_altchaservicetest_altchaservicetest_testcreatechallengeshape", "callee": "self", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L52", "receiver": null}, {"caller_nid": "captcha_altchaservicetest_altchaservicetest_testcreatechallengeshape", "callee": "self", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L53", "receiver": null}, {"caller_nid": "captcha_altchaservicetest_altchaservicetest_testcreatechallengeshape", "callee": "self", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L54", "receiver": null}, {"caller_nid": "captcha_altchaservicetest_altchaservicetest_testvalidsolutionverifies", "callee": "createChallenge", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L60", "receiver": null}, {"caller_nid": "captcha_altchaservicetest_altchaservicetest_testvalidsolutionverifies", "callee": "self", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L61", "receiver": null}, {"caller_nid": "captcha_altchaservicetest_altchaservicetest_testvalidsolutionverifies", "callee": "verifySolution", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L61", "receiver": null}, {"caller_nid": "captcha_altchaservicetest_altchaservicetest_testreplayisrejected", "callee": "createChallenge", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L67", "receiver": null}, {"caller_nid": "captcha_altchaservicetest_altchaservicetest_testreplayisrejected", "callee": "self", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L68", "receiver": null}, {"caller_nid": "captcha_altchaservicetest_altchaservicetest_testreplayisrejected", "callee": "verifySolution", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L68", "receiver": null}, {"caller_nid": "captcha_altchaservicetest_altchaservicetest_testreplayisrejected", "callee": "self", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L69", "receiver": null}, {"caller_nid": "captcha_altchaservicetest_altchaservicetest_testreplayisrejected", "callee": "verifySolution", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L69", "receiver": null}, {"caller_nid": "captcha_altchaservicetest_altchaservicetest_testtamperedsignaturerejected", "callee": "createChallenge", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L75", "receiver": null}, {"caller_nid": "captcha_altchaservicetest_altchaservicetest_testtamperedsignaturerejected", "callee": "str_repeat", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L76", "receiver": null}, {"caller_nid": "captcha_altchaservicetest_altchaservicetest_testtamperedsignaturerejected", "callee": "strlen", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L76", "receiver": null}, {"caller_nid": "captcha_altchaservicetest_altchaservicetest_testtamperedsignaturerejected", "callee": "self", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L77", "receiver": null}, {"caller_nid": "captcha_altchaservicetest_altchaservicetest_testtamperedsignaturerejected", "callee": "verifySolution", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L77", "receiver": null}, {"caller_nid": "captcha_altchaservicetest_altchaservicetest_testemptyandgarbagepayloadsrejected", "callee": "self", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L83", "receiver": null}, {"caller_nid": "captcha_altchaservicetest_altchaservicetest_testemptyandgarbagepayloadsrejected", "callee": "verifySolution", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L83", "receiver": null}, {"caller_nid": "captcha_altchaservicetest_altchaservicetest_testemptyandgarbagepayloadsrejected", "callee": "self", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L84", "receiver": null}, {"caller_nid": "captcha_altchaservicetest_altchaservicetest_testemptyandgarbagepayloadsrejected", "callee": "verifySolution", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L84", "receiver": null}, {"caller_nid": "captcha_altchaservicetest_altchaservicetest_testemptyandgarbagepayloadsrejected", "callee": "self", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L85", "receiver": null}, {"caller_nid": "captcha_altchaservicetest_altchaservicetest_testemptyandgarbagepayloadsrejected", "callee": "verifySolution", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L85", "receiver": null}, {"caller_nid": "captcha_altchaservicetest_altchaservicetest_testemptyandgarbagepayloadsrejected", "callee": "base64_encode", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L85", "receiver": null}, {"caller_nid": "captcha_altchaservicetest_altchaservicetest_testenabledflag", "callee": "self", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L90", "receiver": null}, {"caller_nid": "captcha_altchaservicetest_altchaservicetest_testenabledflag", "callee": "enabled", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L90", "receiver": null}, {"caller_nid": "captcha_altchaservicetest_altchaservicetest_testenabledflag", "callee": "self", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L91", "receiver": null}, {"caller_nid": "captcha_altchaservicetest_altchaservicetest_testenabledflag", "callee": "enabled", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/AltchaServiceTest.php", "source_location": "L91", "receiver": null}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.8.44/6abeef1dc282dce2ff64bfc1ae4ea098c41f2fea0f3be9dfc38be3ccd7c628a5.json b/graphify-out/cache/ast/v0.8.44/6abeef1dc282dce2ff64bfc1ae4ea098c41f2fea0f3be9dfc38be3ccd7c628a5.json new file mode 100644 index 00000000..cdec88d9 --- /dev/null +++ b/graphify-out/cache/ast/v0.8.44/6abeef1dc282dce2ff64bfc1ae4ea098c41f2fea0f3be9dfc38be3ccd7c628a5.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_hamed_pj_my_pj_clinic_pro_clinicpro_docs_api_captcha_md", "label": "captcha.md", "file_type": "document", "source_file": "docs/api/captcha.md", "source_location": "L1"}, {"id": "api_captcha_captcha_api_altcha", "label": "Captcha API (ALTCHA)", "file_type": "document", "source_file": "docs/api/captcha.md", "source_location": "L1"}, {"id": "api_captcha_get_api_v1_altcha_challenge", "label": "GET `/api/v1/altcha/challenge`", "file_type": "document", "source_file": "docs/api/captcha.md", "source_location": "L10"}, {"id": "api_captcha_response_200", "label": "Response `200`", "file_type": "document", "source_file": "docs/api/captcha.md", "source_location": "L14"}, {"id": "api_captcha_\u0627\u0639\u0645\u0627\u0644_\u06a9\u067e\u0686\u0627_\u0631\u0648\u06cc_endpoint\u0647\u0627\u06cc_\u0645\u062d\u0627\u0641\u0638\u062a_\u0634\u062f\u0647", "label": "\u0627\u0639\u0645\u0627\u0644 \u06a9\u067e\u0686\u0627 \u0631\u0648\u06cc endpoint\u0647\u0627\u06cc \u0645\u062d\u0627\u0641\u0638\u062a\u200c\u0634\u062f\u0647", "file_type": "document", "source_file": "docs/api/captcha.md", "source_location": "L31"}, {"id": "api_captcha_\u062e\u0637\u0627\u06cc_\u0627\u0639\u062a\u0628\u0627\u0631\u0633\u0646\u062c\u06cc_\u06a9\u067e\u0686\u0627_422", "label": "\u062e\u0637\u0627\u06cc \u0627\u0639\u062a\u0628\u0627\u0631\u0633\u0646\u062c\u06cc \u06a9\u067e\u0686\u0627 `422`", "file_type": "document", "source_file": "docs/api/captcha.md", "source_location": "L53"}, {"id": "api_captcha_\u0627\u0645\u0646\u06cc\u062a", "label": "\u0627\u0645\u0646\u06cc\u062a", "file_type": "document", "source_file": "docs/api/captcha.md", "source_location": "L66"}], "edges": [{"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_docs_api_captcha_md", "target": "api_captcha_captcha_api_altcha", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/captcha.md", "source_location": "L1", "weight": 1.0}, {"source": "api_captcha_captcha_api_altcha", "target": "api_captcha_get_api_v1_altcha_challenge", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/captcha.md", "source_location": "L10", "weight": 1.0}, {"source": "api_captcha_get_api_v1_altcha_challenge", "target": "api_captcha_response_200", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/captcha.md", "source_location": "L14", "weight": 1.0}, {"source": "api_captcha_captcha_api_altcha", "target": "api_captcha_\u0627\u0639\u0645\u0627\u0644_\u06a9\u067e\u0686\u0627_\u0631\u0648\u06cc_endpoint\u0647\u0627\u06cc_\u0645\u062d\u0627\u0641\u0638\u062a_\u0634\u062f\u0647", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/captcha.md", "source_location": "L31", "weight": 1.0}, {"source": "api_captcha_\u0627\u0639\u0645\u0627\u0644_\u06a9\u067e\u0686\u0627_\u0631\u0648\u06cc_endpoint\u0647\u0627\u06cc_\u0645\u062d\u0627\u0641\u0638\u062a_\u0634\u062f\u0647", "target": "api_captcha_\u062e\u0637\u0627\u06cc_\u0627\u0639\u062a\u0628\u0627\u0631\u0633\u0646\u062c\u06cc_\u06a9\u067e\u0686\u0627_422", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/captcha.md", "source_location": "L53", "weight": 1.0}, {"source": "api_captcha_captcha_api_altcha", "target": "api_captcha_\u0627\u0645\u0646\u06cc\u062a", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/captcha.md", "source_location": "L66", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.8.44/962704b45cef9adf358f089e6ca1282c649de48375527eaa85ccecf1ecd9ab63.json b/graphify-out/cache/ast/v0.8.44/962704b45cef9adf358f089e6ca1282c649de48375527eaa85ccecf1ecd9ab63.json new file mode 100644 index 00000000..45018ac9 --- /dev/null +++ b/graphify-out/cache/ast/v0.8.44/962704b45cef9adf358f089e6ca1282c649de48375527eaa85ccecf1ecd9ab63.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_hamed_pj_my_pj_clinic_pro_clinicpro_docs_api_auth_md", "label": "auth.md", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L1"}, {"id": "api_auth_authentication_api", "label": "Authentication API", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L1"}, {"id": "api_auth_post_api_v1_user_send_code", "label": "POST `/api/v1/user/send-code`", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L10"}, {"id": "api_auth_request_body", "label": "Request Body", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L16"}, {"id": "api_auth_response_200", "label": "Response `200`", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L29"}, {"id": "api_auth_errors", "label": "Errors", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L40"}, {"id": "api_auth_post_api_v1_user_verify_code", "label": "POST `/api/v1/user/verify-code`", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L49"}, {"id": "api_auth_request_body_55", "label": "Request Body", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L55"}, {"id": "api_auth_response_200_68", "label": "Response `200`", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L68"}, {"id": "api_auth_errors_82", "label": "Errors", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L82"}, {"id": "api_auth_post_api_v1_user_register", "label": "POST `/api/v1/user/register`", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L92"}, {"id": "api_auth_request_body_98", "label": "Request Body", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L98"}, {"id": "api_auth_response_201", "label": "Response `201`", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L111"}, {"id": "api_auth_errors_122", "label": "Errors", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L122"}, {"id": "api_auth_post_api_v1_user_login", "label": "POST `/api/v1/user/login`", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L130"}, {"id": "api_auth_request_body_136", "label": "Request Body", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L136"}, {"id": "api_auth_response_200_149", "label": "Response `200`", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L149"}, {"id": "api_auth_errors_162", "label": "Errors", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L162"}, {"id": "api_auth_post_oauth_token", "label": "POST `/oauth/token`", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L171"}, {"id": "api_auth_request_body_177", "label": "Request Body", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L177"}, {"id": "api_auth_response_200_190", "label": "Response `200`", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L190"}, {"id": "api_auth_errors_204", "label": "Errors", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L204"}, {"id": "api_auth_post_oauth_token_refresh", "label": "POST `/oauth/token/refresh`", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L214"}, {"id": "api_auth_request_body_220", "label": "Request Body", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L220"}, {"id": "api_auth_response_200_229", "label": "Response `200`", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L229"}, {"id": "api_auth_errors_240", "label": "Errors", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L240"}, {"id": "api_auth_get_oauth_userinfo", "label": "GET `/oauth/userinfo`", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L247"}, {"id": "api_auth_headers", "label": "Headers", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L253"}, {"id": "api_auth_response_200_258", "label": "Response `200`", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L258"}, {"id": "api_auth_errors_328", "label": "Errors", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L328"}, {"id": "api_auth_post_api_v1_auth_switch_context", "label": "POST `/api/v1/auth/switch-context`", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L335"}, {"id": "api_auth_request_body_341", "label": "Request Body", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L341"}, {"id": "api_auth_response_200_352", "label": "Response `200`", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L352"}, {"id": "api_auth_errors_370", "label": "Errors", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L370"}, {"id": "api_auth_notification_mobile_otp", "label": "Notification Mobile (OTP)", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L379"}, {"id": "api_auth_post_api_v1_notification_mobile_request_otp", "label": "POST `/api/v1/notification-mobile/request-otp`", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L387"}, {"id": "api_auth_request_body_393", "label": "Request Body", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L393"}, {"id": "api_auth_response_200_406", "label": "Response `200`", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L406"}, {"id": "api_auth_errors_417", "label": "Errors", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L417"}, {"id": "api_auth_notes", "label": "Notes", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L423"}, {"id": "api_auth_post_api_v1_notification_mobile_verify", "label": "POST `/api/v1/notification-mobile/verify`", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L430"}, {"id": "api_auth_request_body_436", "label": "Request Body", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L436"}, {"id": "api_auth_response_200_449", "label": "Response `200`", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L449"}, {"id": "api_auth_errors_460", "label": "Errors", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L460"}, {"id": "api_auth_get_api_v1_notification_mobile_target", "label": "GET `/api/v1/notification-mobile/{target}`", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L468"}, {"id": "api_auth_response_200_475", "label": "Response `200`", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L475"}, {"id": "api_auth_errors_487", "label": "Errors", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L487"}, {"id": "api_auth_delete_api_v1_notification_mobile_target", "label": "DELETE `/api/v1/notification-mobile/{target}`", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L494"}, {"id": "api_auth_response_200_501", "label": "Response `200`", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L501"}, {"id": "api_auth_errors_511", "label": "Errors", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L511"}, {"id": "api_auth_post_oauth_logout", "label": "POST `/oauth/logout`", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L518"}, {"id": "api_auth_request_body_524", "label": "Request Body", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L524"}, {"id": "api_auth_response_200_535", "label": "Response `200`", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L535"}, {"id": "api_auth_post_api_v1_pre_registration", "label": "POST `/api/v1/pre-registration`", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L547"}, {"id": "api_auth_request_body_555", "label": "Request Body", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L555"}, {"id": "api_auth_response_200_580", "label": "Response `200`", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L580"}, {"id": "api_auth_error_codes", "label": "Error Codes", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L588"}, {"id": "api_auth_post_api_v1_user_otp_login", "label": "POST `/api/v1/user/otp-login`", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L596"}, {"id": "api_auth_request_body_602", "label": "Request Body", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L602"}, {"id": "api_auth_response_200_611", "label": "Response `200`", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L611"}, {"id": "api_auth_error_codes_622", "label": "Error Codes", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L622"}, {"id": "api_auth_post_api_v1_user_reset_password", "label": "POST `/api/v1/user/reset-password`", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L632"}, {"id": "api_auth_request_body_638", "label": "Request Body", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L638"}, {"id": "api_auth_response_200_651", "label": "Response `200`", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L651"}, {"id": "api_auth_error_codes_659", "label": "Error Codes", "file_type": "document", "source_file": "docs/api/auth.md", "source_location": "L659"}], "edges": [{"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_docs_api_auth_md", "target": "api_auth_authentication_api", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L1", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_docs_api_auth_md", "target": "users_hamed_pj_my_pj_clinic_pro_clinicpro_docs_api_captcha_md", "relation": "references", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L6", "weight": 1.0}, {"source": "api_auth_authentication_api", "target": "api_auth_post_api_v1_user_send_code", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L10", "weight": 1.0}, {"source": "api_auth_post_api_v1_user_send_code", "target": "api_auth_request_body", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L16", "weight": 1.0}, {"source": "api_auth_post_api_v1_user_send_code", "target": "api_auth_response_200", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L29", "weight": 1.0}, {"source": "api_auth_post_api_v1_user_send_code", "target": "api_auth_errors", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L40", "weight": 1.0}, {"source": "api_auth_authentication_api", "target": "api_auth_post_api_v1_user_verify_code", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L49", "weight": 1.0}, {"source": "api_auth_post_api_v1_user_verify_code", "target": "api_auth_request_body_55", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L55", "weight": 1.0}, {"source": "api_auth_post_api_v1_user_verify_code", "target": "api_auth_response_200_68", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L68", "weight": 1.0}, {"source": "api_auth_post_api_v1_user_verify_code", "target": "api_auth_errors_82", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L82", "weight": 1.0}, {"source": "api_auth_authentication_api", "target": "api_auth_post_api_v1_user_register", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L92", "weight": 1.0}, {"source": "api_auth_post_api_v1_user_register", "target": "api_auth_request_body_98", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L98", "weight": 1.0}, {"source": "api_auth_post_api_v1_user_register", "target": "api_auth_response_201", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L111", "weight": 1.0}, {"source": "api_auth_post_api_v1_user_register", "target": "api_auth_errors_122", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L122", "weight": 1.0}, {"source": "api_auth_authentication_api", "target": "api_auth_post_api_v1_user_login", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L130", "weight": 1.0}, {"source": "api_auth_post_api_v1_user_login", "target": "api_auth_request_body_136", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L136", "weight": 1.0}, {"source": "api_auth_post_api_v1_user_login", "target": "api_auth_response_200_149", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L149", "weight": 1.0}, {"source": "api_auth_post_api_v1_user_login", "target": "api_auth_errors_162", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L162", "weight": 1.0}, {"source": "api_auth_authentication_api", "target": "api_auth_post_oauth_token", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L171", "weight": 1.0}, {"source": "api_auth_post_oauth_token", "target": "api_auth_request_body_177", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L177", "weight": 1.0}, {"source": "api_auth_post_oauth_token", "target": "api_auth_response_200_190", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L190", "weight": 1.0}, {"source": "api_auth_post_oauth_token", "target": "api_auth_errors_204", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L204", "weight": 1.0}, {"source": "api_auth_authentication_api", "target": "api_auth_post_oauth_token_refresh", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L214", "weight": 1.0}, {"source": "api_auth_post_oauth_token_refresh", "target": "api_auth_request_body_220", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L220", "weight": 1.0}, {"source": "api_auth_post_oauth_token_refresh", "target": "api_auth_response_200_229", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L229", "weight": 1.0}, {"source": "api_auth_post_oauth_token_refresh", "target": "api_auth_errors_240", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L240", "weight": 1.0}, {"source": "api_auth_authentication_api", "target": "api_auth_get_oauth_userinfo", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L247", "weight": 1.0}, {"source": "api_auth_get_oauth_userinfo", "target": "api_auth_headers", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L253", "weight": 1.0}, {"source": "api_auth_get_oauth_userinfo", "target": "api_auth_response_200_258", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L258", "weight": 1.0}, {"source": "api_auth_get_oauth_userinfo", "target": "api_auth_errors_328", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L328", "weight": 1.0}, {"source": "api_auth_authentication_api", "target": "api_auth_post_api_v1_auth_switch_context", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L335", "weight": 1.0}, {"source": "api_auth_post_api_v1_auth_switch_context", "target": "api_auth_request_body_341", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L341", "weight": 1.0}, {"source": "api_auth_post_api_v1_auth_switch_context", "target": "api_auth_response_200_352", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L352", "weight": 1.0}, {"source": "api_auth_post_api_v1_auth_switch_context", "target": "api_auth_errors_370", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L370", "weight": 1.0}, {"source": "api_auth_authentication_api", "target": "api_auth_notification_mobile_otp", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L379", "weight": 1.0}, {"source": "api_auth_authentication_api", "target": "api_auth_post_api_v1_notification_mobile_request_otp", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L387", "weight": 1.0}, {"source": "api_auth_post_api_v1_notification_mobile_request_otp", "target": "api_auth_request_body_393", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L393", "weight": 1.0}, {"source": "api_auth_post_api_v1_notification_mobile_request_otp", "target": "api_auth_response_200_406", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L406", "weight": 1.0}, {"source": "api_auth_post_api_v1_notification_mobile_request_otp", "target": "api_auth_errors_417", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L417", "weight": 1.0}, {"source": "api_auth_post_api_v1_notification_mobile_request_otp", "target": "api_auth_notes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L423", "weight": 1.0}, {"source": "api_auth_authentication_api", "target": "api_auth_post_api_v1_notification_mobile_verify", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L430", "weight": 1.0}, {"source": "api_auth_post_api_v1_notification_mobile_verify", "target": "api_auth_request_body_436", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L436", "weight": 1.0}, {"source": "api_auth_post_api_v1_notification_mobile_verify", "target": "api_auth_response_200_449", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L449", "weight": 1.0}, {"source": "api_auth_post_api_v1_notification_mobile_verify", "target": "api_auth_errors_460", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L460", "weight": 1.0}, {"source": "api_auth_authentication_api", "target": "api_auth_get_api_v1_notification_mobile_target", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L468", "weight": 1.0}, {"source": "api_auth_get_api_v1_notification_mobile_target", "target": "api_auth_response_200_475", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L475", "weight": 1.0}, {"source": "api_auth_get_api_v1_notification_mobile_target", "target": "api_auth_errors_487", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L487", "weight": 1.0}, {"source": "api_auth_authentication_api", "target": "api_auth_delete_api_v1_notification_mobile_target", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L494", "weight": 1.0}, {"source": "api_auth_delete_api_v1_notification_mobile_target", "target": "api_auth_response_200_501", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L501", "weight": 1.0}, {"source": "api_auth_delete_api_v1_notification_mobile_target", "target": "api_auth_errors_511", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L511", "weight": 1.0}, {"source": "api_auth_authentication_api", "target": "api_auth_post_oauth_logout", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L518", "weight": 1.0}, {"source": "api_auth_post_oauth_logout", "target": "api_auth_request_body_524", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L524", "weight": 1.0}, {"source": "api_auth_post_oauth_logout", "target": "api_auth_response_200_535", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L535", "weight": 1.0}, {"source": "api_auth_authentication_api", "target": "api_auth_post_api_v1_pre_registration", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L547", "weight": 1.0}, {"source": "api_auth_post_api_v1_pre_registration", "target": "api_auth_request_body_555", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L555", "weight": 1.0}, {"source": "api_auth_post_api_v1_pre_registration", "target": "api_auth_response_200_580", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L580", "weight": 1.0}, {"source": "api_auth_post_api_v1_pre_registration", "target": "api_auth_error_codes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L588", "weight": 1.0}, {"source": "api_auth_authentication_api", "target": "api_auth_post_api_v1_user_otp_login", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L596", "weight": 1.0}, {"source": "api_auth_post_api_v1_user_otp_login", "target": "api_auth_request_body_602", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L602", "weight": 1.0}, {"source": "api_auth_post_api_v1_user_otp_login", "target": "api_auth_response_200_611", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L611", "weight": 1.0}, {"source": "api_auth_post_api_v1_user_otp_login", "target": "api_auth_error_codes_622", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L622", "weight": 1.0}, {"source": "api_auth_authentication_api", "target": "api_auth_post_api_v1_user_reset_password", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L632", "weight": 1.0}, {"source": "api_auth_post_api_v1_user_reset_password", "target": "api_auth_request_body_638", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L638", "weight": 1.0}, {"source": "api_auth_post_api_v1_user_reset_password", "target": "api_auth_response_200_651", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L651", "weight": 1.0}, {"source": "api_auth_post_api_v1_user_reset_password", "target": "api_auth_error_codes_659", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", "source_location": "L659", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.8.44/a1dbde0191ac9e7b42cf608b82c8397c0425a57300c749f29f5589e4d99a82fa.json b/graphify-out/cache/ast/v0.8.44/a1dbde0191ac9e7b42cf608b82c8397c0425a57300c749f29f5589e4d99a82fa.json new file mode 100644 index 00000000..a354ca18 --- /dev/null +++ b/graphify-out/cache/ast/v0.8.44/a1dbde0191ac9e7b42cf608b82c8397c0425a57300c749f29f5589e4d99a82fa.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_rating_controller_ratingcontroller_php", "label": "RatingController.php", "file_type": "code", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L1"}, {"id": "controller_ratingcontroller_ratingcontroller", "label": "RatingController", "file_type": "code", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L24"}, {"id": "basecontroller", "label": "BaseController", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "controller_ratingcontroller_ratingcontroller_construct", "label": ".__construct()", "file_type": "code", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L27"}, {"id": "controller_ratingcontroller_ratingcontroller_rate", "label": ".rate()", "file_type": "code", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L38"}, {"id": "request", "label": "Request", "file_type": "code", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L38"}, {"id": "user", "label": "User", "file_type": "code", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L38"}, {"id": "jsonresponse", "label": "JsonResponse", "file_type": "code", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L38"}, {"id": "controller_ratingcontroller_ratingcontroller_getaverage", "label": ".getAverage()", "file_type": "code", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L108"}, {"id": "controller_ratingcontroller_ratingcontroller_eligibility", "label": ".eligibility()", "file_type": "code", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L145"}, {"id": "controller_ratingcontroller_ratingcontroller_createcomment", "label": ".createComment()", "file_type": "code", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L187"}, {"id": "controller_ratingcontroller_ratingcontroller_listcomments", "label": ".listComments()", "file_type": "code", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L255"}, {"id": "controller_ratingcontroller_ratingcontroller_deletecomment", "label": ".deleteComment()", "file_type": "code", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L302"}, {"id": "controller_ratingcontroller_ratingcontroller_pendingcomments", "label": ".pendingComments()", "file_type": "code", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L346"}, {"id": "controller_ratingcontroller_ratingcontroller_approvecomment", "label": ".approveComment()", "file_type": "code", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L388"}, {"id": "controller_ratingcontroller_ratingcontroller_rejectcomment", "label": ".rejectComment()", "file_type": "code", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L424"}, {"id": "controller_ratingcontroller_ratingcontroller_togglelike", "label": ".toggleLike()", "file_type": "code", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L462"}], "edges": [{"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_rating_controller_ratingcontroller_php", "target": "appointmentrepository", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L5", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_rating_controller_ratingcontroller_php", "target": "user", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L6", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_rating_controller_ratingcontroller_php", "target": "doctorrepository", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L7", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_rating_controller_ratingcontroller_php", "target": "comment", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L8", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_rating_controller_ratingcontroller_php", "target": "like", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L9", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_rating_controller_ratingcontroller_php", "target": "rate", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L10", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_rating_controller_ratingcontroller_php", "target": "commentrepository", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L11", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_rating_controller_ratingcontroller_php", "target": "likerepository", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L12", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_rating_controller_ratingcontroller_php", "target": "raterepository", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L13", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_rating_controller_ratingcontroller_php", "target": "captchaguard", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L14", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_rating_controller_ratingcontroller_php", "target": "errorcodes", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L15", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_rating_controller_ratingcontroller_php", "target": "basecontroller", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L16", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_rating_controller_ratingcontroller_php", "target": "attributes", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L17", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_rating_controller_ratingcontroller_php", "target": "jsonresponse", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L18", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_rating_controller_ratingcontroller_php", "target": "request", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L19", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_rating_controller_ratingcontroller_php", "target": "route", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L20", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_rating_controller_ratingcontroller_php", "target": "currentuser", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L21", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_rating_controller_ratingcontroller_php", "target": "isgranted", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L22", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_rating_controller_ratingcontroller_php", "target": "controller_ratingcontroller_ratingcontroller", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L24", "weight": 1.0}, {"source": "controller_ratingcontroller_ratingcontroller", "target": "basecontroller", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L25", "weight": 1.0}, {"source": "controller_ratingcontroller_ratingcontroller", "target": "controller_ratingcontroller_ratingcontroller_construct", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L27", "weight": 1.0}, {"source": "controller_ratingcontroller_ratingcontroller", "target": "controller_ratingcontroller_ratingcontroller_rate", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L38", "weight": 1.0}, {"source": "controller_ratingcontroller_ratingcontroller_rate", "target": "request", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L38", "weight": 1.0, "context": "parameter_type"}, {"source": "controller_ratingcontroller_ratingcontroller_rate", "target": "user", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L38", "weight": 1.0, "context": "parameter_type"}, {"source": "controller_ratingcontroller_ratingcontroller_rate", "target": "jsonresponse", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L38", "weight": 1.0, "context": "return_type"}, {"source": "controller_ratingcontroller_ratingcontroller", "target": "controller_ratingcontroller_ratingcontroller_getaverage", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L108", "weight": 1.0}, {"source": "controller_ratingcontroller_ratingcontroller_getaverage", "target": "jsonresponse", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L108", "weight": 1.0, "context": "return_type"}, {"source": "controller_ratingcontroller_ratingcontroller", "target": "controller_ratingcontroller_ratingcontroller_eligibility", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L145", "weight": 1.0}, {"source": "controller_ratingcontroller_ratingcontroller_eligibility", "target": "user", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L145", "weight": 1.0, "context": "parameter_type"}, {"source": "controller_ratingcontroller_ratingcontroller_eligibility", "target": "jsonresponse", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L145", "weight": 1.0, "context": "return_type"}, {"source": "controller_ratingcontroller_ratingcontroller", "target": "controller_ratingcontroller_ratingcontroller_createcomment", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L187", "weight": 1.0}, {"source": "controller_ratingcontroller_ratingcontroller_createcomment", "target": "request", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L187", "weight": 1.0, "context": "parameter_type"}, {"source": "controller_ratingcontroller_ratingcontroller_createcomment", "target": "user", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L187", "weight": 1.0, "context": "parameter_type"}, {"source": "controller_ratingcontroller_ratingcontroller_createcomment", "target": "jsonresponse", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L187", "weight": 1.0, "context": "return_type"}, {"source": "controller_ratingcontroller_ratingcontroller", "target": "controller_ratingcontroller_ratingcontroller_listcomments", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L255", "weight": 1.0}, {"source": "controller_ratingcontroller_ratingcontroller_listcomments", "target": "request", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L255", "weight": 1.0, "context": "parameter_type"}, {"source": "controller_ratingcontroller_ratingcontroller_listcomments", "target": "jsonresponse", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L255", "weight": 1.0, "context": "return_type"}, {"source": "controller_ratingcontroller_ratingcontroller", "target": "controller_ratingcontroller_ratingcontroller_deletecomment", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L302", "weight": 1.0}, {"source": "controller_ratingcontroller_ratingcontroller_deletecomment", "target": "user", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L302", "weight": 1.0, "context": "parameter_type"}, {"source": "controller_ratingcontroller_ratingcontroller_deletecomment", "target": "jsonresponse", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L302", "weight": 1.0, "context": "return_type"}, {"source": "controller_ratingcontroller_ratingcontroller", "target": "controller_ratingcontroller_ratingcontroller_pendingcomments", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L346", "weight": 1.0}, {"source": "controller_ratingcontroller_ratingcontroller_pendingcomments", "target": "request", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L346", "weight": 1.0, "context": "parameter_type"}, {"source": "controller_ratingcontroller_ratingcontroller_pendingcomments", "target": "jsonresponse", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L346", "weight": 1.0, "context": "return_type"}, {"source": "controller_ratingcontroller_ratingcontroller", "target": "controller_ratingcontroller_ratingcontroller_approvecomment", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L388", "weight": 1.0}, {"source": "controller_ratingcontroller_ratingcontroller_approvecomment", "target": "jsonresponse", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L388", "weight": 1.0, "context": "return_type"}, {"source": "controller_ratingcontroller_ratingcontroller", "target": "controller_ratingcontroller_ratingcontroller_rejectcomment", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L424", "weight": 1.0}, {"source": "controller_ratingcontroller_ratingcontroller_rejectcomment", "target": "jsonresponse", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L424", "weight": 1.0, "context": "return_type"}, {"source": "controller_ratingcontroller_ratingcontroller", "target": "controller_ratingcontroller_ratingcontroller_togglelike", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L462", "weight": 1.0}, {"source": "controller_ratingcontroller_ratingcontroller_togglelike", "target": "request", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L462", "weight": 1.0, "context": "parameter_type"}, {"source": "controller_ratingcontroller_ratingcontroller_togglelike", "target": "user", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L462", "weight": 1.0, "context": "parameter_type"}, {"source": "controller_ratingcontroller_ratingcontroller_togglelike", "target": "jsonresponse", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Rating/Controller/RatingController.php", "source_location": "L462", "weight": 1.0, "context": "return_type"}], "raw_calls": [{"caller_nid": "controller_ratingcontroller_ratingcontroller_rate", "callee": "assertValid", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L72", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_rate", "callee": "json_decode", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L74", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_rate", "callee": "getContent", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L74", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_rate", "callee": "trim", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L75", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_rate", "callee": "array_keys", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L78", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_rate", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L81", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_rate", "callee": "findByUuid", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L86", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_rate", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L88", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_rate", "callee": "hasRecentConfirmed", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L91", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_rate", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L92", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_rate", "callee": "ErrorCodes", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L92", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_rate", "callee": "findByUserAndDoctor", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L95", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_rate", "callee": "setDimensions", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L97", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_rate", "callee": "save", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L98", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_rate", "callee": "success", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L99", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_rate", "callee": "getAggregate", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L99", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_rate", "callee": "save", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L103", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_rate", "callee": "success", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L105", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_rate", "callee": "getAggregate", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L105", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_getaverage", "callee": "findByUuid", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L137", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_getaverage", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L139", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_getaverage", "callee": "success", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L142", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_getaverage", "callee": "getAggregate", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L142", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_eligibility", "callee": "findByUuid", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L177", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_eligibility", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L179", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_eligibility", "callee": "success", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L182", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_eligibility", "callee": "hasRecentConfirmed", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L182", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_createcomment", "callee": "assertValid", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L221", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_createcomment", "callee": "json_decode", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L223", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_createcomment", "callee": "getContent", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L223", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_createcomment", "callee": "trim", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L224", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_createcomment", "callee": "trim", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L225", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_createcomment", "callee": "trim", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L226", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_createcomment", "callee": "empty", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L228", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_createcomment", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L229", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_createcomment", "callee": "findByUuid", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L232", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_createcomment", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L234", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_createcomment", "callee": "hasRecentConfirmed", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L237", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_createcomment", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L238", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_createcomment", "callee": "ErrorCodes", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L238", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_createcomment", "callee": "findByUuid", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L243", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_createcomment", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L245", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_createcomment", "callee": "save", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L250", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_createcomment", "callee": "success", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L252", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_createcomment", "callee": "toArray", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L252", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_listcomments", "callee": "findByUuid", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L278", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_listcomments", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L280", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_listcomments", "callee": "get", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L283", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_listcomments", "callee": "get", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L284", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_listcomments", "callee": "array_map", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L286", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_listcomments", "callee": "toArray", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L287", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_listcomments", "callee": "findApprovedRootsByDoctor", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L288", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_listcomments", "callee": "countApprovedRootsByDoctor", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L290", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_listcomments", "callee": "success", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L292", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_listcomments", "callee": "ceil", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L296", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_deletecomment", "callee": "findByUuid", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L331", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_deletecomment", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L333", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_deletecomment", "callee": "getId", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L336", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_deletecomment", "callee": "getUser", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L336", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_deletecomment", "callee": "getId", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L336", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_deletecomment", "callee": "hasRole", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L336", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_deletecomment", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L337", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_deletecomment", "callee": "remove", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L340", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_deletecomment", "callee": "success", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L341", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_pendingcomments", "callee": "get", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L369", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_pendingcomments", "callee": "get", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L370", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_pendingcomments", "callee": "array_map", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L372", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_pendingcomments", "callee": "toArray", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L373", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_pendingcomments", "callee": "findPending", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L374", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_pendingcomments", "callee": "countPending", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L376", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_pendingcomments", "callee": "success", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L378", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_pendingcomments", "callee": "ceil", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L382", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_approvecomment", "callee": "findByUuid", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L415", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_approvecomment", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L417", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_approvecomment", "callee": "approve", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L419", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_approvecomment", "callee": "save", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L420", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_approvecomment", "callee": "success", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L421", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_approvecomment", "callee": "toArray", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L421", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_rejectcomment", "callee": "findByUuid", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L451", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_rejectcomment", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L453", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_rejectcomment", "callee": "reject", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L455", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_rejectcomment", "callee": "save", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L456", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_rejectcomment", "callee": "success", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L457", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_rejectcomment", "callee": "toArray", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L457", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_togglelike", "callee": "findByUuid", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L512", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_togglelike", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L514", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_togglelike", "callee": "json_decode", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L517", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_togglelike", "callee": "getContent", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L517", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_togglelike", "callee": "findByUserAndComment", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L520", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_togglelike", "callee": "getValue", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L522", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_togglelike", "callee": "remove", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L523", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_togglelike", "callee": "setValue", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L525", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_togglelike", "callee": "save", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L526", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_togglelike", "callee": "save", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L529", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_togglelike", "callee": "countByComment", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L532", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_togglelike", "callee": "findByUserAndComment", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L533", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_togglelike", "callee": "success", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L535", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_togglelike", "callee": "getValue", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L539", "receiver": null}, {"caller_nid": "controller_ratingcontroller_ratingcontroller_togglelike", "callee": "getValue", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php", "source_location": "L540", "receiver": null}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.8.44/b1602ecd3be5e3c1e29eb2f66b7beb9f991e5d7ac487e72e0c6bf6cf640a3879.json b/graphify-out/cache/ast/v0.8.44/b1602ecd3be5e3c1e29eb2f66b7beb9f991e5d7ac487e72e0c6bf6cf640a3879.json new file mode 100644 index 00000000..81277759 --- /dev/null +++ b/graphify-out/cache/ast/v0.8.44/b1602ecd3be5e3c1e29eb2f66b7beb9f991e5d7ac487e72e0c6bf6cf640a3879.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_shared_captcha_captchacontroller_php", "label": "CaptchaController.php", "file_type": "code", "source_file": "src/Shared/Captcha/CaptchaController.php", "source_location": "L1"}, {"id": "captcha_captchacontroller_captchacontroller", "label": "CaptchaController", "file_type": "code", "source_file": "src/Shared/Captcha/CaptchaController.php", "source_location": "L10"}, {"id": "basecontroller", "label": "BaseController", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "captcha_captchacontroller_captchacontroller_construct", "label": ".__construct()", "file_type": "code", "source_file": "src/Shared/Captcha/CaptchaController.php", "source_location": "L13"}, {"id": "captcha_captchacontroller_captchacontroller_challenge", "label": ".challenge()", "file_type": "code", "source_file": "src/Shared/Captcha/CaptchaController.php", "source_location": "L15"}, {"id": "jsonresponse", "label": "JsonResponse", "file_type": "code", "source_file": "src/Shared/Captcha/CaptchaController.php", "source_location": "L15"}], "edges": [{"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_shared_captcha_captchacontroller_php", "target": "basecontroller", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Shared/Captcha/CaptchaController.php", "source_location": "L5", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_shared_captcha_captchacontroller_php", "target": "attributes", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Shared/Captcha/CaptchaController.php", "source_location": "L6", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_shared_captcha_captchacontroller_php", "target": "jsonresponse", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Shared/Captcha/CaptchaController.php", "source_location": "L7", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_shared_captcha_captchacontroller_php", "target": "route", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Shared/Captcha/CaptchaController.php", "source_location": "L8", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_shared_captcha_captchacontroller_php", "target": "captcha_captchacontroller_captchacontroller", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/Shared/Captcha/CaptchaController.php", "source_location": "L10", "weight": 1.0}, {"source": "captcha_captchacontroller_captchacontroller", "target": "basecontroller", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/Shared/Captcha/CaptchaController.php", "source_location": "L11", "weight": 1.0}, {"source": "captcha_captchacontroller_captchacontroller", "target": "captcha_captchacontroller_captchacontroller_construct", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Shared/Captcha/CaptchaController.php", "source_location": "L13", "weight": 1.0}, {"source": "captcha_captchacontroller_captchacontroller", "target": "captcha_captchacontroller_captchacontroller_challenge", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Shared/Captcha/CaptchaController.php", "source_location": "L15", "weight": 1.0}, {"source": "captcha_captchacontroller_captchacontroller_challenge", "target": "jsonresponse", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Shared/Captcha/CaptchaController.php", "source_location": "L15", "weight": 1.0, "context": "return_type"}], "raw_calls": [{"caller_nid": "captcha_captchacontroller_captchacontroller_challenge", "callee": "createChallenge", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Captcha/CaptchaController.php", "source_location": "L23", "receiver": null}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.8.44/c2185822b43db5ca6a54b83767776d61b6602130d3d66920219a7ee30faeeeaf.json b/graphify-out/cache/ast/v0.8.44/c2185822b43db5ca6a54b83767776d61b6602130d3d66920219a7ee30faeeeaf.json new file mode 100644 index 00000000..a1f3323e --- /dev/null +++ b/graphify-out/cache/ast/v0.8.44/c2185822b43db5ca6a54b83767776d61b6602130d3d66920219a7ee30faeeeaf.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_hamed_pj_my_pj_clinic_pro_clinicpro_package_json", "label": "package.json", "file_type": "code", "source_file": "package.json", "source_location": "L1"}, {"id": "clinicpro_package_devdependencies", "label": "devDependencies", "file_type": "code", "source_file": "package.json", "source_location": "L2"}, {"id": "clinicpro_package_devdependencies_babel_core", "label": "@babel/core", "file_type": "code", "source_file": "package.json", "source_location": "L3"}, {"id": "clinicpro_package_devdependencies_babel_preset_env", "label": "@babel/preset-env", "file_type": "code", "source_file": "package.json", "source_location": "L4"}, {"id": "clinicpro_package_devdependencies_babel_preset_react", "label": "@babel/preset-react", "file_type": "code", "source_file": "package.json", "source_location": "L5"}, {"id": "clinicpro_package_devdependencies_babel_preset_typescript", "label": "@babel/preset-typescript", "file_type": "code", "source_file": "package.json", "source_location": "L6"}, {"id": "clinicpro_package_devdependencies_csstools_postcss_oklab_function", "label": "@csstools/postcss-oklab-function", "file_type": "code", "source_file": "package.json", "source_location": "L7"}, {"id": "clinicpro_package_devdependencies_hotwired_stimulus", "label": "@hotwired/stimulus", "file_type": "code", "source_file": "package.json", "source_location": "L8"}, {"id": "clinicpro_package_devdependencies_symfony_stimulus_bridge", "label": "@symfony/stimulus-bridge", "file_type": "code", "source_file": "package.json", "source_location": "L9"}, {"id": "clinicpro_package_devdependencies_symfony_ux_react", "label": "@symfony/ux-react", "file_type": "code", "source_file": "package.json", "source_location": "L10"}, {"id": "clinicpro_package_devdependencies_symfony_webpack_encore", "label": "@symfony/webpack-encore", "file_type": "code", "source_file": "package.json", "source_location": "L11"}, {"id": "clinicpro_package_devdependencies_tailwindcss_postcss", "label": "@tailwindcss/postcss", "file_type": "code", "source_file": "package.json", "source_location": "L12"}, {"id": "clinicpro_package_devdependencies_testing_library_dom", "label": "@testing-library/dom", "file_type": "code", "source_file": "package.json", "source_location": "L13"}, {"id": "clinicpro_package_devdependencies_testing_library_jest_dom", "label": "@testing-library/jest-dom", "file_type": "code", "source_file": "package.json", "source_location": "L14"}, {"id": "clinicpro_package_devdependencies_testing_library_react", "label": "@testing-library/react", "file_type": "code", "source_file": "package.json", "source_location": "L15"}, {"id": "clinicpro_package_devdependencies_testing_library_user_event", "label": "@testing-library/user-event", "file_type": "code", "source_file": "package.json", "source_location": "L16"}, {"id": "clinicpro_package_devdependencies_types_react", "label": "@types/react", "file_type": "code", "source_file": "package.json", "source_location": "L17"}, {"id": "clinicpro_package_devdependencies_types_react_dom", "label": "@types/react-dom", "file_type": "code", "source_file": "package.json", "source_location": "L18"}, {"id": "clinicpro_package_devdependencies_vitejs_plugin_react", "label": "@vitejs/plugin-react", "file_type": "code", "source_file": "package.json", "source_location": "L19"}, {"id": "clinicpro_package_devdependencies_core_js", "label": "core-js", "file_type": "code", "source_file": "package.json", "source_location": "L20"}, {"id": "clinicpro_package_devdependencies_jsdom", "label": "jsdom", "file_type": "code", "source_file": "package.json", "source_location": "L21"}, {"id": "clinicpro_package_devdependencies_postcss", "label": "postcss", "file_type": "code", "source_file": "package.json", "source_location": "L22"}, {"id": "clinicpro_package_devdependencies_postcss_loader", "label": "postcss-loader", "file_type": "code", "source_file": "package.json", "source_location": "L23"}, {"id": "clinicpro_package_devdependencies_regenerator_runtime", "label": "regenerator-runtime", "file_type": "code", "source_file": "package.json", "source_location": "L24"}, {"id": "clinicpro_package_devdependencies_tailwindcss", "label": "tailwindcss", "file_type": "code", "source_file": "package.json", "source_location": "L25"}, {"id": "clinicpro_package_devdependencies_ts_loader", "label": "ts-loader", "file_type": "code", "source_file": "package.json", "source_location": "L26"}, {"id": "clinicpro_package_devdependencies_typescript", "label": "typescript", "file_type": "code", "source_file": "package.json", "source_location": "L27"}, {"id": "clinicpro_package_devdependencies_vite_tsconfig_paths", "label": "vite-tsconfig-paths", "file_type": "code", "source_file": "package.json", "source_location": "L28"}, {"id": "clinicpro_package_devdependencies_vitest", "label": "vitest", "file_type": "code", "source_file": "package.json", "source_location": "L29"}, {"id": "clinicpro_package_devdependencies_webpack", "label": "webpack", "file_type": "code", "source_file": "package.json", "source_location": "L30"}, {"id": "clinicpro_package_devdependencies_webpack_cli", "label": "webpack-cli", "file_type": "code", "source_file": "package.json", "source_location": "L31"}, {"id": "clinicpro_package_dependencies", "label": "dependencies", "file_type": "code", "source_file": "package.json", "source_location": "L33"}, {"id": "clinicpro_package_dependencies_ckeditor_ckeditor5_build_classic", "label": "@ckeditor/ckeditor5-build-classic", "file_type": "code", "source_file": "package.json", "source_location": "L34"}, {"id": "clinicpro_package_dependencies_ckeditor_ckeditor5_react", "label": "@ckeditor/ckeditor5-react", "file_type": "code", "source_file": "package.json", "source_location": "L35"}, {"id": "clinicpro_package_dependencies_fontsource_vazirmatn", "label": "@fontsource/vazirmatn", "file_type": "code", "source_file": "package.json", "source_location": "L36"}, {"id": "clinicpro_package_dependencies_heroicons_react", "label": "@heroicons/react", "file_type": "code", "source_file": "package.json", "source_location": "L37"}, {"id": "clinicpro_package_dependencies_hookform_resolvers", "label": "@hookform/resolvers", "file_type": "code", "source_file": "package.json", "source_location": "L38"}, {"id": "clinicpro_package_dependencies_tanstack_react_query", "label": "@tanstack/react-query", "file_type": "code", "source_file": "package.json", "source_location": "L39"}, {"id": "clinicpro_package_dependencies_tanstack_react_table", "label": "@tanstack/react-table", "file_type": "code", "source_file": "package.json", "source_location": "L40"}, {"id": "clinicpro_package_dependencies_types_leaflet", "label": "@types/leaflet", "file_type": "code", "source_file": "package.json", "source_location": "L41"}, {"id": "clinicpro_package_dependencies_altcha", "label": "altcha", "file_type": "code", "source_file": "package.json", "source_location": "L42"}, {"id": "clinicpro_package_dependencies_jalaali_js", "label": "jalaali-js", "file_type": "code", "source_file": "package.json", "source_location": "L43"}, {"id": "clinicpro_package_dependencies_leaflet", "label": "leaflet", "file_type": "code", "source_file": "package.json", "source_location": "L44"}, {"id": "clinicpro_package_dependencies_react", "label": "react", "file_type": "code", "source_file": "package.json", "source_location": "L45"}, {"id": "clinicpro_package_dependencies_react_dom", "label": "react-dom", "file_type": "code", "source_file": "package.json", "source_location": "L46"}, {"id": "clinicpro_package_dependencies_react_easy_crop", "label": "react-easy-crop", "file_type": "code", "source_file": "package.json", "source_location": "L47"}, {"id": "clinicpro_package_dependencies_react_hook_form", "label": "react-hook-form", "file_type": "code", "source_file": "package.json", "source_location": "L48"}, {"id": "clinicpro_package_dependencies_react_hot_toast", "label": "react-hot-toast", "file_type": "code", "source_file": "package.json", "source_location": "L49"}, {"id": "clinicpro_package_dependencies_react_leaflet", "label": "react-leaflet", "file_type": "code", "source_file": "package.json", "source_location": "L50"}, {"id": "clinicpro_package_dependencies_react_router_dom", "label": "react-router-dom", "file_type": "code", "source_file": "package.json", "source_location": "L51"}, {"id": "clinicpro_package_dependencies_react_select", "label": "react-select", "file_type": "code", "source_file": "package.json", "source_location": "L52"}, {"id": "clinicpro_package_dependencies_recharts", "label": "recharts", "file_type": "code", "source_file": "package.json", "source_location": "L53"}, {"id": "clinicpro_package_dependencies_sonner", "label": "sonner", "file_type": "code", "source_file": "package.json", "source_location": "L54"}, {"id": "clinicpro_package_dependencies_zod", "label": "zod", "file_type": "code", "source_file": "package.json", "source_location": "L55"}, {"id": "clinicpro_package_dependencies_zustand", "label": "zustand", "file_type": "code", "source_file": "package.json", "source_location": "L56"}, {"id": "clinicpro_package_license", "label": "license", "file_type": "code", "source_file": "package.json", "source_location": "L58"}, {"id": "clinicpro_package_private", "label": "private", "file_type": "code", "source_file": "package.json", "source_location": "L59"}, {"id": "clinicpro_package_scripts", "label": "scripts", "file_type": "code", "source_file": "package.json", "source_location": "L60"}, {"id": "clinicpro_package_scripts_dev_server", "label": "dev-server", "file_type": "code", "source_file": "package.json", "source_location": "L61"}, {"id": "clinicpro_package_scripts_dev", "label": "dev", "file_type": "code", "source_file": "package.json", "source_location": "L62"}, {"id": "clinicpro_package_scripts_watch", "label": "watch", "file_type": "code", "source_file": "package.json", "source_location": "L63"}, {"id": "clinicpro_package_scripts_build", "label": "build", "file_type": "code", "source_file": "package.json", "source_location": "L64"}, {"id": "clinicpro_package_scripts_test", "label": "test", "file_type": "code", "source_file": "package.json", "source_location": "L65"}, {"id": "clinicpro_package_scripts_test_watch", "label": "test:watch", "file_type": "code", "source_file": "package.json", "source_location": "L66"}, {"id": "clinicpro_package_scripts_test_cov", "label": "test:cov", "file_type": "code", "source_file": "package.json", "source_location": "L67"}], "edges": [{"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_package_json", "target": "clinicpro_package_devdependencies", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L2", "weight": 1.0}, {"source": "clinicpro_package_devdependencies", "target": "clinicpro_package_devdependencies_babel_core", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L3", "weight": 1.0}, {"source": "clinicpro_package_devdependencies_babel_core", "target": "babel_core", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L3", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_devdependencies", "target": "clinicpro_package_devdependencies_babel_preset_env", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L4", "weight": 1.0}, {"source": "clinicpro_package_devdependencies_babel_preset_env", "target": "babel_preset_env", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L4", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_devdependencies", "target": "clinicpro_package_devdependencies_babel_preset_react", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L5", "weight": 1.0}, {"source": "clinicpro_package_devdependencies_babel_preset_react", "target": "babel_preset_react", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L5", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_devdependencies", "target": "clinicpro_package_devdependencies_babel_preset_typescript", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L6", "weight": 1.0}, {"source": "clinicpro_package_devdependencies_babel_preset_typescript", "target": "babel_preset_typescript", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L6", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_devdependencies", "target": "clinicpro_package_devdependencies_csstools_postcss_oklab_function", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L7", "weight": 1.0}, {"source": "clinicpro_package_devdependencies_csstools_postcss_oklab_function", "target": "csstools_postcss_oklab_function", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L7", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_devdependencies", "target": "clinicpro_package_devdependencies_hotwired_stimulus", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L8", "weight": 1.0}, {"source": "clinicpro_package_devdependencies_hotwired_stimulus", "target": "hotwired_stimulus", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L8", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_devdependencies", "target": "clinicpro_package_devdependencies_symfony_stimulus_bridge", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L9", "weight": 1.0}, {"source": "clinicpro_package_devdependencies_symfony_stimulus_bridge", "target": "symfony_stimulus_bridge", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L9", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_devdependencies", "target": "clinicpro_package_devdependencies_symfony_ux_react", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L10", "weight": 1.0}, {"source": "clinicpro_package_devdependencies_symfony_ux_react", "target": "symfony_ux_react", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L10", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_devdependencies", "target": "clinicpro_package_devdependencies_symfony_webpack_encore", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L11", "weight": 1.0}, {"source": "clinicpro_package_devdependencies_symfony_webpack_encore", "target": "symfony_webpack_encore", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L11", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_devdependencies", "target": "clinicpro_package_devdependencies_tailwindcss_postcss", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L12", "weight": 1.0}, {"source": "clinicpro_package_devdependencies_tailwindcss_postcss", "target": "tailwindcss_postcss", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L12", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_devdependencies", "target": "clinicpro_package_devdependencies_testing_library_dom", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L13", "weight": 1.0}, {"source": "clinicpro_package_devdependencies_testing_library_dom", "target": "testing_library_dom", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L13", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_devdependencies", "target": "clinicpro_package_devdependencies_testing_library_jest_dom", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L14", "weight": 1.0}, {"source": "clinicpro_package_devdependencies_testing_library_jest_dom", "target": "testing_library_jest_dom", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L14", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_devdependencies", "target": "clinicpro_package_devdependencies_testing_library_react", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L15", "weight": 1.0}, {"source": "clinicpro_package_devdependencies_testing_library_react", "target": "testing_library_react", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L15", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_devdependencies", "target": "clinicpro_package_devdependencies_testing_library_user_event", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L16", "weight": 1.0}, {"source": "clinicpro_package_devdependencies_testing_library_user_event", "target": "testing_library_user_event", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L16", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_devdependencies", "target": "clinicpro_package_devdependencies_types_react", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L17", "weight": 1.0}, {"source": "clinicpro_package_devdependencies_types_react", "target": "types_react", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L17", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_devdependencies", "target": "clinicpro_package_devdependencies_types_react_dom", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L18", "weight": 1.0}, {"source": "clinicpro_package_devdependencies_types_react_dom", "target": "types_react_dom", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L18", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_devdependencies", "target": "clinicpro_package_devdependencies_vitejs_plugin_react", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L19", "weight": 1.0}, {"source": "clinicpro_package_devdependencies_vitejs_plugin_react", "target": "vitejs_plugin_react", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L19", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_devdependencies", "target": "clinicpro_package_devdependencies_core_js", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L20", "weight": 1.0}, {"source": "clinicpro_package_devdependencies_core_js", "target": "core_js", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L20", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_devdependencies", "target": "clinicpro_package_devdependencies_jsdom", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L21", "weight": 1.0}, {"source": "clinicpro_package_devdependencies_jsdom", "target": "jsdom", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L21", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_devdependencies", "target": "clinicpro_package_devdependencies_postcss", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L22", "weight": 1.0}, {"source": "clinicpro_package_devdependencies_postcss", "target": "postcss", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L22", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_devdependencies", "target": "clinicpro_package_devdependencies_postcss_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L23", "weight": 1.0}, {"source": "clinicpro_package_devdependencies_postcss_loader", "target": "postcss_loader", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L23", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_devdependencies", "target": "clinicpro_package_devdependencies_regenerator_runtime", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L24", "weight": 1.0}, {"source": "clinicpro_package_devdependencies_regenerator_runtime", "target": "regenerator_runtime", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L24", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_devdependencies", "target": "clinicpro_package_devdependencies_tailwindcss", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L25", "weight": 1.0}, {"source": "clinicpro_package_devdependencies_tailwindcss", "target": "tailwindcss", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L25", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_devdependencies", "target": "clinicpro_package_devdependencies_ts_loader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L26", "weight": 1.0}, {"source": "clinicpro_package_devdependencies_ts_loader", "target": "ts_loader", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L26", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_devdependencies", "target": "clinicpro_package_devdependencies_typescript", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L27", "weight": 1.0}, {"source": "clinicpro_package_devdependencies_typescript", "target": "typescript", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L27", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_devdependencies", "target": "clinicpro_package_devdependencies_vite_tsconfig_paths", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L28", "weight": 1.0}, {"source": "clinicpro_package_devdependencies_vite_tsconfig_paths", "target": "vite_tsconfig_paths", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L28", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_devdependencies", "target": "clinicpro_package_devdependencies_vitest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L29", "weight": 1.0}, {"source": "clinicpro_package_devdependencies_vitest", "target": "vitest", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L29", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_devdependencies", "target": "clinicpro_package_devdependencies_webpack", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L30", "weight": 1.0}, {"source": "clinicpro_package_devdependencies_webpack", "target": "webpack", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L30", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_devdependencies", "target": "clinicpro_package_devdependencies_webpack_cli", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L31", "weight": 1.0}, {"source": "clinicpro_package_devdependencies_webpack_cli", "target": "webpack_cli", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L31", "weight": 1.0, "context": "import"}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_package_json", "target": "clinicpro_package_dependencies", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L33", "weight": 1.0}, {"source": "clinicpro_package_dependencies", "target": "clinicpro_package_dependencies_ckeditor_ckeditor5_build_classic", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L34", "weight": 1.0}, {"source": "clinicpro_package_dependencies_ckeditor_ckeditor5_build_classic", "target": "ckeditor_ckeditor5_build_classic", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L34", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_dependencies", "target": "clinicpro_package_dependencies_ckeditor_ckeditor5_react", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L35", "weight": 1.0}, {"source": "clinicpro_package_dependencies_ckeditor_ckeditor5_react", "target": "ckeditor_ckeditor5_react", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L35", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_dependencies", "target": "clinicpro_package_dependencies_fontsource_vazirmatn", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L36", "weight": 1.0}, {"source": "clinicpro_package_dependencies_fontsource_vazirmatn", "target": "fontsource_vazirmatn", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L36", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_dependencies", "target": "clinicpro_package_dependencies_heroicons_react", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L37", "weight": 1.0}, {"source": "clinicpro_package_dependencies_heroicons_react", "target": "heroicons_react", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L37", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_dependencies", "target": "clinicpro_package_dependencies_hookform_resolvers", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L38", "weight": 1.0}, {"source": "clinicpro_package_dependencies_hookform_resolvers", "target": "hookform_resolvers", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L38", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_dependencies", "target": "clinicpro_package_dependencies_tanstack_react_query", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L39", "weight": 1.0}, {"source": "clinicpro_package_dependencies_tanstack_react_query", "target": "tanstack_react_query", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L39", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_dependencies", "target": "clinicpro_package_dependencies_tanstack_react_table", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L40", "weight": 1.0}, {"source": "clinicpro_package_dependencies_tanstack_react_table", "target": "tanstack_react_table", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L40", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_dependencies", "target": "clinicpro_package_dependencies_types_leaflet", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L41", "weight": 1.0}, {"source": "clinicpro_package_dependencies_types_leaflet", "target": "types_leaflet", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L41", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_dependencies", "target": "clinicpro_package_dependencies_altcha", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L42", "weight": 1.0}, {"source": "clinicpro_package_dependencies_altcha", "target": "altcha", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L42", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_dependencies", "target": "clinicpro_package_dependencies_jalaali_js", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L43", "weight": 1.0}, {"source": "clinicpro_package_dependencies_jalaali_js", "target": "jalaali_js", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L43", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_dependencies", "target": "clinicpro_package_dependencies_leaflet", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L44", "weight": 1.0}, {"source": "clinicpro_package_dependencies_leaflet", "target": "leaflet", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L44", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_dependencies", "target": "clinicpro_package_dependencies_react", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L45", "weight": 1.0}, {"source": "clinicpro_package_dependencies_react", "target": "react", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L45", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_dependencies", "target": "clinicpro_package_dependencies_react_dom", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L46", "weight": 1.0}, {"source": "clinicpro_package_dependencies_react_dom", "target": "react_dom", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L46", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_dependencies", "target": "clinicpro_package_dependencies_react_easy_crop", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L47", "weight": 1.0}, {"source": "clinicpro_package_dependencies_react_easy_crop", "target": "react_easy_crop", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L47", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_dependencies", "target": "clinicpro_package_dependencies_react_hook_form", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L48", "weight": 1.0}, {"source": "clinicpro_package_dependencies_react_hook_form", "target": "react_hook_form", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L48", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_dependencies", "target": "clinicpro_package_dependencies_react_hot_toast", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L49", "weight": 1.0}, {"source": "clinicpro_package_dependencies_react_hot_toast", "target": "react_hot_toast", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L49", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_dependencies", "target": "clinicpro_package_dependencies_react_leaflet", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L50", "weight": 1.0}, {"source": "clinicpro_package_dependencies_react_leaflet", "target": "react_leaflet", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L50", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_dependencies", "target": "clinicpro_package_dependencies_react_router_dom", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L51", "weight": 1.0}, {"source": "clinicpro_package_dependencies_react_router_dom", "target": "react_router_dom", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L51", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_dependencies", "target": "clinicpro_package_dependencies_react_select", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L52", "weight": 1.0}, {"source": "clinicpro_package_dependencies_react_select", "target": "react_select", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L52", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_dependencies", "target": "clinicpro_package_dependencies_recharts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L53", "weight": 1.0}, {"source": "clinicpro_package_dependencies_recharts", "target": "recharts", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L53", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_dependencies", "target": "clinicpro_package_dependencies_sonner", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L54", "weight": 1.0}, {"source": "clinicpro_package_dependencies_sonner", "target": "sonner", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L54", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_dependencies", "target": "clinicpro_package_dependencies_zod", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L55", "weight": 1.0}, {"source": "clinicpro_package_dependencies_zod", "target": "zod", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L55", "weight": 1.0, "context": "import"}, {"source": "clinicpro_package_dependencies", "target": "clinicpro_package_dependencies_zustand", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L56", "weight": 1.0}, {"source": "clinicpro_package_dependencies_zustand", "target": "zustand", "relation": "imports", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L56", "weight": 1.0, "context": "import"}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_package_json", "target": "clinicpro_package_license", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L58", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_package_json", "target": "clinicpro_package_private", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L59", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_package_json", "target": "clinicpro_package_scripts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L60", "weight": 1.0}, {"source": "clinicpro_package_scripts", "target": "clinicpro_package_scripts_dev_server", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L61", "weight": 1.0}, {"source": "clinicpro_package_scripts", "target": "clinicpro_package_scripts_dev", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L62", "weight": 1.0}, {"source": "clinicpro_package_scripts", "target": "clinicpro_package_scripts_watch", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L63", "weight": 1.0}, {"source": "clinicpro_package_scripts", "target": "clinicpro_package_scripts_build", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L64", "weight": 1.0}, {"source": "clinicpro_package_scripts", "target": "clinicpro_package_scripts_test", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L65", "weight": 1.0}, {"source": "clinicpro_package_scripts", "target": "clinicpro_package_scripts_test_watch", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L66", "weight": 1.0}, {"source": "clinicpro_package_scripts", "target": "clinicpro_package_scripts_test_cov", "relation": "contains", "confidence": "EXTRACTED", "source_file": "package.json", "source_location": "L67", "weight": 1.0}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.8.44/c435895b86893a68c87144f4f70cb4e75f26bfbfc99390769c837c450dfb3a21.json b/graphify-out/cache/ast/v0.8.44/c435895b86893a68c87144f4f70cb4e75f26bfbfc99390769c837c450dfb3a21.json new file mode 100644 index 00000000..47ee5d58 --- /dev/null +++ b/graphify-out/cache/ast/v0.8.44/c435895b86893a68c87144f4f70cb4e75f26bfbfc99390769c837c450dfb3a21.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_hamed_pj_my_pj_clinic_pro_clinicpro_claude_prompt_altcha_captcha_integration_md", "label": "altcha-captcha-integration.md", "file_type": "document", "source_file": ".claude/prompt/altcha-captcha-integration.md", "source_location": "L1"}, {"id": "prompt_altcha_captcha_integration_\u06cc\u06a9\u067e\u0627\u0631\u0686\u0647_\u0633\u0627\u0632\u06cc_altcha_\u06a9\u067e\u0686\u0627\u06cc_self_hosted_proof_of_work_\u0631\u0648\u06cc_endpoint\u0647\u0627\u06cc_\u0639\u0645\u0648\u0645\u06cc", "label": "\u06cc\u06a9\u067e\u0627\u0631\u0686\u0647\u200c\u0633\u0627\u0632\u06cc ALTCHA (\u06a9\u067e\u0686\u0627\u06cc Self-Hosted\u060c Proof-of-Work) \u0631\u0648\u06cc endpoint\u0647\u0627\u06cc \u0639\u0645\u0648\u0645\u06cc", "file_type": "document", "source_file": ".claude/prompt/altcha-captcha-integration.md", "source_location": "L1"}, {"id": "prompt_altcha_captcha_integration_\u067e\u0631\u0648\u0698\u0647", "label": "\u067e\u0631\u0648\u0698\u0647", "file_type": "document", "source_file": ".claude/prompt/altcha-captcha-integration.md", "source_location": "L3"}, {"id": "prompt_altcha_captcha_integration_\u0632\u0645\u06cc\u0646\u0647", "label": "\u0632\u0645\u06cc\u0646\u0647", "file_type": "document", "source_file": ".claude/prompt/altcha-captcha-integration.md", "source_location": "L9"}, {"id": "prompt_altcha_captcha_integration_\u0645\u0634\u06a9\u0644_\u0647\u062f\u0641", "label": "\u0645\u0634\u06a9\u0644 / \u0647\u062f\u0641", "file_type": "document", "source_file": ".claude/prompt/altcha-captcha-integration.md", "source_location": "L21"}, {"id": "prompt_altcha_captcha_integration_endpoint\u0647\u0627\u06cc_\u0639\u0645\u0648\u0645\u06cc_\u06a9\u0647_\u0628\u0627\u06cc\u062f_\u0645\u062d\u0627\u0641\u0638\u062a_\u0634\u0648\u0646\u062f", "label": "endpoint\u0647\u0627\u06cc \u0639\u0645\u0648\u0645\u06cc \u06a9\u0647 \u0628\u0627\u06cc\u062f \u0645\u062d\u0627\u0641\u0638\u062a \u0634\u0648\u0646\u062f", "file_type": "document", "source_file": ".claude/prompt/altcha-captcha-integration.md", "source_location": "L25"}, {"id": "prompt_altcha_captcha_integration_\u0648\u0636\u0639\u06cc\u062a_\u0641\u0639\u0644\u06cc", "label": "\u0648\u0636\u0639\u06cc\u062a \u0641\u0639\u0644\u06cc", "file_type": "document", "source_file": ".claude/prompt/altcha-captcha-integration.md", "source_location": "L41"}, {"id": "prompt_altcha_captcha_integration_\u0648\u0638\u0627\u06cc\u0641", "label": "\u0648\u0638\u0627\u06cc\u0641", "file_type": "document", "source_file": ".claude/prompt/altcha-captcha-integration.md", "source_location": "L67"}, {"id": "prompt_altcha_captcha_integration_\u06f1_\u0646\u0635\u0628_\u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647_\u06cc_\u0631\u0633\u0645\u06cc_php", "label": "\u06f1. \u0646\u0635\u0628 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647\u200c\u06cc \u0631\u0633\u0645\u06cc PHP", "file_type": "document", "source_file": ".claude/prompt/altcha-captcha-integration.md", "source_location": "L69"}, {"id": "prompt_altcha_captcha_integration_\u06f2_\u0633\u0631\u0648\u06cc\u0633_\u0645\u0631\u06a9\u0632\u06cc_src_shared_captcha_altchaservice_php_namespace_\u062c\u062f\u06cc\u062f_app_shared_captcha", "label": "\u06f2. \u0633\u0631\u0648\u06cc\u0633 \u0645\u0631\u06a9\u0632\u06cc \u2014 `src/Shared/Captcha/AltchaService.php` (namespace \u062c\u062f\u06cc\u062f `App\\Shared\\Captcha`)", "file_type": "document", "source_file": ".claude/prompt/altcha-captcha-integration.md", "source_location": "L76"}, {"id": "prompt_altcha_captcha_integration_\u06f3_guard_\u0642\u0627\u0628\u0644_\u0627\u0633\u062a\u0641\u0627\u062f\u0647_\u0645\u062c\u062f\u062f_src_shared_captcha_captchaguard_php", "label": "\u06f3. Guard \u0642\u0627\u0628\u0644\u200c\u0627\u0633\u062a\u0641\u0627\u062f\u0647\u200c\u0645\u062c\u062f\u062f \u2014 `src/Shared/Captcha/CaptchaGuard.php`", "file_type": "document", "source_file": ".claude/prompt/altcha-captcha-integration.md", "source_location": "L85"}, {"id": "prompt_altcha_captcha_integration_\u06f4_endpoint_\u0635\u062f\u0648\u0631_challenge_\u0639\u0645\u0648\u0645\u06cc", "label": "\u06f4. Endpoint \u0635\u062f\u0648\u0631 challenge \u2014 \u0639\u0645\u0648\u0645\u06cc", "file_type": "document", "source_file": ".claude/prompt/altcha-captcha-integration.md", "source_location": "L104"}, {"id": "prompt_altcha_captcha_integration_\u06f5_\u0627\u0639\u0645\u0627\u0644_guard_\u0631\u0648\u06cc_endpoint\u0647\u0627", "label": "\u06f5. \u0627\u0639\u0645\u0627\u0644 Guard \u0631\u0648\u06cc endpoint\u0647\u0627", "file_type": "document", "source_file": ".claude/prompt/altcha-captcha-integration.md", "source_location": "L118"}, {"id": "prompt_altcha_captcha_integration_\u06f6_\u062a\u0646\u0638\u06cc\u0645\u0627\u062a", "label": "\u06f6. \u062a\u0646\u0638\u06cc\u0645\u0627\u062a", "file_type": "document", "source_file": ".claude/prompt/altcha-captcha-integration.md", "source_location": "L128"}, {"id": "prompt_altcha_captcha_integration_\u06f7_frontend_\u067e\u0646\u0644_\u0627\u062f\u0645\u06cc\u0646_react_assets_admin", "label": "\u06f7. Frontend \u067e\u0646\u0644 \u0627\u062f\u0645\u06cc\u0646 React (`assets/admin/`)", "file_type": "document", "source_file": ".claude/prompt/altcha-captcha-integration.md", "source_location": "L150"}, {"id": "prompt_altcha_captcha_integration_\u06f8_\u062a\u0633\u062a", "label": "\u06f8. \u062a\u0633\u062a", "file_type": "document", "source_file": ".claude/prompt/altcha-captcha-integration.md", "source_location": "L158"}, {"id": "prompt_altcha_captcha_integration_\u06f9_\u0645\u0633\u062a\u0646\u062f\u0627\u062a", "label": "\u06f9. \u0645\u0633\u062a\u0646\u062f\u0627\u062a", "file_type": "document", "source_file": ".claude/prompt/altcha-captcha-integration.md", "source_location": "L164"}, {"id": "prompt_altcha_captcha_integration_\u0646\u06a9\u0627\u062a_\u0645\u0647\u0645", "label": "\u0646\u06a9\u0627\u062a \u0645\u0647\u0645", "file_type": "document", "source_file": ".claude/prompt/altcha-captcha-integration.md", "source_location": "L170"}], "edges": [{"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_claude_prompt_altcha_captcha_integration_md", "target": "prompt_altcha_captcha_integration_\u06cc\u06a9\u067e\u0627\u0631\u0686\u0647_\u0633\u0627\u0632\u06cc_altcha_\u06a9\u067e\u0686\u0627\u06cc_self_hosted_proof_of_work_\u0631\u0648\u06cc_endpoint\u0647\u0627\u06cc_\u0639\u0645\u0648\u0645\u06cc", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/altcha-captcha-integration.md", "source_location": "L1", "weight": 1.0}, {"source": "prompt_altcha_captcha_integration_\u06cc\u06a9\u067e\u0627\u0631\u0686\u0647_\u0633\u0627\u0632\u06cc_altcha_\u06a9\u067e\u0686\u0627\u06cc_self_hosted_proof_of_work_\u0631\u0648\u06cc_endpoint\u0647\u0627\u06cc_\u0639\u0645\u0648\u0645\u06cc", "target": "prompt_altcha_captcha_integration_\u067e\u0631\u0648\u0698\u0647", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/altcha-captcha-integration.md", "source_location": "L3", "weight": 1.0}, {"source": "prompt_altcha_captcha_integration_\u06cc\u06a9\u067e\u0627\u0631\u0686\u0647_\u0633\u0627\u0632\u06cc_altcha_\u06a9\u067e\u0686\u0627\u06cc_self_hosted_proof_of_work_\u0631\u0648\u06cc_endpoint\u0647\u0627\u06cc_\u0639\u0645\u0648\u0645\u06cc", "target": "prompt_altcha_captcha_integration_\u0632\u0645\u06cc\u0646\u0647", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/altcha-captcha-integration.md", "source_location": "L9", "weight": 1.0}, {"source": "prompt_altcha_captcha_integration_\u06cc\u06a9\u067e\u0627\u0631\u0686\u0647_\u0633\u0627\u0632\u06cc_altcha_\u06a9\u067e\u0686\u0627\u06cc_self_hosted_proof_of_work_\u0631\u0648\u06cc_endpoint\u0647\u0627\u06cc_\u0639\u0645\u0648\u0645\u06cc", "target": "prompt_altcha_captcha_integration_\u0645\u0634\u06a9\u0644_\u0647\u062f\u0641", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/altcha-captcha-integration.md", "source_location": "L21", "weight": 1.0}, {"source": "prompt_altcha_captcha_integration_\u06cc\u06a9\u067e\u0627\u0631\u0686\u0647_\u0633\u0627\u0632\u06cc_altcha_\u06a9\u067e\u0686\u0627\u06cc_self_hosted_proof_of_work_\u0631\u0648\u06cc_endpoint\u0647\u0627\u06cc_\u0639\u0645\u0648\u0645\u06cc", "target": "prompt_altcha_captcha_integration_endpoint\u0647\u0627\u06cc_\u0639\u0645\u0648\u0645\u06cc_\u06a9\u0647_\u0628\u0627\u06cc\u062f_\u0645\u062d\u0627\u0641\u0638\u062a_\u0634\u0648\u0646\u062f", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/altcha-captcha-integration.md", "source_location": "L25", "weight": 1.0}, {"source": "prompt_altcha_captcha_integration_\u06cc\u06a9\u067e\u0627\u0631\u0686\u0647_\u0633\u0627\u0632\u06cc_altcha_\u06a9\u067e\u0686\u0627\u06cc_self_hosted_proof_of_work_\u0631\u0648\u06cc_endpoint\u0647\u0627\u06cc_\u0639\u0645\u0648\u0645\u06cc", "target": "prompt_altcha_captcha_integration_\u0648\u0636\u0639\u06cc\u062a_\u0641\u0639\u0644\u06cc", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/altcha-captcha-integration.md", "source_location": "L41", "weight": 1.0}, {"source": "prompt_altcha_captcha_integration_\u06cc\u06a9\u067e\u0627\u0631\u0686\u0647_\u0633\u0627\u0632\u06cc_altcha_\u06a9\u067e\u0686\u0627\u06cc_self_hosted_proof_of_work_\u0631\u0648\u06cc_endpoint\u0647\u0627\u06cc_\u0639\u0645\u0648\u0645\u06cc", "target": "prompt_altcha_captcha_integration_\u0648\u0638\u0627\u06cc\u0641", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/altcha-captcha-integration.md", "source_location": "L67", "weight": 1.0}, {"source": "prompt_altcha_captcha_integration_\u0648\u0638\u0627\u06cc\u0641", "target": "prompt_altcha_captcha_integration_\u06f1_\u0646\u0635\u0628_\u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647_\u06cc_\u0631\u0633\u0645\u06cc_php", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/altcha-captcha-integration.md", "source_location": "L69", "weight": 1.0}, {"source": "prompt_altcha_captcha_integration_\u0648\u0638\u0627\u06cc\u0641", "target": "prompt_altcha_captcha_integration_\u06f2_\u0633\u0631\u0648\u06cc\u0633_\u0645\u0631\u06a9\u0632\u06cc_src_shared_captcha_altchaservice_php_namespace_\u062c\u062f\u06cc\u062f_app_shared_captcha", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/altcha-captcha-integration.md", "source_location": "L76", "weight": 1.0}, {"source": "prompt_altcha_captcha_integration_\u0648\u0638\u0627\u06cc\u0641", "target": "prompt_altcha_captcha_integration_\u06f3_guard_\u0642\u0627\u0628\u0644_\u0627\u0633\u062a\u0641\u0627\u062f\u0647_\u0645\u062c\u062f\u062f_src_shared_captcha_captchaguard_php", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/altcha-captcha-integration.md", "source_location": "L85", "weight": 1.0}, {"source": "prompt_altcha_captcha_integration_\u0648\u0638\u0627\u06cc\u0641", "target": "prompt_altcha_captcha_integration_\u06f4_endpoint_\u0635\u062f\u0648\u0631_challenge_\u0639\u0645\u0648\u0645\u06cc", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/altcha-captcha-integration.md", "source_location": "L104", "weight": 1.0}, {"source": "prompt_altcha_captcha_integration_\u0648\u0638\u0627\u06cc\u0641", "target": "prompt_altcha_captcha_integration_\u06f5_\u0627\u0639\u0645\u0627\u0644_guard_\u0631\u0648\u06cc_endpoint\u0647\u0627", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/altcha-captcha-integration.md", "source_location": "L118", "weight": 1.0}, {"source": "prompt_altcha_captcha_integration_\u0648\u0638\u0627\u06cc\u0641", "target": "prompt_altcha_captcha_integration_\u06f6_\u062a\u0646\u0638\u06cc\u0645\u0627\u062a", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/altcha-captcha-integration.md", "source_location": "L128", "weight": 1.0}, {"source": "prompt_altcha_captcha_integration_\u0648\u0638\u0627\u06cc\u0641", "target": "prompt_altcha_captcha_integration_\u06f7_frontend_\u067e\u0646\u0644_\u0627\u062f\u0645\u06cc\u0646_react_assets_admin", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/altcha-captcha-integration.md", "source_location": "L150", "weight": 1.0}, {"source": "prompt_altcha_captcha_integration_\u0648\u0638\u0627\u06cc\u0641", "target": "prompt_altcha_captcha_integration_\u06f8_\u062a\u0633\u062a", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/altcha-captcha-integration.md", "source_location": "L158", "weight": 1.0}, {"source": "prompt_altcha_captcha_integration_\u0648\u0638\u0627\u06cc\u0641", "target": "prompt_altcha_captcha_integration_\u06f9_\u0645\u0633\u062a\u0646\u062f\u0627\u062a", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/altcha-captcha-integration.md", "source_location": "L164", "weight": 1.0}, {"source": "prompt_altcha_captcha_integration_\u06cc\u06a9\u067e\u0627\u0631\u0686\u0647_\u0633\u0627\u0632\u06cc_altcha_\u06a9\u067e\u0686\u0627\u06cc_self_hosted_proof_of_work_\u0631\u0648\u06cc_endpoint\u0647\u0627\u06cc_\u0639\u0645\u0648\u0645\u06cc", "target": "prompt_altcha_captcha_integration_\u0646\u06a9\u0627\u062a_\u0645\u0647\u0645", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/altcha-captcha-integration.md", "source_location": "L170", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.8.44/d98e311e0268ef2b6015b051d42bfedaaf9afa0a2850d7842f1e0d7600916f4a.json b/graphify-out/cache/ast/v0.8.44/d98e311e0268ef2b6015b051d42bfedaaf9afa0a2850d7842f1e0d7600916f4a.json new file mode 100644 index 00000000..8328d407 --- /dev/null +++ b/graphify-out/cache/ast/v0.8.44/d98e311e0268ef2b6015b051d42bfedaaf9afa0a2850d7842f1e0d7600916f4a.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_shared_captcha_altchaservice_php", "label": "AltchaService.php", "file_type": "code", "source_file": "src/Shared/Captcha/AltchaService.php", "source_location": "L1"}, {"id": "captcha_altchaservice_altchaservice", "label": "AltchaService", "file_type": "code", "source_file": "src/Shared/Captcha/AltchaService.php", "source_location": "L17"}, {"id": "altcha", "label": "Altcha", "file_type": "code", "source_file": "src/Shared/Captcha/AltchaService.php", "source_location": "L19"}, {"id": "captcha_altchaservice_altchaservice_construct", "label": ".__construct()", "file_type": "code", "source_file": "src/Shared/Captcha/AltchaService.php", "source_location": "L21"}, {"id": "captcha_altchaservice_altchaservice_enabled", "label": ".enabled()", "file_type": "code", "source_file": "src/Shared/Captcha/AltchaService.php", "source_location": "L31"}, {"id": "captcha_altchaservice_altchaservice_createchallenge", "label": ".createChallenge()", "file_type": "code", "source_file": "src/Shared/Captcha/AltchaService.php", "source_location": "L41"}, {"id": "captcha_altchaservice_altchaservice_verifysolution", "label": ".verifySolution()", "file_type": "code", "source_file": "src/Shared/Captcha/AltchaService.php", "source_location": "L61"}, {"id": "captcha_altchaservice_altchaservice_consumeonce", "label": ".consumeOnce()", "file_type": "code", "source_file": "src/Shared/Captcha/AltchaService.php", "source_location": "L74"}], "edges": [{"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_shared_captcha_altchaservice_php", "target": "altcha", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Shared/Captcha/AltchaService.php", "source_location": "L5", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_shared_captcha_altchaservice_php", "target": "challengeoptions", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Shared/Captcha/AltchaService.php", "source_location": "L6", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_shared_captcha_altchaservice_php", "target": "cacheitempoolinterface", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Shared/Captcha/AltchaService.php", "source_location": "L7", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_shared_captcha_altchaservice_php", "target": "captcha_altchaservice_altchaservice", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/Shared/Captcha/AltchaService.php", "source_location": "L17", "weight": 1.0}, {"source": "captcha_altchaservice_altchaservice", "target": "altcha", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Shared/Captcha/AltchaService.php", "source_location": "L19", "weight": 1.0, "context": "field"}, {"source": "captcha_altchaservice_altchaservice", "target": "captcha_altchaservice_altchaservice_construct", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Shared/Captcha/AltchaService.php", "source_location": "L21", "weight": 1.0}, {"source": "captcha_altchaservice_altchaservice", "target": "captcha_altchaservice_altchaservice_enabled", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Shared/Captcha/AltchaService.php", "source_location": "L31", "weight": 1.0}, {"source": "captcha_altchaservice_altchaservice", "target": "captcha_altchaservice_altchaservice_createchallenge", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Shared/Captcha/AltchaService.php", "source_location": "L41", "weight": 1.0}, {"source": "captcha_altchaservice_altchaservice", "target": "captcha_altchaservice_altchaservice_verifysolution", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Shared/Captcha/AltchaService.php", "source_location": "L61", "weight": 1.0}, {"source": "captcha_altchaservice_altchaservice", "target": "captcha_altchaservice_altchaservice_consumeonce", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Shared/Captcha/AltchaService.php", "source_location": "L74", "weight": 1.0}, {"source": "captcha_altchaservice_altchaservice_verifysolution", "target": "captcha_altchaservice_altchaservice_consumeonce", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/Shared/Captcha/AltchaService.php", "source_location": "L67", "weight": 1.0}], "raw_calls": [{"caller_nid": "captcha_altchaservice_altchaservice_createchallenge", "callee": "add", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Captcha/AltchaService.php", "source_location": "L45", "receiver": null}, {"caller_nid": "captcha_altchaservice_altchaservice_consumeonce", "callee": "json_decode", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Captcha/AltchaService.php", "source_location": "L76", "receiver": null}, {"caller_nid": "captcha_altchaservice_altchaservice_consumeonce", "callee": "base64_decode", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Captcha/AltchaService.php", "source_location": "L76", "receiver": null}, {"caller_nid": "captcha_altchaservice_altchaservice_consumeonce", "callee": "is_array", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Captcha/AltchaService.php", "source_location": "L77", "receiver": null}, {"caller_nid": "captcha_altchaservice_altchaservice_consumeonce", "callee": "is_string", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Captcha/AltchaService.php", "source_location": "L78", "receiver": null}, {"caller_nid": "captcha_altchaservice_altchaservice_consumeonce", "callee": "getItem", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Captcha/AltchaService.php", "source_location": "L82", "receiver": null}, {"caller_nid": "captcha_altchaservice_altchaservice_consumeonce", "callee": "isHit", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Captcha/AltchaService.php", "source_location": "L83", "receiver": null}, {"caller_nid": "captcha_altchaservice_altchaservice_consumeonce", "callee": "expiresAfter", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Captcha/AltchaService.php", "source_location": "L87", "receiver": null}, {"caller_nid": "captcha_altchaservice_altchaservice_consumeonce", "callee": "save", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Captcha/AltchaService.php", "source_location": "L88", "receiver": null}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.8.44/db00decdd07f5ce818cae523811ea83bb924334ebf86272b975dfec118027095.json b/graphify-out/cache/ast/v0.8.44/db00decdd07f5ce818cae523811ea83bb924334ebf86272b975dfec118027095.json new file mode 100644 index 00000000..a7e13b11 --- /dev/null +++ b/graphify-out/cache/ast/v0.8.44/db00decdd07f5ce818cae523811ea83bb924334ebf86272b975dfec118027095.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_hamed_pj_my_pj_clinic_pro_clinicpro_docs_api_captcha_md", "label": "captcha.md", "file_type": "document", "source_file": "docs/api/captcha.md", "source_location": "L1"}, {"id": "api_captcha_captcha_api_altcha", "label": "Captcha API (ALTCHA)", "file_type": "document", "source_file": "docs/api/captcha.md", "source_location": "L1"}, {"id": "api_captcha_get_api_v1_altcha_challenge", "label": "GET `/api/v1/altcha/challenge`", "file_type": "document", "source_file": "docs/api/captcha.md", "source_location": "L10"}, {"id": "api_captcha_response_200", "label": "Response `200`", "file_type": "document", "source_file": "docs/api/captcha.md", "source_location": "L14"}, {"id": "api_captcha_\u0627\u0639\u0645\u0627\u0644_\u06a9\u067e\u0686\u0627_\u0631\u0648\u06cc_endpoint\u0647\u0627\u06cc_\u0645\u062d\u0627\u0641\u0638\u062a_\u0634\u062f\u0647", "label": "\u0627\u0639\u0645\u0627\u0644 \u06a9\u067e\u0686\u0627 \u0631\u0648\u06cc endpoint\u0647\u0627\u06cc \u0645\u062d\u0627\u0641\u0638\u062a\u200c\u0634\u062f\u0647", "file_type": "document", "source_file": "docs/api/captcha.md", "source_location": "L31"}, {"id": "api_captcha_\u062e\u0637\u0627\u06cc_\u0627\u0639\u062a\u0628\u0627\u0631\u0633\u0646\u062c\u06cc_\u06a9\u067e\u0686\u0627_422", "label": "\u062e\u0637\u0627\u06cc \u0627\u0639\u062a\u0628\u0627\u0631\u0633\u0646\u062c\u06cc \u06a9\u067e\u0686\u0627 `422`", "file_type": "document", "source_file": "docs/api/captcha.md", "source_location": "L51"}, {"id": "api_captcha_\u0627\u0645\u0646\u06cc\u062a", "label": "\u0627\u0645\u0646\u06cc\u062a", "file_type": "document", "source_file": "docs/api/captcha.md", "source_location": "L64"}], "edges": [{"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_docs_api_captcha_md", "target": "api_captcha_captcha_api_altcha", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/captcha.md", "source_location": "L1", "weight": 1.0}, {"source": "api_captcha_captcha_api_altcha", "target": "api_captcha_get_api_v1_altcha_challenge", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/captcha.md", "source_location": "L10", "weight": 1.0}, {"source": "api_captcha_get_api_v1_altcha_challenge", "target": "api_captcha_response_200", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/captcha.md", "source_location": "L14", "weight": 1.0}, {"source": "api_captcha_captcha_api_altcha", "target": "api_captcha_\u0627\u0639\u0645\u0627\u0644_\u06a9\u067e\u0686\u0627_\u0631\u0648\u06cc_endpoint\u0647\u0627\u06cc_\u0645\u062d\u0627\u0641\u0638\u062a_\u0634\u062f\u0647", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/captcha.md", "source_location": "L31", "weight": 1.0}, {"source": "api_captcha_\u0627\u0639\u0645\u0627\u0644_\u06a9\u067e\u0686\u0627_\u0631\u0648\u06cc_endpoint\u0647\u0627\u06cc_\u0645\u062d\u0627\u0641\u0638\u062a_\u0634\u062f\u0647", "target": "api_captcha_\u062e\u0637\u0627\u06cc_\u0627\u0639\u062a\u0628\u0627\u0631\u0633\u0646\u062c\u06cc_\u06a9\u067e\u0686\u0627_422", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/captcha.md", "source_location": "L51", "weight": 1.0}, {"source": "api_captcha_captcha_api_altcha", "target": "api_captcha_\u0627\u0645\u0646\u06cc\u062a", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/captcha.md", "source_location": "L64", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.8.44/f786ca8be38675ac8bf6c0dc71c67a842d6785a4de2a7c3294b6df6d082284ef.json b/graphify-out/cache/ast/v0.8.44/f786ca8be38675ac8bf6c0dc71c67a842d6785a4de2a7c3294b6df6d082284ef.json new file mode 100644 index 00000000..ef185a24 --- /dev/null +++ b/graphify-out/cache/ast/v0.8.44/f786ca8be38675ac8bf6c0dc71c67a842d6785a4de2a7c3294b6df6d082284ef.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_shared_constant_errorcodes_php", "label": "ErrorCodes.php", "file_type": "code", "source_file": "src/Shared/Constant/ErrorCodes.php", "source_location": "L1"}, {"id": "constant_errorcodes_errorcodes", "label": "ErrorCodes", "file_type": "code", "source_file": "src/Shared/Constant/ErrorCodes.php", "source_location": "L5"}, {"id": "constant_errorcodes_errorcodes_message", "label": ".message()", "file_type": "code", "source_file": "src/Shared/Constant/ErrorCodes.php", "source_location": "L106"}], "edges": [{"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_shared_constant_errorcodes_php", "target": "constant_errorcodes_errorcodes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/Shared/Constant/ErrorCodes.php", "source_location": "L5", "weight": 1.0}, {"source": "constant_errorcodes_errorcodes", "target": "constant_errorcodes_errorcodes_message", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Shared/Constant/ErrorCodes.php", "source_location": "L106", "weight": 1.0}], "raw_calls": []} \ No newline at end of file diff --git a/graphify-out/cache/stat-index.json b/graphify-out/cache/stat-index.json index ea3201f6..8e86642b 100644 --- a/graphify-out/cache/stat-index.json +++ b/graphify-out/cache/stat-index.json @@ -1 +1 @@ -{"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/assets/controllers.json":{"size":198,"mtime_ns":1781030172830093265,"hash":"c2038f4c739d4a1620199394a2ccfdd5c91ef846a0f81048388ffa7b65df091b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/composer.json":{"size":3107,"mtime_ns":1783490678467490026,"hash":"fd19747c4f617b61a6d00aa2e6a399047b4b6f93b6e73f73cc0919c841d55ead"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/config/bundles.php":{"size":991,"mtime_ns":1781030790602666616,"hash":"ffc97986a2386074ed8eb1b4b9dcbca2ffa7cc6b3600a6c37e3112d6be39e0f4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/config/preload.php":{"size":184,"mtime_ns":1781009656090972900,"hash":"718612fb509259556db6202d93b5f3b1bd85a6be6d523cdc6fb1d81b569ce256"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/config/reference.php":{"size":105233,"mtime_ns":1782645766235591855,"hash":"a2030203ccca39bf435675e884e805a2bc3db13ddfded1d346ac649bab6deeab"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/create_test_users.php":{"size":4062,"mtime_ns":1781168063674077630,"hash":"35e828a0495a0a4aaa7539781076edff3b0af2e88562ea0ae1299cfc17fa91b6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/city.json":{"size":48958,"mtime_ns":1760953552261818528,"hash":"4c321bdc22df2c9e02e37cb3c1a44d792710e94c53f0131f14e88f0ba60cfbf5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/doctor_services.json":{"size":42359,"mtime_ns":1781085019042251229,"hash":"086809f01c4c6e77ab1161688bd03d60ff524735d0d7655cb0daa55bbb53875a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/import.php":{"size":5488,"mtime_ns":1781089058225002885,"hash":"7f22b1eef5dacde90d1f87178f5b446df06562e86331f2b1fef0672da6d33fb9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/seed.php":{"size":27683,"mtime_ns":1781090517391813278,"hash":"9f68801870c368286543040b482a6a8e9773a82506565226d705c0b410873025"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/seed_finish.php":{"size":10806,"mtime_ns":1781091340487318516,"hash":"f36f97df126491fcfdc438f289489a189bbc58b7fa5dc61e48a40edefb77c623"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/seed_full.php":{"size":42270,"mtime_ns":1781091251098443866,"hash":"da652ff8b7513cab398dc4f7d6dcc92399ef0507410f466a72929684aee6abc2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/specialties.json":{"size":16189,"mtime_ns":1781084374016184330,"hash":"de4ba8a0ed9fe595a89be7b4113ae37bddd5dcc5e59766f4cdf7ec34cfd44dc6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/state.json":{"size":1708,"mtime_ns":1760953552262399793,"hash":"3678b80abe63c2c45d0ef5f5cfd63cb46f5bcff7cb6f73fb3c8d188ce24d0242"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609130407.php":{"size":1154,"mtime_ns":1781010250896191835,"hash":"d9130e4e0fcecbfc302da5ef3184d0665ef9844067e63673b091dc6b09e5c432"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609131304.php":{"size":8945,"mtime_ns":1781010908745260477,"hash":"d8db037c64d216c9d6e3018caab7c9a4966abfe31e41794f43728ac0bd3c11bb"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609131553.php":{"size":1477,"mtime_ns":1781010960853107810,"hash":"1b3c9ad833965008985bcf3f6a1894e400bc58bb0a8de2b6bc159c31ecdcca5d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609132009.php":{"size":1986,"mtime_ns":1781011210879944205,"hash":"95e296cf289224cc43748507a9496f493d0e25b829a9e3d8bb8567f6f022d378"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609132708.php":{"size":5572,"mtime_ns":1781011630935659766,"hash":"d3211b9b4b08ad40b543052498b4ad7adeb034ffbabc4a83f761807df8e2fe9f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609133121.php":{"size":4855,"mtime_ns":1781011890870506406,"hash":"fc65641b70ce6d9bb2409aeecccb580333685ba71bcdddb72ea185fc9b717e9b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609133334.php":{"size":1529,"mtime_ns":1781012020936148882,"hash":"d2753baf2902d723dba6ef2928c65627dbc4f006c5493a45182b450fb4598fd6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609133546.php":{"size":1688,"mtime_ns":1781012150911850095,"hash":"98b56edc2e31c609f70d82d1e697c6598f3c65c4120d4e77510d19c0030e9d87"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609134112.php":{"size":2830,"mtime_ns":1781012480955463648,"hash":"ffb5700205e312f10728cd20f9638450cd2195df9627b5b51f92690526214845"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609134741.php":{"size":1789,"mtime_ns":1781012870832220674,"hash":"eb2a55b4f50f4fd58288452b71dfb5e190958cb8c775354dc9c9f99c929dfff0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609135126.php":{"size":1922,"mtime_ns":1781013090876422882,"hash":"a736efea5774baa48ac87522442943580e9ce47cab3479e1033e71fc6131eae5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609135514.php":{"size":1449,"mtime_ns":1781013320954994440,"hash":"e3901078cc23a4e9ba6a7b748e32fc1a04f888c8d5680da5100b26a56dcd0559"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609135704.php":{"size":2558,"mtime_ns":1781013430957508206,"hash":"6ce6851d5331c07c1f13c94f475a7f6823551927ff0b7ccfa8fddec146e69fcc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609135923.php":{"size":3457,"mtime_ns":1781013570869080544,"hash":"b7a581c53e463fa8bfb6a7ccdd65d75c2146aa3b8190852a84a15ad2c8d3bf3d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609140223.php":{"size":1590,"mtime_ns":1781013750963170886,"hash":"c0c011d8f3040d2b81dff1ec667f2d650567eb141271ff4d368ed66fdfef9342"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609140423.php":{"size":1535,"mtime_ns":1781013870906972885,"hash":"0fb344e74f64622b3ea3f4a29e8b6412f35ec60ee46cd25abd5ea3e0abc8c299"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610062539.php":{"size":826,"mtime_ns":1781072744933894396,"hash":"c9a4bfd06b4bdb00f74c6a5973acbea2b86b4c8ab64c8d28c730dcdda5bc0e88"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610092558.php":{"size":780,"mtime_ns":1781083564938987613,"hash":"7b3ae1ae82625519d5c7986d542c84dc5c37949ac4f3a8c356191dc480b7cc0c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610103401.php":{"size":20904,"mtime_ns":1781087803230706453,"hash":"f54443ba8ee1b2d436f3e2bdafcdb026b5b3c8dae9941623fb401792aa68bb85"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610110039.php":{"size":817,"mtime_ns":1781089244896521926,"hash":"a68634b6818f1b331bc2232ff9429792f11a7090ef18315754dbb5feec3981b7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610110921.php":{"size":1611,"mtime_ns":1781089784421230793,"hash":"2f112d7fbfee7d1a0ec047535854cfb1bf8088099d4f5219e23f9458380f90ce"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610111254.php":{"size":1109,"mtime_ns":1781089984946035862,"hash":"2c68d5ebfef56abee588aa5abb74a571918a0ed04eec7be7ea8039d9a12046ff"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610113711.php":{"size":1499,"mtime_ns":1781091448606693864,"hash":"4cd9c0910a49718627e7ea3c5f6f448e6508e609c70d643e160a6c740937d13f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610140853.php":{"size":5927,"mtime_ns":1782583543657239761,"hash":"02683252b3c23dc3005af00fc6a42cbc360a306c799a88ee722cf1560ba22da4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610175105.php":{"size":767,"mtime_ns":1781113873591904402,"hash":"49ffb1ef4d630a180b47d4b1f42da6c3ddf8283dc93bc192c16060cc093b5b82"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610183655.php":{"size":2273,"mtime_ns":1781116623586431980,"hash":"e1573ba5f962b956314e7e17a8adf8fc3683dc6065c34490b60a25636d7fe4a6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260611075829.php":{"size":3004,"mtime_ns":1782626301195816873,"hash":"b3ba50cb2690810d8fb010f0ede4cf92906376908208bf0093512752d72fed76"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260611083424.php":{"size":881,"mtime_ns":1781166873770630956,"hash":"38e49fefb94b0029f3a10ac5aa846f341e47fb69686ad6d23c4b324de4b5e218"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260611084046.php":{"size":1410,"mtime_ns":1781167246413147688,"hash":"ace825e63afb52cfc794f24547a03563c501cb951545c1a8fe50e2f198e11572"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260612081739.php":{"size":1185,"mtime_ns":1781252261521732569,"hash":"abfc51c67c959f525711c661c21872e6a831079510241c197b86175623bc217b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260612132848.php":{"size":1667,"mtime_ns":1781258338612526059,"hash":"c3d155690c12d3c3243190dcc759adf44cdf6a727b3b2563ba50caa78fd2a3cc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260614181134.php":{"size":1715,"mtime_ns":1781516938570601065,"hash":"4febd40d1e647abbd00413dbb51dc59d5f73d15a6d54d7668d08861f2e6c2d99"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260614181629.php":{"size":3515,"mtime_ns":1781516938570859523,"hash":"c8a4a0b22f709c3ad72760ab89c787f44260064e9d3222449292133d85b27862"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260614181657.php":{"size":4760,"mtime_ns":1781516938571506442,"hash":"3f5f75cf96210cabb9a36a61036acb7bea5fd01466b367725995b9fd52bedb2c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260614182549.php":{"size":2122,"mtime_ns":1781516938571645400,"hash":"1fc5633381813d3939e8513eb233bfd9c24797537a8348bc83e1f29c2b41e311"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260614182950.php":{"size":2545,"mtime_ns":1781516938571764692,"hash":"fd126b1e4e09b2f3433242d40992cb2a829d80a357faa87bf922d86bbf514c2f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260614183527.php":{"size":4022,"mtime_ns":1781516938571888567,"hash":"98a07ace9623c623dddcecb1bf1d4189d8efe1692ba261779b1f9661ac07ff25"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260615060415.php":{"size":851,"mtime_ns":1781516938572128193,"hash":"0231ff42cfb43dd4cb4ecfaff3e4f1d285d30fdd87a120fccc6046fac3d1e040"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260615061938.php":{"size":981,"mtime_ns":1781516938572427735,"hash":"1ac836b1d7089a2dd47756eb7ba0e65801105e2dda52aee3f5df981daa57db88"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260615074107.php":{"size":1712,"mtime_ns":1781516938573278653,"hash":"f16f0d0bcf5a4646bcaf98725563639c8ff8b4f2a6d8cf9b8f6a0e7bfbe4c39d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260615142236.php":{"size":1117,"mtime_ns":1781535498215147916,"hash":"27e62ea86a4f3aa8539bd976213f57efbd6eb36b8aa4798fe52f2274571941c3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260615203529.php":{"size":1746,"mtime_ns":1781557035803907615,"hash":"b735a483f4db548f9613dd6d5efc8489f1a14559737b39f5fa9ec395f6ad21c2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260619062912.php":{"size":772,"mtime_ns":1781850555276849213,"hash":"7803c7d2fe66171063a19937794a6630d34dff563450bbcead5fa6051866ca2f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260619121047.php":{"size":780,"mtime_ns":1781871054836536786,"hash":"5b96978f092d4e81b6b9ca61e2a5d5a53e51f1b9b8bf6be43f38cc462371a252"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260619170105.php":{"size":1000,"mtime_ns":1781888467242271818,"hash":"24b56c5edca5c601b008f28dc8b642de32dceeeb408ec38cd5e3f7c40c3ce4f3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260621084558.php":{"size":774,"mtime_ns":1782031565107938146,"hash":"1a88683010bc9f3571111e2c63fceda2062724f08e0c93a8519405d4ed8bf33c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260621094624.php":{"size":774,"mtime_ns":1782035186037116338,"hash":"846706a2c43ed5b3354ff1ebc8d0eb9d9c7dcaca94802f6b8ae4d4653eb54fc9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260622160119.php":{"size":779,"mtime_ns":1782144086923054995,"hash":"d1a46bd2a54a9e9f55a692342bbd1bc49add55e4c29368fef1c0fd6d4f8a9292"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260622163152.php":{"size":1377,"mtime_ns":1782214545724072190,"hash":"64ff3985f32d0d18646d441f0edd99be402305cbff68d66519dcb196e17e42bd"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260622171538.php":{"size":1410,"mtime_ns":1782214545724191815,"hash":"42c0bfb273a488f98079a84f3331c2000ec0018e5c1a748a4f76481853fca168"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260622173707.php":{"size":1491,"mtime_ns":1782214545724314524,"hash":"e7ca8699e56c8ce50350006668b7958af1be4663f36620a12ce34dc1fecea6e1"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260622181251.php":{"size":1171,"mtime_ns":1782214545724441066,"hash":"9a5233ddd9873b485bfcf9b9009619a42cec5bc0a4516d98a387b42a249aa0c5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260622184409.php":{"size":2212,"mtime_ns":1782214545724627733,"hash":"caa199786e4c7016e4232e653b063278fe809536f4eb2b42305e3bd30beef290"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260622185948.php":{"size":2005,"mtime_ns":1782214545724826651,"hash":"7048fe9c1439b52f85abf3186cf4eec913eb873e8ac6ae1154712adccc327b83"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260623115721.php":{"size":779,"mtime_ns":1782215846636875546,"hash":"4c8e43a5be46030c087a8679b9b84e8cf58b4174e9228f94fa02dd0d3f2e5990"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260623173907.php":{"size":779,"mtime_ns":1782253591740927223,"hash":"237d660c556b7f37176854a98f02cd114fafab9405f9ae4945a8a75941928f8d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260624030339.php":{"size":916,"mtime_ns":1782270223182271448,"hash":"a97dc816b64080ab3aabd67347c2161faff7090629810a6db13c051991edd8af"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260624092459.php":{"size":2059,"mtime_ns":1782293101374459999,"hash":"44b5621ce383ac7cb1cea47d7006f3c2b0b47bba8d49f59c78a0df4f737f8482"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260624093738.php":{"size":1266,"mtime_ns":1782293867202071491,"hash":"dedb9cb5586cb39f3d35af323fab3e41ff8e63ca961cdb98b8a7beabd113c8af"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260624123236.php":{"size":809,"mtime_ns":1782304359030218634,"hash":"acb3129833c4f6b1ec99f90496e23400de1df0624f1dbbba5077a20500a38548"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260625135132.php":{"size":780,"mtime_ns":1782395498606655159,"hash":"a1c3aafeaa1761bfaff51ae0c523a2781cf359fca511e7aa8bd294b70011a9a9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260625150304.php":{"size":1990,"mtime_ns":1782399813900039403,"hash":"87f84613f1b928abd28cf7502c4572ebf7599d0c47d3c97497a5d74b9fb2c983"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/package.json":{"size":2352,"mtime_ns":1783189109134887945,"hash":"3e0045fee56c6eaf7f2973ff15b96e205c89dae7f66ed2353de7990b4858e7a3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/public/index.php":{"size":206,"mtime_ns":1781009656089267135,"hash":"6609137ba6c6187032cdfd84e9d39097732d861414157cacbdeb77b2b271ac8b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/public/manifest.json":{"size":851,"mtime_ns":1783067213231257247,"hash":"ffb0ad60c98078073b6590566e106ce7f1e2d0a830fe67fed83566e3a9614728"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/seed_realistic_data.php":{"size":24320,"mtime_ns":1781519949285784202,"hash":"2ad075c6d333a42f3ac51adb0e1d8b444f64f3b5a01bc87f53d9522cb272ce68"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/seed_test_data.php":{"size":13557,"mtime_ns":1781169644756523490,"hash":"d5bbc3b4a96e7abf610d9cd63da61dac6b73bdd97b5672eb4ec191bbec2255e8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/skills-lock.json":{"size":267,"mtime_ns":1782232921467371596,"hash":"4b889910ed363cee9dbd7da20e9c0748ddf40dd483ed92b5e581ebedb506f179"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Admin/Controller/AdminApiController.php":{"size":109139,"mtime_ns":1783663902017617470,"hash":"a9f43467a79de3366505fa643850b2cbd96e37bb265b652720f1a2b30340a317"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Admin/Controller/AdminController.php":{"size":490,"mtime_ns":1781030416417456388,"hash":"7d18322ef916885ae0181a7b9dde07ab07d08bc49cbf72669f50e5268ffeef62"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Command/CancelExpiredAppointmentsCommand.php":{"size":920,"mtime_ns":1781551622411049671,"hash":"3b56ad9741a4349bd249a4a4e320f7195c320fec9a96ccde6da5b8f75d87b32d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Controller/AppointmentController.php":{"size":24353,"mtime_ns":1783569345778808353,"hash":"416d314362c1793e98f5009fed41ee441fb4bf5d01de9b11018bd2fdbf407ea2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Controller/AppointmentSettingsController.php":{"size":17714,"mtime_ns":1782728407188976018,"hash":"213d1b93ba08882b32a47b70be27553aae4d53bf92fcdb66d2c2876e33f0eb6a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Controller/MyAppointmentsController.php":{"size":15723,"mtime_ns":1782728407189591731,"hash":"36e9472f0cdcf7178c898629a676f50452d0572c9dfc7f6c0d3f91a602716a0c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Entity/Appointment.php":{"size":10213,"mtime_ns":1783059631681371250,"hash":"71772f7b52621ca23f103b0badf87b12d25c430546a5adf6782758c47fc5d0b2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Entity/DateOverride.php":{"size":2925,"mtime_ns":1782728407190402153,"hash":"c59fdb6d3f05bdb6cd558bb74e701897aa14947acafadb64943469c19fe696f0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Entity/Holiday.php":{"size":2953,"mtime_ns":1782650883604011152,"hash":"45b9c56571e20dfc0cabc789b083e2099273efbe5c0a589268a7f5e35106e631"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Entity/WeeklySchedule.php":{"size":3519,"mtime_ns":1782650883602991274,"hash":"ac7a64333676e95bd5f9a78c22fe0f83fcad6bf96d65ae2605685ab8c01ed453"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Message/ExpireAppointmentsMessage.php":{"size":85,"mtime_ns":1781551622411423796,"hash":"094a07b7c7552dd1c2812e066ae7e9cde6dc6bc9ca4ef07e11b82f8feec45fd6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/MessageHandler/ExpireAppointmentsHandler.php":{"size":504,"mtime_ns":1781551622411619546,"hash":"8981c0048e84b26121eb8e2a6e1f9913a7d61d958a48bc4bee113df6c0c77a80"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Repository/AppointmentRepository.php":{"size":7660,"mtime_ns":1782728407190649529,"hash":"293ee69d87a2ee0421f6a4f73ef854b9fd7d261642ac34795a453438ac762b39"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Repository/DateOverrideRepository.php":{"size":1119,"mtime_ns":1781012268350237489,"hash":"f383ecc7f0712616f9969689e3a2011faf49b3ee6c2ec3fc6751f0e93560df91"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Repository/HolidayRepository.php":{"size":1768,"mtime_ns":1781099253934669137,"hash":"f886ede4b1998bcbd43c335af00c205c410cfe7bd74b17c12add062b12b84d7c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Repository/SlotTakenException.php":{"size":101,"mtime_ns":1781535498216404171,"hash":"e6ca84966b94b947c7df53646b8a0c5b1a5f5564d144e2b0e00b7756c97d718a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Repository/WeeklyScheduleRepository.php":{"size":1480,"mtime_ns":1781523180068721029,"hash":"8a3deac81ebf1b16b5221f172aeefc9a45009658b7820e6e8597a589ea3af936"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Service/AppointmentExpiryService.php":{"size":1834,"mtime_ns":1782728407190939073,"hash":"0e08a53cd50f1fa75c2998ce2d39400cf116f1e7d5632015fefd589ca730e771"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Service/SlotCalculatorService.php":{"size":11056,"mtime_ns":1782217986438154633,"hash":"b42aeef988db241ca6b6bba68a3932214b3a0bcd6b89e1185883c7a52ee8be3f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php":{"size":36235,"mtime_ns":1783071277197098748,"hash":"0d35c229354b07670c935752c25f3dd83ee724c9af7412063f6562964df2a1b8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/NotificationMobileController.php":{"size":7242,"mtime_ns":1783237168983222014,"hash":"e87024acef4e93a1bddbdd8545b41f9130635d605b1a327ab4ac11661585b71e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php":{"size":7775,"mtime_ns":1783238186842551652,"hash":"7827ce2a3eb6f03cd0b910462517c24c0762731357afc3558311d229a5062c36"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Entity/MobileVerificationOtp.php":{"size":1930,"mtime_ns":1781167196281533241,"hash":"511faa2e0698158b312aa66c5b7d54539963056b011200b3a7b86a65651e56b7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Entity/PreRegistration.php":{"size":3061,"mtime_ns":1781252232305967808,"hash":"74a388c7ebafa889c4428ba1538ac46ed8f1f5c6ef5a34975016f85a128c5f40"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Entity/User.php":{"size":4972,"mtime_ns":1782728407192144123,"hash":"83e9341f771214eaab94dd7c4f0aa2de0e5c0528a0fa5eb4927659f94bc7ddf0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Entity/UserActiveContext.php":{"size":1160,"mtime_ns":1782652951356493481,"hash":"1c60c30e2800176bb2dde9730607d081f2fa1a05f8f6ee6e917ad256bcfa73cc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Repository/PreRegistrationRepository.php":{"size":842,"mtime_ns":1781252241014651656,"hash":"050d7fae8134856aeccfff39607f5cfb44e8b923e13d0235411a577b78a6f96d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Repository/UserActiveContextRepository.php":{"size":952,"mtime_ns":1781164699567301035,"hash":"22c3a507b65fe3f858806b1d7bed15411be794586278ddae7ac5ebe09782bbd6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Repository/UserRepository.php":{"size":1023,"mtime_ns":1781010107490769863,"hash":"748b70a06bf6833d94e5168e4ebc06ad7faf0dff67f5f099f595f10cf4f59137"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Security/PasswordAuthenticator.php":{"size":4195,"mtime_ns":1781946748878509164,"hash":"abec4d9e6782d2833c1eb7862460130ae093b20b5afd4e1ca468f9ce784b53ef"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Service/OtpService.php":{"size":3747,"mtime_ns":1783236682997204096,"hash":"ac8f9cfa6d67decc1ff89d2ed61e9eb2ad2034214c015aa072acbbb66be05e97"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Service/TokenService.php":{"size":2166,"mtime_ns":1782036558107915300,"hash":"3b749587b4c8ffc2d0fcf9a266ab32aff75b1681af31e6797d8046dd3ee36713"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Contract/ClaimSubmissionResult.php":{"size":509,"mtime_ns":1782214545726213864,"hash":"5391e205be5e00bf0cdd088d6f9b52427e30e3a5d29d2c0ae39753b15b67fac8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Contract/ClaimSubmitterInterface.php":{"size":461,"mtime_ns":1782214545726346198,"hash":"9286f1fdb68765c4512fa8aa302156a4fc54df7af3fb5d5d1e2d59c24111c3db"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Controller/BillingController.php":{"size":13703,"mtime_ns":1782728407192799169,"hash":"7226845540da9c2d9121eb7e25eab910b5d60d45d0f5dc14321ce9379b079967"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Entity/Claim.php":{"size":6465,"mtime_ns":1782214545726749575,"hash":"85028f866ff4695fa0095e4ba3191a385a63fdb3aa1f3222fda2d94b61d6d39c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Entity/ClaimItem.php":{"size":1646,"mtime_ns":1782214545726889450,"hash":"0e3bb1ebc45d4c045ef0e6fe09170976c315d7da410efd79bdcc53189e9dab49"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Entity/Invoice.php":{"size":6079,"mtime_ns":1782214545727230826,"hash":"02081acac585d1cfaabd1d404b0bb25c7bcf25fa51e32bf986cd75675d14ac24"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Entity/InvoiceItem.php":{"size":3448,"mtime_ns":1782214545727383452,"hash":"63280ec10f55dc16106afecac0784a9094ce12fbd3787a482a75eafe451aa5bb"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Repository/ClaimItemRepository.php":{"size":895,"mtime_ns":1782214545727554077,"hash":"9f606952d141e1db9f444ec80bba343c34a5c39f905f72c53c76d7cc7dc58f89"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Repository/ClaimRepository.php":{"size":5807,"mtime_ns":1782728407193826801,"hash":"26fd73c5de681031611a56b0e9a1140cf3b4c1088059ba954e7c3c8a344392de"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Repository/InvoiceItemRepository.php":{"size":2056,"mtime_ns":1782262433593751772,"hash":"6a2e18c9de2434f67ce2250dc17ec50a29f207b95ca2fc6e2a9c7d338a67a67e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Repository/InvoiceRepository.php":{"size":865,"mtime_ns":1782214545727978079,"hash":"71c55535e6b20d820e351a26af6bd1c1b6cb26c371414e611e8e858c2d8486f9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Service/BillingCalculator.php":{"size":1975,"mtime_ns":1782214545728144705,"hash":"9751645f561446a0d0f6a618cbbeae012f7f2274c5c1fbb4379220b995070f16"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Service/ClaimService.php":{"size":4124,"mtime_ns":1782254015995593528,"hash":"f04e02faaf3d8f49d493c2e77f8f80120e8de353af185e624996c9b14e36267b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Service/InvoiceService.php":{"size":3335,"mtime_ns":1782263056583478624,"hash":"411b9e4e6aa41a158211959c5b9c4c286ada95c8b68596364eca3b1cbf436e86"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Service/ManualClaimSubmitter.php":{"size":771,"mtime_ns":1782214545728543539,"hash":"11064e4cf0182849f67012ead852a3b45c2d8b66693e9680bfabf4094c3b9d40"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/ValueObject/Money.php":{"size":775,"mtime_ns":1782214545728705873,"hash":"97c8de0bcd950f7b29c8f8fb87d33f4cb79bd0b17e531592c80fa5fb5c0e6de8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/ValueObject/ShareBreakdown.php":{"size":599,"mtime_ns":1782214545728844457,"hash":"98b4c746ff1d241697d227cd21bf6a8b010cea93dbf0a219f89910456c511ac1"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Blog/Controller/BlogController.php":{"size":17742,"mtime_ns":1782050215484280688,"hash":"4bc5e62060b6e27970972698933b7e9b6f63a4eba44cac9fd08cabb6d5c355f2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Blog/Entity/Blog.php":{"size":5562,"mtime_ns":1782650883613744390,"hash":"5e6a312d48b1efacb7e4c14b87a658d1ad64bf0d3aefa5bdb2008011cb3b175b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Blog/Repository/BlogRepository.php":{"size":2133,"mtime_ns":1782049659479434537,"hash":"a15b4c1c26d71f5cd0b0d4e3c913702999a475ae13abd7d8eb29ab20e033adee"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Controller/CategoryController.php":{"size":1776,"mtime_ns":1782728407194246845,"hash":"1be28d02d6f241500cc7a55f1a597962d80b5f72c814c9308fd6811029aef714"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Clinic/Controller/ClinicController.php":{"size":34503,"mtime_ns":1783569345779344103,"hash":"94dc860f300f6e0acf241b7c064dac0153a7746dc1c47ecc814b0d98f9748641"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Clinic/Entity/Clinic.php":{"size":12311,"mtime_ns":1782728407194604639,"hash":"d192f3609f782986a1c36a6236066c503364b8d1bb7312c928e7c9ff1a2f5d80"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Clinic/Repository/ClinicRepository.php":{"size":4814,"mtime_ns":1783569345779687854,"hash":"dd99a5ee7f77a83f02171272634c9232a425204b86c18b13e6748549882fb1f7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicInvitation/Controller/ClinicInvitationController.php":{"size":10193,"mtime_ns":1782728407194937600,"hash":"9e968ad47c34e34775e6793301147eaf9768692a8f254ceed37152207ae3d202"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicInvitation/Entity/ClinicDoctorInvitation.php":{"size":5434,"mtime_ns":1782728407195142351,"hash":"44d986e38a0aaff4ff36d621205c7361769814ac64e5e559dfeb02d2e63b09d6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicInvitation/Repository/ClinicDoctorInvitationRepository.php":{"size":1821,"mtime_ns":1781293272835808881,"hash":"10604824317018d8f535539834b9913ef3982889b1ffb2874e4438f848f06726"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicInvitation/Service/ClinicInvitationService.php":{"size":4248,"mtime_ns":1783237201612845423,"hash":"ce837f6e039960c4c885be2aea3ae1ed14c3c98905348c67343fd65fa976f45e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicService/Controller/ClinicServiceController.php":{"size":15449,"mtime_ns":1782728407195387478,"hash":"38d8db77331e6ccdf9e78a54f5f223cd74cd1b83880d40ececcf4cce392472cb"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicService/Entity/ServiceItem.php":{"size":4270,"mtime_ns":1782260462891413703,"hash":"f7c314c5ddc678d4896d358c4b89ee1048c314fe237fb307b1909e44d986307f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicService/Entity/ServiceSection.php":{"size":2865,"mtime_ns":1781516938575505158,"hash":"6fce4d578f8878eb023372cfeeed180e1826274363811165b1623578b8911386"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicService/Entity/Tariff.php":{"size":2497,"mtime_ns":1782214545729589627,"hash":"77a5e0dca59cd5587ab614a2bedd46a0de3485d620a6125f4804db7b688115f6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicService/Repository/ServiceItemRepository.php":{"size":1193,"mtime_ns":1781516938575690367,"hash":"3561e5174c09c2d295bf2b77e3a2692c234f30cfe76b597213ce1bd2ff9bc81b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicService/Repository/ServiceSectionRepository.php":{"size":1274,"mtime_ns":1781516938575822117,"hash":"6e87ff4062b59b4870ac32891b6fd40ab36ed939b3a67959c600a63a0375b299"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicService/Repository/TariffRepository.php":{"size":1312,"mtime_ns":1782214545729721752,"hash":"fece09188f0d746cc7fdc518fb8d63488c77314d629940d1c0969b6f28fc7b38"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicService/Service/TariffService.php":{"size":1653,"mtime_ns":1782214545729910003,"hash":"13d77eda5f22d43badf639d0127bc7252b3adfe6c72657c33423ad5a04f345b2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Config/Controller/SiteConfigController.php":{"size":3598,"mtime_ns":1783010796435138624,"hash":"f2ac3a77ebe11da45b93f24513955f734586b01d2f18cdca5d0849e927df88f7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Config/Entity/SiteConfig.php":{"size":1026,"mtime_ns":1782650883609343293,"hash":"694f1f497f5a3a1095f2949eacd68694eb7e8d6536abcd1bb61e7d788abed158"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Config/Entity/TaxRateHistory.php":{"size":1836,"mtime_ns":1782650883608855500,"hash":"1b50a1ed1a3d72be73df9bce2bcb010e2b90888bc7daa0a312ede4d181327631"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Config/Repository/SiteConfigRepository.php":{"size":2334,"mtime_ns":1782929759660596058,"hash":"5ea072c77a0f25c8ccdd23616656fce0b88b93408c6cd461d98e9b18a6fa85b2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Config/Repository/TaxRateHistoryRepository.php":{"size":591,"mtime_ns":1782293892020820040,"hash":"1161721d41f057cd7c7d820b405a526cf644ade3da6a44a93e63ce9a364a9ca3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Dashboard/Controller/DashboardController.php":{"size":18353,"mtime_ns":1782895903517818351,"hash":"daee2d9b6d06d625e6cab2ea419f7cc5f7ddc2ebfd53f1132502a4029bb71f7b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Doctor/Controller/DoctorController.php":{"size":38613,"mtime_ns":1783569345780023646,"hash":"88e61f95e22344069359621948aab3a9d9b80ad393ffd57df618c2124838ee77"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Doctor/Entity/Doctor.php":{"size":16811,"mtime_ns":1782728407196033316,"hash":"dcd2dd96c11cd47f033dbb41718dde4b0f7fa2a2110f25ba4804b33e37e331e2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Doctor/Entity/DoctorAddress.php":{"size":5470,"mtime_ns":1782650883611537550,"hash":"f42a0409b492abf55f1ed704e65e2273b1a9b7424abf0d2bd9c9507ea9345747"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Doctor/Repository/DoctorAddressRepository.php":{"size":2770,"mtime_ns":1781783246170814153,"hash":"531973c4cf541ba9e8f3955fad4c863ec94f0a5cf84a03c9fa438aa59f979a3c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Doctor/Repository/DoctorRepository.php":{"size":8292,"mtime_ns":1783569345780537104,"hash":"91ff9fe1543497259c0bf018b7fd0ba5d7d82aa5f96bdb8fc46948fe79473b4b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/DoctorService/Controller/DoctorServiceController.php":{"size":5592,"mtime_ns":1782844356167570792,"hash":"4e16c69d4c1e7d4b295ed6840c0b6010e03e8c0c7411102cb63c1295dacc8538"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/DoctorService/Entity/DoctorService.php":{"size":2831,"mtime_ns":1781085550562230229,"hash":"6d7d545954a787dfcf52e2f9b8ccae47a1af55c21a43d3c60ca8c59dbade506e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/DoctorService/Repository/DoctorServiceRepository.php":{"size":1274,"mtime_ns":1781085558665462494,"hash":"79eb3168176aa86043e1613fa832e0a94b683ab7cd5a7553222d88ef9198f4c7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Controller/InsuranceController.php":{"size":25579,"mtime_ns":1782844375135424196,"hash":"81785346450737ea93ec13608e671ec5702072ca36bda0b89666f1497c9e6e68"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Entity/DoctorInsurance.php":{"size":1960,"mtime_ns":1782728407197029697,"hash":"3835c0d26cf2af6937ccb1990a2a097e0696bc03c144ca9863867906de1b3a94"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Entity/EntityInsurancePricing.php":{"size":2507,"mtime_ns":1782214545730369713,"hash":"e0c3664524d71706ffc2c377c20c9ea5d12be0b8aacbe3feaeffe555ee003ef7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Entity/Insurance.php":{"size":2270,"mtime_ns":1781085569269281268,"hash":"bb5c7b593458bca73e6d767909d845c59371d50aefc54d6819b53b036d16d8a4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Entity/TenantInsurance.php":{"size":4767,"mtime_ns":1782214545730514547,"hash":"8f4a4e4087e65a58cdc2444a4584a3a40796948313e4374e1f8a38983385bda9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Entity/TenantServiceCoverage.php":{"size":3432,"mtime_ns":1782214545730644047,"hash":"fd098f4aef57bc0988ca8d17760b0009d2742666fd62fc0ff2ce07fc6b0dab1f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Enum/InsuranceType.php":{"size":351,"mtime_ns":1781085440519759893,"hash":"30ae4d15da752fad6f6fdf214fc764732f372af51c1361fcdd23ccf7cb66d41c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Repository/DoctorInsuranceRepository.php":{"size":848,"mtime_ns":1781011984448803782,"hash":"61e05cda6d846d53a56fe1bc16a932bd7ee1fcc43f8ad9cdc4f8eda7635a2bb8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Repository/EntityInsurancePricingRepository.php":{"size":1404,"mtime_ns":1782214545730775964,"hash":"623b73aedc8f41f9f0ac7d374725808c1c72012956628e15ebde5681f7034dce"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Repository/InsuranceRepository.php":{"size":1220,"mtime_ns":1781085576476951957,"hash":"dc63f462de508c5f6d1fd51b08ebd887c5f79528d5183fc7a792e6cb579e26ca"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Repository/TenantInsuranceRepository.php":{"size":2436,"mtime_ns":1782214545730912256,"hash":"b99e224b9f48a68ebdb627590ef6c9057f3ec7969e4ca2e317378766527785a0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Repository/TenantServiceCoverageRepository.php":{"size":1339,"mtime_ns":1782214545731054174,"hash":"5d8193d5276ee2a12f650ee075fc47f0bb32f32bcaf26f46328b1c7498636853"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Service/TenantInsuranceService.php":{"size":6310,"mtime_ns":1782268410292219426,"hash":"088a8086ca7a8284aa67577aa0ffe060d532f3bbb2090b6c3e3ff0f4730e2703"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/ValueObject/CoverageRule.php":{"size":381,"mtime_ns":1782214545731415633,"hash":"3ce989704beb3ff9aa60cad8460e69a1ef5a411ff0024b7d5541df502f4cbf2b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Kernel.php":{"size":992,"mtime_ns":1782743240249498742,"hash":"3b2fcf35ae459cfe82147916f43a6da872819e946938e0cd330a596a226065a8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Location/Controller/LocationController.php":{"size":10774,"mtime_ns":1783499628812467561,"hash":"9cf15db59545af81148153a4d9c816748ba267bbbb58f9bec2e00d1853c15e8c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Location/Entity/City.php":{"size":6500,"mtime_ns":1783499619365257750,"hash":"f128c29e22de67f0aad93bbee2a111d976f71344f5a3e55614b477bc86d3192b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Location/Entity/Province.php":{"size":1688,"mtime_ns":1781085458710667014,"hash":"3353fa978b6558c945031d0c09a3dc24706f592287978236072c53c3cc13d033"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Location/Repository/CityRepository.php":{"size":1312,"mtime_ns":1783569345780697355,"hash":"bfe69ca9f9bd18eaf159f24e63ee4e6fb88ab3d86dea725e9a7c27cba0f6d6d8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Location/Repository/ProvinceRepository.php":{"size":1071,"mtime_ns":1781085486117016673,"hash":"4572085d4a4e79a86a1c2cfcc89b5cd6268ddeb466878a16db71f60216a6c148"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Patient/Controller/PatientController.php":{"size":15797,"mtime_ns":1782728407197647952,"hash":"0adb531514bb19b3fabe1e679468f731f00cc6d34a2edbb9e887a18c94447bc2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Patient/Entity/PatientRecord.php":{"size":3088,"mtime_ns":1782144029159424511,"hash":"8be2218c1dcc6dd9101278637b469d927567abf3e264d6b8c634292641096dfe"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Patient/Entity/PatientSession.php":{"size":7041,"mtime_ns":1782728407197911662,"hash":"e99aa5f70fa1eee35e78e90f7ea8e8e5f4bc80b77d2de0888eafd91b3ef0fcf6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Patient/Entity/SessionService.php":{"size":3069,"mtime_ns":1782253591741414931,"hash":"d7326f5115c044fe75744a4c6ac0e2d0efca2b4a93e57984483f1c859ffba1c9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Patient/Repository/PatientRecordRepository.php":{"size":3131,"mtime_ns":1782144042914186374,"hash":"c445fbf45f6eb65c5fd5c3f0704e1c972f0a9d9297a80d0dc879165fc57666c9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Patient/Repository/PatientSessionRepository.php":{"size":3665,"mtime_ns":1782268984212730950,"hash":"24f29fe0ee2cade4f4bef5572aa45086f444ab02d67f82d24228de49ccc25a2c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Patient/Repository/SessionServiceRepository.php":{"size":563,"mtime_ns":1781516938578050288,"hash":"24beb2335672cb84cfa5a787618c7907663606aa14262af1b8ee93058c0ac265"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Patient/Service/PatientService.php":{"size":7827,"mtime_ns":1782263039495809276,"hash":"e23289a2e8d04c22a69888e3775e2b851246b28c6e217cf22e8c91e99ada9ee9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Controller/PaymentController.php":{"size":31102,"mtime_ns":1783059694944318453,"hash":"06f9abb6001a7bf771e905db060daf3e5b6e80f67b4e2521ec377a8a59ca8be2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Entity/Payment.php":{"size":5779,"mtime_ns":1782995955189532682,"hash":"f26e537b012e10faaac23f291ccc341345bb2512c3c4496c4bffea3308086eba"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Gateway/MellatGateway.php":{"size":17878,"mtime_ns":1783010796437088205,"hash":"79ddf5f1ee1b38138385106d78b195971374a41970f58f405a53990462819c0d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Gateway/MockGateway.php":{"size":1863,"mtime_ns":1783010796437333621,"hash":"67b67fd5299c1e912359d94dce4c88d5742e2ee324d699fd12333e1a225bcf7e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Gateway/PaymentGatewayInterface.php":{"size":948,"mtime_ns":1783010796437841370,"hash":"fb3512aff2ebfdbe34c6d5eab4e67dfd5c90fa6dbbf0cec8bd23eac0c2e51734"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Gateway/PaymentInitResult.php":{"size":663,"mtime_ns":1782981352831261065,"hash":"e474570a753b56888f8fa5458cf7eeafcf7e4ff390429a5f6612bada28f9b401"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Gateway/PaymentVerifyResult.php":{"size":368,"mtime_ns":1781591920508677099,"hash":"88f08d81dc92ac75d2f0628c60f3fb78b039b9184039592047cc92c58d0db068"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Gateway/SepGateway.php":{"size":4481,"mtime_ns":1783010796438445827,"hash":"46964086d05dde76b1c0e3bc7f3dae8eab8aa1ac6d9ae609abfb3396eae5aa6d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Repository/PaymentRepository.php":{"size":3863,"mtime_ns":1782993112274771320,"hash":"f8e7f5bb986225beb28c2d175a78cb1c2dafdc8b99a60779bc1e04834ad1dff0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Service/CircuitBreakerService.php":{"size":1228,"mtime_ns":1781012993246621609,"hash":"4e04548bbb1ae6b6c17a4206408f3050ad341da5ddcc74d4b1af376b50580911"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php":{"size":22783,"mtime_ns":1782728407199386297,"hash":"64462e603b4569268e25d7f6a989f1b4d9b598a7613405a5d5d0165df2b477fc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Entity/Comment.php":{"size":4881,"mtime_ns":1782650883605327864,"hash":"c43aa389121312d1fe2ba9639e3a6a0ba5fc21f78d0784adb723c26e3afbc0fa"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Entity/Like.php":{"size":2153,"mtime_ns":1782650883604545320,"hash":"7a7937df6b8df47196e035544c1ec78a11847a0a1688114bdb5265adde8d32c0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Entity/Rate.php":{"size":4359,"mtime_ns":1782650883604952613,"hash":"bb8b2b8ccda54b99bd5ab0bd937dc29d4ac840195e3f89fcfc286b5429b2b863"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Repository/CommentRepository.php":{"size":3785,"mtime_ns":1782728407199666132,"hash":"57721807456fc1a9e0c2df0dadb2b4c45cff8a7c2e650c33ff1e4edc22ec9eb0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Repository/LikeRepository.php":{"size":1619,"mtime_ns":1781557035805931490,"hash":"9c2c1575ce7f26c9d2139ab8301fd887658e295f66b4f164b48d050bd43a411a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Repository/RateRepository.php":{"size":2052,"mtime_ns":1781557035806516573,"hash":"5e2c5765f0d67648d72fde8992e1969822df630577e503f9a086dc01960e3f90"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Representation/Controller/RepresentationActionController.php":{"size":41262,"mtime_ns":1783236899056081118,"hash":"73475defd275c9aa8be88f4111486749fce766f658313b0d6fd2a98f7996ee24"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Representation/Controller/RepresentationController.php":{"size":25500,"mtime_ns":1783569345781024938,"hash":"196a7389d6828be84bf9cef772cb40a5240e452e10cf28f161bd84e51d2e8cc8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Representation/Entity/Representation.php":{"size":8158,"mtime_ns":1783569345781218772,"hash":"33f57eb6ea216ea8173d4459cc6df3a2378487bfb7c681b3025c2606bee54ff0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Representation/Repository/RepresentationRepository.php":{"size":2152,"mtime_ns":1783571718895425847,"hash":"a0c1810c03b7a780ba1b14a631b11e0081767fc3e017e57d4b34b62274340b0e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Representation/Service/JalaliDateService.php":{"size":4368,"mtime_ns":1782384877403158726,"hash":"8a1282441580b6b46896c1c52a6ff284279e0e3610da60c638bfce1067450fb3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Schedule.php":{"size":1037,"mtime_ns":1782929801207590724,"hash":"e1ed1b5ef5b6100bcb8a1e0d3e361ce40a2721501cdb5f14aa6fba8739654eee"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Secretary/Controller/SecretaryController.php":{"size":10960,"mtime_ns":1783237220892646662,"hash":"21ce325a02909122b15186e4aaf8609886b5e1401d30e4684efade11540c1321"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Secretary/Entity/DoctorSecretary.php":{"size":5203,"mtime_ns":1782728407201032933,"hash":"7a89e177bf272aa6e20c29d8e39c66c4e9f761daa1875a073525369cebc48193"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Secretary/Repository/DoctorSecretaryRepository.php":{"size":5327,"mtime_ns":1782728407201262976,"hash":"bac031cd09fb91bf156e250accd69b5bb83f2af7738e8394852e746f3152dbb2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Secretary/Security/SecretaryPermissionChecker.php":{"size":724,"mtime_ns":1781012108901602268,"hash":"42ddb598442c2c167950e1a33eeceb551384377427749d0ee3b6a61f152e64bf"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Settlement/Controller/SettlementController.php":{"size":23112,"mtime_ns":1782728407201510186,"hash":"b6f3ad0ae1b555833b87edf0398a96200295160b1c6a57c26e3f751274892c9f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Settlement/Entity/FinancialBreakdown.php":{"size":5470,"mtime_ns":1782728407201776813,"hash":"a0c5e8cc2f0a3597518275c45fe403a188bbfe210fa75da65eee3ebeef594963"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Settlement/Entity/Settlement.php":{"size":4252,"mtime_ns":1782650883606160908,"hash":"36b84f9a63c52cdf4150c0848c4a3fd28a0c7a1aba6bda3f147c3dd9da2f969c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Settlement/Entity/WalletTransaction.php":{"size":3099,"mtime_ns":1782728407202004397,"hash":"d2acafb91806e555535cdbddd5151e71b71561cddf2d0872461285e6d1489b73"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Settlement/Repository/FinancialBreakdownRepository.php":{"size":779,"mtime_ns":1782293142660794730,"hash":"ae9fa6ec3678bedb9574a38678795af169ff793fe2e660d9413fe05ba1523041"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Settlement/Repository/SettlementRepository.php":{"size":2270,"mtime_ns":1782728407202173607,"hash":"9c617a929f6ed0595a371ee05d2e9d19d204ed3eb80bd0df9fe9de71fbf76e2a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Settlement/Repository/WalletTransactionRepository.php":{"size":974,"mtime_ns":1782728407202497901,"hash":"12fdfe848f6eb143b87b09645122480b33a778bdf2d9179fd9d45c27540a23a0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Settlement/Service/CommissionService.php":{"size":5754,"mtime_ns":1783569345781547980,"hash":"2a99307286612b41130a3002490343c9dfde0b0c18906b58f1a6e9e86a1edc14"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Constant/ErrorCodes.php":{"size":9417,"mtime_ns":1782728407202855820,"hash":"3e172a36ac3e336ad3501c5defbd9ec894334ba4f7f720b04d4515bd6703b939"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Controller/BaseController.php":{"size":1710,"mtime_ns":1781009861592137456,"hash":"4bd3aa269121a122fcf443aa15c884adf07e0700950135a3e66dbdf27b9c2416"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Controller/HealthController.php":{"size":1190,"mtime_ns":1781009995463320374,"hash":"124d5bfe7f63a910acd5ddab19c0ecb83c9d9005786fcd6606e597e7f6b6050b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Controller/HomeController.php":{"size":409,"mtime_ns":1781248993159620643,"hash":"d08f9d35b78ee68ab06620388e34b709eab59364bd0b84e5d2e1478f45310970"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Doctrine/JsonContains.php":{"size":1061,"mtime_ns":1782050362337187655,"hash":"bc76253c31cf5a3bb23264736171549281989a4d9915b05a303647324d5aa4e3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/EventSubscriber/ExceptionSubscriber.php":{"size":5579,"mtime_ns":1782747822711536821,"hash":"cc3e848cbd0237379c1c26afed58de7230b93b095d87ca672ffc16e88a7bac40"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/EventSubscriber/SecurityHeadersSubscriber.php":{"size":2575,"mtime_ns":1783010796440870365,"hash":"7562c1a0460eb6831ccd6e2ff396ed01256672933fc480a9454dfd202efd0d55"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Exception/AppException.php":{"size":637,"mtime_ns":1781009868466892123,"hash":"7956e81fe8e81b642076d55380a796ca70431e6c3880db06d2fc264c8b078f82"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Message/SendSmsMessage.php":{"size":235,"mtime_ns":1781010000546687126,"hash":"daff508176e43de48738f7d7b86a97f047329c0c3a9896602933c7aa130ff739"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Service/ApiIrService.php":{"size":4598,"mtime_ns":1782750061879006297,"hash":"d2a46876b0e6e0cc5cf9a88c3ea9067de7a0f64df5bc59099c215c14a123a305"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Service/FileValidatorService.php":{"size":2743,"mtime_ns":1781946812332075105,"hash":"4c26e4f47f2793bbef582d233a1f08e96e91274448209159653ec0d95a3b8b73"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Service/InputValidator.php":{"size":1811,"mtime_ns":1782290232599858088,"hash":"3d610effa54b8c5afa1c206c0dd46ed3ead6b84215d54b39e6789c498c01427d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Command/SeedSmsMessageTemplatesCommand.php":{"size":1917,"mtime_ns":1783237401025294121,"hash":"04f1982a5c4317dd15ee55dfcbc7c0182f86fbce90766e5a3366fe4f19378c6d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Controller/SmsController.php":{"size":21883,"mtime_ns":1783422449654674455,"hash":"b15e9b15dedddb501f30a18e46b3c7052cdf5778006913d86f34279e6159ab21"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Controller/SmsMessageController.php":{"size":4630,"mtime_ns":1783237134183460253,"hash":"2869945324e63ed664748e1770ce7065d91428cbd313843814ac4256cd8b2fe8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Controller/SmsWalletController.php":{"size":11400,"mtime_ns":1782998941568914993,"hash":"af47e04758a2a47c3122a567c79aaf3a2638c5c09e2d21308a91b966b1cfe8aa"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Entity/SmsLog.php":{"size":3702,"mtime_ns":1783455929824117615,"hash":"937dcaa8618c78e6ac393fe1f6ef06bfa398cc5c392fb469be504d05bd8384ba"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Entity/SmsMessageTemplate.php":{"size":7545,"mtime_ns":1783239399682426157,"hash":"40fcf700f49544484e460b779e7cd1105a0aac40cf36a805aa69f61f0223d12f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Entity/SmsSettings.php":{"size":5136,"mtime_ns":1782109802341264005,"hash":"751faac90d0b9d9320a8315e7b0765dc39d94089c96a65bacb4a59d84bc442c6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Entity/SmsTemplate.php":{"size":4085,"mtime_ns":1782650883608045581,"hash":"9c1ebef6b3ee3a4724e94af555854df18a8d5f2bba6f524781a94478123be0dc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Entity/SmsWallet.php":{"size":1749,"mtime_ns":1781516938580571044,"hash":"af121e73720cdd1fac6a329c931f01349fae4aba0cc9ca12bf25c232ebb69e5d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Entity/SmsWalletTransaction.php":{"size":2423,"mtime_ns":1781516938580684919,"hash":"5272a1b08bc5d6f28d5d845e9201780a4804fce789175b7be82001a4102f09bc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Message/SendSmsMessage.php":{"size":495,"mtime_ns":1781871113880839659,"hash":"e37f791352f7f9ab7ededa626d6c3d53fa7675ae4e9cd65f499d5b0f0d8a356f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Provider/KavehNegarProvider.php":{"size":4634,"mtime_ns":1783491549884796725,"hash":"05cafa28a8b14f38d40e13f7139dcac2c2b3a4f87fbf07199bdad5dfd0805733"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Provider/RanginehProvider.php":{"size":2234,"mtime_ns":1782749977746062400,"hash":"e2910a9314c0a63d60a4d5df210a421d12149e64db2550cb58bf021bb84f19c7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Provider/SmsProviderInterface.php":{"size":361,"mtime_ns":1781013608175277472,"hash":"225781d93f9a713aa0a979f12efff07f7805972e287cc1fe11371367bfcc4e43"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Repository/SmsLogRepository.php":{"size":502,"mtime_ns":1781013670673270702,"hash":"66b4158b7f47661bd573f21e65c35e20e22ecbb830736f07091857004868eeb8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Repository/SmsMessageTemplateRepository.php":{"size":752,"mtime_ns":1781888405897787839,"hash":"a6b1523de3a122f8c6dd8e442929ae821b0cc88dab224899c0a8cf100b6247a9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Repository/SmsSettingsRepository.php":{"size":729,"mtime_ns":1781516938580977169,"hash":"c2df1e6cc37ef5422312c0eac75fdea0d42de8e6eb822faa96e7bc5e423be9cf"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Repository/SmsTemplateRepository.php":{"size":789,"mtime_ns":1781013662226415873,"hash":"8da60c0de8613863b8928cb46c6bd846cff26539f158be4a68115ff3a6c68684"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Repository/SmsWalletRepository.php":{"size":911,"mtime_ns":1781516938581096086,"hash":"01a35794369da341601324499da53378a75ab8592d14a32b72d564b44137177d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Repository/SmsWalletTransactionRepository.php":{"size":1325,"mtime_ns":1781516938581213795,"hash":"68b117404c5f1c7c68914a367f9ac656b25cb486daeabb9808a36be205f4de56"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Service/SendSmsHandler.php":{"size":372,"mtime_ns":1781013692820181847,"hash":"f644961f4a1538c1d315e1d6000fcae2d4466975c054685003dc616186614172"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Service/SmsService.php":{"size":4396,"mtime_ns":1783455940747216997,"hash":"22349e84d7bcc71d5c70a286e38f703b30448a5caa66ba9714b8bb805a37f0a3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Service/SmsTextResolver.php":{"size":990,"mtime_ns":1781888419028487399,"hash":"c83ed15618515fd7301a8fd03a409f17232d3d03e917fcda93bf1f72fc70b963"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Service/SmsWalletService.php":{"size":1830,"mtime_ns":1781516938581332837,"hash":"72dc9bef8e8ddc92b4e2053e804407f80ffde9a4b57d1dbd07095d47f6651dc0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Specialty/Controller/SpecialtyController.php":{"size":6336,"mtime_ns":1782844333713927668,"hash":"84c72c8da1f6fc901ef1b8c75accdfed1fb314c943d3b81a1d031c26f79aacf9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Specialty/Entity/Specialty.php":{"size":2698,"mtime_ns":1781085518712241650,"hash":"683f2375f3d9528dd02e9cbfe7bd344ff51208aff0ef02dfed3d576c3460a1f7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Specialty/Repository/SpecialtyRepository.php":{"size":2293,"mtime_ns":1781636247076888517,"hash":"9b991dc48c3a9c42baad98f553ee0fa395c4b596f65e84230420929f3e32e6c0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Staff/Controller/StaffController.php":{"size":5842,"mtime_ns":1781522583734490612,"hash":"8b6ad6acaf1a93214344464c7dcc3b9792720118a1c0963340f639a87de43264"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Staff/Entity/ClinicStaff.php":{"size":4240,"mtime_ns":1781516938581704629,"hash":"95c3df6b577ad88a80af1bec2e17b48c6d7b9f35b1a8f75490d0a1bfbc940fee"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Staff/Repository/ClinicStaffRepository.php":{"size":1179,"mtime_ns":1781516938581849755,"hash":"d83ac7466427c09ca77b63924a66dd5710c8ecc9ba3b6dbdeecc4648940a711b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Subscription/Controller/SubscriptionController.php":{"size":11864,"mtime_ns":1783235518955936576,"hash":"34f7415b9246e4c6bc25a43e9138ca0ac585d5cc664c0b78fe351c6239937a96"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Subscription/Entity/ClinicSubscription.php":{"size":4057,"mtime_ns":1782728407203534324,"hash":"a21caf7417e2a32180b91b4fe18ac8245f2b0aeb8887104b2739771151a37350"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Subscription/Entity/SubscriptionPeriod.php":{"size":3806,"mtime_ns":1782728407203839326,"hash":"0121bf60210628bcbb1cbe89419eddfd71b29c65debdbd3dbce51e2d2632c75b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Subscription/Entity/SubscriptionPlan.php":{"size":3881,"mtime_ns":1783233488170274281,"hash":"707633e0b704ec71df2c5a0d4dc21304aece2e79e95bf4fba01ee0431d5963a8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Subscription/Repository/ClinicSubscriptionRepository.php":{"size":2126,"mtime_ns":1783010796441510739,"hash":"181ff34438c057f8cf22ecb7fa36577841e11a22a389e97e2378d690653be005"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Subscription/Repository/SubscriptionPeriodRepository.php":{"size":954,"mtime_ns":1781516938582865590,"hash":"726666fe5f74b8a9927376e82af264b70b209a4e86d164061eb7a9b1d9440942"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Subscription/Repository/SubscriptionPlanRepository.php":{"size":1280,"mtime_ns":1783234723504837640,"hash":"bf1ff4007b9e8aa2bd0442a5a2bf4f5194828006cf8e3fba99817cdad2dff3c0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Subscription/Service/SubscriptionService.php":{"size":4710,"mtime_ns":1783235508735444591,"hash":"1dd4e13de8685bfb17844898217673ce9dca5e6e8c878296567a8de5a599f1a0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Tag/Controller/TagController.php":{"size":4239,"mtime_ns":1782844396159141068,"hash":"f4aa363cf77d90bfca146bffb70b496661bd3e4822fc2502a6bd390c84b15bc8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Tag/Entity/Tag.php":{"size":1775,"mtime_ns":1781085585665970564,"hash":"cd3edf2f90d5bdd70487b38e085a751cb578a9cb2395086bbe2964e5dbd1996d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Tag/Repository/TagRepository.php":{"size":967,"mtime_ns":1781085592043241382,"hash":"283d4f4300d6202a7ab924d3bf130f7b2d90716a520b6d40ba35edd27cc88059"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/UserProfile/Controller/UserProfileController.php":{"size":12912,"mtime_ns":1782289553079211479,"hash":"9d2e310f94dcbde48859dea9872428189b32d7f415af52e6aa5eb523c446fed7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/UserProfile/Entity/UserProfile.php":{"size":9546,"mtime_ns":1782650883615317561,"hash":"d65393c833dec86f7dae8413a72b3a6cd0cc75f3e7faf36bb02995d72b463bb7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/UserProfile/Repository/UserProfileRepository.php":{"size":1267,"mtime_ns":1782270252112779103,"hash":"d36f160a81c8fa1927ea604fb2c27f0ed0f1b33507d838e28adf9fa1fa3b6fcd"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Billing/BillingCalculatorTest.php":{"size":3007,"mtime_ns":1782214545731907969,"hash":"85b469b70480541f73092cf1593029c76fb703bdaf77f71327a0f25ecffd7924"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/bootstrap.php":{"size":248,"mtime_ns":1781009800080637813,"hash":"57ff9294703e34a685f28cd3c0e46ab54a5dd3f4fe3356c224e3aed0958269d7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tsconfig.json":{"size":423,"mtime_ns":1782729422588693047,"hash":"53fac6b4a0917eecde4dc3efc021cceca3d48600d9cfb58a3d4c946135751c66"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/admin-pwa.md":{"size":9407,"mtime_ns":1781343171405896374,"hash":"f6294cbb97d2ca4465b4f185c394daabb11f6ddacc29c2d471decb04da8c7265"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/admin-ui-kit-redesign.md":{"size":10577,"mtime_ns":1782232921465705417,"hash":"24c6ca8b5c2e6f9b9783d446829be9cd4ffe5c6b550e0754d2d4521555382892"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/admin-user-detail-show-profile.md":{"size":9288,"mtime_ns":1781549990210378142,"hash":"629f80e928f666143a4f251067bb31a4f866773e509f34b6c2d623580424e3aa"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/appointment-detail-enrich.md":{"size":4876,"mtime_ns":1781636247075313849,"hash":"a846f9cb4c0d643d7488873cd7a27a15adf39c8b1a206a371efdd0bedb472612"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/appointment-lock-patient-confirm.md":{"size":16770,"mtime_ns":1781535498213998370,"hash":"0a79349da76f2fe2c50e76e3add06522ea796a255722386426e7b7edf988637e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/appointments-day-of-week.md":{"size":15777,"mtime_ns":1781192992528836012,"hash":"73bc57098ab8816c91d042649840e5d34f5d00f096aa88b4bd3d5b9501b749b4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/appointments-redesign.md":{"size":24082,"mtime_ns":1781173659296708465,"hash":"fe28753bae9a95b192796f18322282909e707d96f00082b8d1ce655b47d2aa2a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/build-homepage.md":{"size":4205,"mtime_ns":1781248910704293609,"hash":"4dda73a4d2f91de3fa5b641c559cf509ba8b87ec4621bf2e8eeedea3f9927412"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/clinic-detail-fixes.md":{"size":3514,"mtime_ns":1781286844618120218,"hash":"2cecd1fb0904f3aff92545007b33eb4bf970efd7b03cff7c53e6ca73dd2ef9e6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/clinic-doctor-deactivate.md":{"size":15114,"mtime_ns":1781257376721043348,"hash":"6b36b95516cd5fafc100a500b72fc98d68992d8cb07c02160a09f827e2fb58e9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/clinic-social-media-field.md":{"size":5746,"mtime_ns":1782034582969356341,"hash":"01a6fc5a55d6357607e36837cd39a6ed646f4097fd4ba944ababf826cd1f0ff4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/clinic-view-doctor-profile.md":{"size":6746,"mtime_ns":1781361314655405808,"hash":"b7d523d90f08ea239fa8b03eae601cf68353be6f45c0192762cabfef28c55e67"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/create-patient-without-signup.md":{"size":5271,"mtime_ns":1782145462624789979,"hash":"5bf24921d4002ea348e38c87cc81bc08ef8e169924787c3c719bac9d3e62d4a4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/create-phase2-tasks.md":{"size":24506,"mtime_ns":1781516938546554807,"hash":"f3d49625dfa644a00f6cd5a582e52d63bfefbd2db875f25164774a71cf345ecd"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/doctor-booking-window-and-month-availability.md":{"size":12511,"mtime_ns":1781535414057585490,"hash":"505938967d29a4e337e18cb22f2a299f97e5e452e05c9b94a9e409c86107f23c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/doctor-clinic-address-access.md":{"size":10705,"mtime_ns":1781362104619727130,"hash":"657c686420a8a45159812178f8a65dbc317591779844dc26b3921c536f92de8c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/doctor-profile-page.md":{"size":8799,"mtime_ns":1781175765248517513,"hash":"f1078372d9fc8eaa9196ec9840ce187d86a27b723a1c218cf872cc4e4ede5d3e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/doctor-social-media-field.md":{"size":6783,"mtime_ns":1782031213435560461,"hash":"072cbab44fe86ab89e7a46724b8631528acdd63ae0c3aee2526ab408e1c021d7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-access-scoping-doctor-clinic-representation.md":{"size":14171,"mtime_ns":1781863132633307507,"hash":"8ad2e8c5d53e8f34d69e1b4fd6ce71775720cee430130043803bc44f903341e8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-auth-token-hardening.md":{"size":12680,"mtime_ns":1781946301827134938,"hash":"a52ecdd96fda0f396864de78704f6c53efb9982debb51f4ea1a4494007f925cd"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-bugs-and-features.md":{"size":20820,"mtime_ns":1781516938546940516,"hash":"c45843d9ef701e2b73f7cd161083ffe23d315d81b68382ed4f9f45feb642c6dd"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-clinic-filter-by-address-location.md":{"size":6683,"mtime_ns":1781674935483152098,"hash":"b5aa923fc81b1ab79f29f7f02401dcfc56b88ce6bbcf0c5e015200000d7ae6d6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-clinic-patient-auto-add.md":{"size":4991,"mtime_ns":1782145525259778908,"hash":"9dcfac3aba7cdb8101c97017973a1bf7e4217f0d8df94b9dcbd1bda10192263b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-doctor-city-via-clinic.md":{"size":5124,"mtime_ns":1782040974660614329,"hash":"a3571d2085a8c4aa6cdc7094b964fbf54281b482a064cbf368f623dc5fda26c4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-doctor-schedule-fields.md":{"size":10822,"mtime_ns":1781523041417094452,"hash":"7ceaad108bd7bcec35b9271f73308586072e8fe12be63b1dc754e5ec902bfa1d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-doctor-search-performance.md":{"size":13253,"mtime_ns":1782046573636729825,"hash":"febfb8452181a0ee429a6c1383b489ca071afe45ffb617b9343e9a406ca02d0b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-guest-doctor-clinic-context-access.md":{"size":9535,"mtime_ns":1781890240620846065,"hash":"dbcabb830aa0a81fc529eb14feeec65afdd979ac4eb7ce31c80eeb22b2166166"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-invitation-accept.md":{"size":4399,"mtime_ns":1781360063617429536,"hash":"2bc99d1a7460fdf5be3711a0add4de54d4ab78a0fc16079680d4da58e4615997"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-profile-in-clinic-context.md":{"size":8367,"mtime_ns":1781365327185378947,"hash":"f063eae11f94b2132d84b0a8472bac1d4d404a2bfbfacb049f0c583f9c586219"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-server-side-mobile-nationalcode-validation.md":{"size":8677,"mtime_ns":1781945049606053409,"hash":"32049409986f11fd29d302dc3e1036cab7172ae9033c3901e0622e8171fda14a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-switch-context-role.md":{"size":7032,"mtime_ns":1781363356184798552,"hash":"74cb88449b93fd682e3ac81a322e1d405d54e111e172758e5b10ca80437e1a3b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/implement-phase2-backend.md":{"size":23991,"mtime_ns":1781516938547317892,"hash":"ba39a2e1ccfbc1a98662ecc71225aa32583a410df8e238dad15de69a62fdb521"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/implement-phase2-frontend.md":{"size":28042,"mtime_ns":1781520442021329832,"hash":"4faf26a0b91c83a3c183e3ed929d5d2dc92e7624549af170165bbf2faa9eec2b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/insurance-pages-subscription-gating.md":{"size":8256,"mtime_ns":1782258337653428004,"hash":"3755a25eb7694c8c1587bfad9e02166c438ab4bd361268126cfe0f3ee553bbb7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/insurance-pricing-and-selects-cleanup.md":{"size":7612,"mtime_ns":1782253591735960479,"hash":"00ca797277e9520885bf056e719721e9d72d97c4000fbd9f8bcd69980a5bd69d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/insurance-visit-pricing.md":{"size":6483,"mtime_ns":1782214545719956341,"hash":"4197cd316ec7560bb084840cd96f82df6d524916d4a4ec4a0f71108c2cdbec6e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/location-clinic-address.md":{"size":15649,"mtime_ns":1781257855652300954,"hash":"c147a47466d89f4591d1efff242e3ec90e1b979463cc2d2ce5f65bd55002b770"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/mark-past-slots-unavailable.md":{"size":7754,"mtime_ns":1781535427967339672,"hash":"51d4e6c59bbcf69395fb0d0a1420f5c47f5c3ea5bf77e95b3180fef5e2081fed"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/multi-role-dashboard.md":{"size":47174,"mtime_ns":1781164462782884121,"hash":"bdbb8f8d4f66f36005c2c7e87f123d905c49048dba266e475c775b73d438b434"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/my-payments-list-endpoint.md":{"size":6964,"mtime_ns":1781539108766134646,"hash":"5c6b5a4fff2796f32393914512d82d2cf18fe1a2bb5c70f7087c6152451e2ce9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/national-code-unique-profile.md":{"size":9589,"mtime_ns":1782270001832720420,"hash":"4bac96e773838ee4ef912cca328f84ce957deb6c594c1a00016b305380c93112"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/new-visit-modal-ux.md":{"size":5602,"mtime_ns":1782145407253133698,"hash":"5ec3558c752110146df788f8f2f85025c4ff17876ace24f8de0b2208013a622b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/patient-record-profile-binding.md":{"size":5004,"mtime_ns":1782145573523412851,"hash":"5195bc67dec077d35f5220df58a5c2ffbb62fd44c881cc9e51d8aa53a08d065b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/payment-test-mode-ui.md":{"size":7973,"mtime_ns":1781516938547896351,"hash":"a37f514022aea65c1e8d35c8855c087e0913c650a642cabdd39f9690577d8cd1"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/payment-unified-status-canceled-and-managed-hosts.md":{"size":11866,"mtime_ns":1781591920505562932,"hash":"32799eaded7c02d109b78be529dc0ecc8b7fc0b500326573428a365e21869b74"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/pre-registration.md":{"size":12415,"mtime_ns":1781252082262696147,"hash":"b1857341551ffad0b98d9d867f3caeeb8924c5b903099e9f2823620efa8eecc6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/profile-birthday-jalali-persist.md":{"size":4796,"mtime_ns":1781597628367003291,"hash":"e90db79d423bcbe97680ffed422228037e2843e8169bb1188237f7f6b6babbd6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/qa-bug-audit.md":{"size":10008,"mtime_ns":1781892497314247088,"hash":"63ca9f918e24b1c15839c13744045e0b8aac212279b5b4fbfa5ae619b7709804"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/rating-multidimensional-and-rich-comments.md":{"size":12831,"mtime_ns":1781557035802767573,"hash":"332d9f393aee67c403841f184f3e6c069edaeb4459b4ee328a9310055f937cef"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/rating-require-recent-confirmed-appointment.md":{"size":9517,"mtime_ns":1781557035802942698,"hash":"305ff640dad68d7e842a5825bbf7a8f4cdb02b145eed8b782c1151db3305632e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/representation-admin-panel-access.md":{"size":16498,"mtime_ns":1781857058512546863,"hash":"72c1500ed688169cfd796adcf9554b63994849119943dba5d5a70883eb5a8dce"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/representation-commission-tax-engine.md":{"size":21994,"mtime_ns":1782292728412115840,"hash":"ca8cb1567b8434a59f5717a4b33c6ea142e69f4d1010df15010081905b556669"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/representation-domain-guard-dashboard-settlement.md":{"size":16314,"mtime_ns":1782304099038050829,"hash":"be8842b5ac2c5a57277b047c4c6ac3f828ae302dc6a94569e8f46760564b90d8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/representation-identity-iban-verification.md":{"size":17082,"mtime_ns":1782399022752193648,"hash":"59271ef71e8e71f9f1bb9dcde1aea41565a2dbef6ed9aa8d35b1e7202c685f38"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/schedule-cancel-expired-appointments.md":{"size":8800,"mtime_ns":1781551622406496621,"hash":"43d63ab1fbae2e6e2d5192d922a09293b1abbadddfe98819e39671dc00e04a99"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/secretary-context-scope.md":{"size":14283,"mtime_ns":1781520442021272248,"hash":"e684ae83cc15db840406769e15852b219ceff63405fe6064bde19263b2fccfdc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/seed-realistic-data.md":{"size":14531,"mtime_ns":1781519566626148059,"hash":"6b2eea6f45404e64d2b8b3998a117e8bada7517c880339af1fc4ff72cd0409d2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/service-insurance-coverage.md":{"size":4046,"mtime_ns":1782214545720279342,"hash":"3ff0f0f6b3a99f5facadc19ce455b27c8cea3020038a1b40bdebda4fdbaf84f5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/service-insurance-per-insurer-coverage.md":{"size":14249,"mtime_ns":1782259799527430466,"hash":"295cae74decafadb2379fac86ac7ac1f420042d715f798d5024b03362560363d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/sms-log-tags.md":{"size":15685,"mtime_ns":1781870909734605934,"hash":"abe301d83cba0655c353e32c6f55a9bf20dc808d033c9f5d1e40f8fa9ad5bd62"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/sms-login.md":{"size":9252,"mtime_ns":1781255737102412820,"hash":"af6300f99ef2e66cad5abf34a421e4c3f2d34995535a907f82aa86cfe4c29b74"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/specialty-doctor-counts.md":{"size":6533,"mtime_ns":1781636247075492016,"hash":"32a97260ea56f3bd9529a034cbb791df59ce29ca60d9966a24d469cb743fee41"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/subscription-gate-ui.md":{"size":17009,"mtime_ns":1781520442075008039,"hash":"81757bb902f7ddb74f51b2aa43612d9c73fbe20abebbc2f046a6014498f9b58f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/sync-user-realname-from-profile.md":{"size":6614,"mtime_ns":1781594222051658800,"hash":"b9ee6559e409596b698b855fe4ff283fac5a062a218b4aea42a3b09d14a8fd0a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/ui-darkmode-polish.md":{"size":9534,"mtime_ns":1781520979984254456,"hash":"9f195ed3dccbf8df6079d978142aac339fa50d0b949526fc1b7b832af151da1a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/ui-ux-pages-redesign.md":{"size":18980,"mtime_ns":1781520442021457666,"hash":"2dce360a15f48c97610df47e5e6fbeea313e39fdc152e0d55bf687ec17784e47"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/user-profile-resolve-by-user-uuid.md":{"size":9637,"mtime_ns":1781537870411647855,"hash":"880cbf5c1bbd64937f4a197a91cdedf9c742bb3910ab2104cfb6c59e8cc7ba0c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/skills/prompt-writer/SKILL.md":{"size":5151,"mtime_ns":1781361052504791267,"hash":"abe2c711bf0a283fe50a70e5180d0ed7c7e10f7b699ceb50b4701485cf7b74bc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/skills/run-prompt/SKILL.md":{"size":9443,"mtime_ns":1781176103482888341,"hash":"bc8c63ca2411b0ed4242f54f4a998590698d1cc62ef9b2661a84668ed1e80689"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/CLAUDE.md":{"size":8393,"mtime_ns":1781551622406854747,"hash":"1712a6a680cb00c102367be014ced75a77306c0c8ac1fbccec95f37ed31cff4e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/TEST_USERS.md":{"size":4101,"mtime_ns":1781520709654384302,"hash":"ae97e1e0de7fdd1d8dccf030c996f155262259cbd648b71d4834436f90827910"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/Architecture_Audit.md":{"size":33583,"mtime_ns":1780948937761931658,"hash":"e79771047616dbb7a604687b92ffcd47f09dc19a112fa51174cc2738a0e5c49b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/ClinicPro_Manual_v2.md":{"size":228782,"mtime_ns":1780944864742215753,"hash":"86c808b50dd3da1c5107e4b6a3a03190f30c643643ad6de4c89b2045f803baee"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/PRD/prd.md":{"size":28619,"mtime_ns":1781520442203119936,"hash":"a1691fe2f87737cd12253bac3bfda2f8feeaabc15a159a8dce6482eea7fd6e8e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/PRD/pre_prd.md":{"size":5454,"mtime_ns":1781516938560096835,"hash":"4736bcde5ba8e7c73405d0e7c31b6e2651b65d475e4cb9a924ae152b799bc4f1"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/admin-ui/ui-design-spec.md":{"size":20687,"mtime_ns":1781024129379257560,"hash":"60176b60869538ed763bfd4b0d02c138481811e62482b73c41693ea5393e8460"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/admin-ui/user-flow.md":{"size":16280,"mtime_ns":1781022482742007613,"hash":"aad348887a0347a4d348eb228959ef9e44099e2c4e60959d0dc06d976ebe7e16"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/README.md":{"size":3621,"mtime_ns":1781158395412841916,"hash":"8ddb00666307b307dcaba4c0b7b4f4c13e5f31502f7d20d5c3a8a82729c606b8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/admin.md":{"size":36438,"mtime_ns":1783663961404615416,"hash":"40f30916ed90294b3c7d20df1c26523ab8a0bc38789dd43e974aa44c45070308"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/appointment-settings.md":{"size":16574,"mtime_ns":1782728407106610964,"hash":"540be837def81a7c24a001654fde543de78f168ba34ed839c6e6fd597ea55ed6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/appointment.md":{"size":16822,"mtime_ns":1782728407107114384,"hash":"7b39650f7266519461983913a0c78e186275d036101a827049dd6f8c3574707e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/auth.md":{"size":19494,"mtime_ns":1783072324109341756,"hash":"731194d44bfe38b142c7b5e2c6367ab52c325988d60151f60d7eb55ef7cc07d5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/billing.md":{"size":10078,"mtime_ns":1782728407107896681,"hash":"c9f6afebfd6b6f7a7e55bf1d14c8123f9230a99fc566c63aa9cb4d01b6204324"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/blog.md":{"size":5522,"mtime_ns":1782050526553302749,"hash":"fc22dc80387b6c8f477854a19dfe01e496b90b688020325f1df589e0ae5cab8f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/clinic-invitation.md":{"size":9237,"mtime_ns":1781360269658725816,"hash":"50b040f0cc844000cdf24ba7971b4bfe4367e7980413f2dd90d7187a4e0c9991"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/clinic-services.md":{"size":6228,"mtime_ns":1782728407108299892,"hash":"d03260630a54476e8c29c60a2eb6540abb203d81d7656a95fbb1381344ad1a00"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/clinic.md":{"size":15082,"mtime_ns":1783569345777287102,"hash":"969c6a645198cf9b930a5d4fa203adab490ce59bca3460cb410ae040a333cbac"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/dashboard.md":{"size":6099,"mtime_ns":1781516938560827336,"hash":"8368266c4453ba5364ed0787679059288d98527506bf05a44f86b5a31a7e0a6b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/doctor-service.md":{"size":3542,"mtime_ns":1782844893680414173,"hash":"e89e263e5bbc843f579006c3b353fe521d9366fc228515e8a5e596321c8c0c42"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/doctor.md":{"size":14514,"mtime_ns":1783569345777646894,"hash":"71132bf3d0aeee34eae0945736ec23a52638902a186dc8d24c1272b869e4c64c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/insurance.md":{"size":14620,"mtime_ns":1782844893680930170,"hash":"777ea6859a4a038025bff4fd5619e698c213fb174f40b4f41292b07a7bf12dd2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/location.md":{"size":6110,"mtime_ns":1783499999991507683,"hash":"b115b424de4b74d226eb0519d0285a2c6397f9d8e1afdbc4de3b8d9776e00bb7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/patient.md":{"size":11646,"mtime_ns":1782289600489452444,"hash":"37294299886dbe4d8227c8fdc5afea62f50755e0fd42f229eedc58f1a036abb9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/payment.md":{"size":31708,"mtime_ns":1783569345777886644,"hash":"e9d63073d11ef51c3cc5bf4010394485ae27190d29b5997edbd5ade0f9a14617"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/rating.md":{"size":11090,"mtime_ns":1782728407110670616,"hash":"61914c5f9d29060ba157369cf8e82392cc6b094df3f3a1423904c2988b19def9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/representation.md":{"size":23969,"mtime_ns":1783569345778079977,"hash":"fc1f5be7a63295184a69a7c63af90e9d6f03c74dbd27b854f65d72965cac06a9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/secretary.md":{"size":11082,"mtime_ns":1782902968293482660,"hash":"8a4df85eba0a0da8f2a31f07cb8ed2b182bae88bc4530db5c743bd012bc4bbed"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/settlement.md":{"size":9976,"mtime_ns":1782728407112458962,"hash":"ad88d08fd6960cb9bfd932b91def2ad395a50c391f7692e9ec30fa4dab681722"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/sms.md":{"size":21855,"mtime_ns":1783491664293447366,"hash":"c21a4fe093a52c6f4b73e50259282f2f50f30831b19250ab6308d66ce4e2d7b2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/specialty.md":{"size":4869,"mtime_ns":1782844893680226216,"hash":"8f43fadb8c8754ab788dc183df3538096cfffc5d7a542fde683d8fffee10fafb"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/staff.md":{"size":3093,"mtime_ns":1781516938562286131,"hash":"b3690ab9cdd530eb6a0180f96f08a258ccae0c77d31416e80f49a92974eac730"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/subscription.md":{"size":6894,"mtime_ns":1783235773210706870,"hash":"1d6915cccf364cf13b21f3258d454831c311fb1bf1c0c88a295cf5694fff1889"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/tag.md":{"size":3045,"mtime_ns":1782844893681057377,"hash":"4044766bce277cb59476fa2c470b399018dafd94191893c53aca75291de87b7b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/user-profile.md":{"size":7549,"mtime_ns":1782289592597934192,"hash":"5d269afd10ce9174f3ac63fb4fdcf1cb7272564925db2d3f5f7e75df50c42925"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/architecture/insurance-billing-system.md":{"size":22566,"mtime_ns":1782214545723920606,"hash":"afec1678fc22a9caa8f39eb9fac3f934751dcd6a315ac1441f1378193b88ba0b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-10-staff/architecture.md":{"size":4831,"mtime_ns":1781516938563423092,"hash":"589134d822642da7433ffa06823f4e2c79ad74e3feb135df95e581377b01ffd3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-10-staff/database.md":{"size":2045,"mtime_ns":1781516938563622759,"hash":"580ede75d18ef6d8117ef56ab233775e5143bc25de4716cfaf53464bdaeac599"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-10-staff/task.md":{"size":2775,"mtime_ns":1781516938564295343,"hash":"b55eb66cf597d5665d57d79f268a2fc106da8a8e01c18d7f8da2327da6dc7927"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-10-staff/user_flow.md":{"size":3553,"mtime_ns":1781516938564465635,"hash":"c5436837b9320d6cb9e5f50e7e6b7aeaaa8bdb8dc9a68fa4b5f4b22fdd58002a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-11-subscription/architecture.md":{"size":6182,"mtime_ns":1781516938564667844,"hash":"97af6c2e032264f5dd128efc6ec07a4c1c23664f325cba46bc7dca9da57b9578"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-11-subscription/database.md":{"size":4694,"mtime_ns":1781516938564824594,"hash":"3b798be28cfff874d1b09b25429767e7c928e7c0fd9a9db2a9685f429b299299"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-11-subscription/task.md":{"size":5322,"mtime_ns":1781516938564985928,"hash":"46d7f8870c6b9f46071a717d0235dceffd7d25508ca4f69886e5062c8b37d0e1"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-11-subscription/user_flow.md":{"size":5889,"mtime_ns":1781516938565157637,"hash":"d11628bbcd90efc0d3d09961a2ed62fe3707c3f5b60bbbfcc615da3b7180acd4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-12-secretary-completion/architecture.md":{"size":2393,"mtime_ns":1781516938565327637,"hash":"d036ecddd7c889f68aac644919fb9255189de2f82cd62e3933b860bc348d34a2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-12-secretary-completion/database.md":{"size":1646,"mtime_ns":1781516938565469596,"hash":"bb7eaeece88f414ea6253e95b2acbbdbbf74396c5e51b213301593f2aa5d409c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-12-secretary-completion/task.md":{"size":6288,"mtime_ns":1781520442208567994,"hash":"f18a2edba4a0b75fef8e08e155a4cf100b8a98e463acf88d31d506c195f5b27b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-12-secretary-completion/user_flow.md":{"size":3821,"mtime_ns":1781520442059890701,"hash":"72aca8c6bba58695e7e1b63a3aa709d1068753beb31b981c648564fb822e4fec"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-13-clinic-services/architecture.md":{"size":3719,"mtime_ns":1781516938565894180,"hash":"c2c7361b57f654925f2801d0820f78bbbb97dfbd07c808b4ec304f7938139151"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-13-clinic-services/database.md":{"size":2673,"mtime_ns":1781516938566026680,"hash":"de17f21b92fb807651d65288c8539699aad5597b8e541e47c9bce4dd0f97b696"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-13-clinic-services/task.md":{"size":2931,"mtime_ns":1781516938566167056,"hash":"87038a0b3a2f872944d232bcf66eb5fab7676f00a9d29319c082a4b576a1fc40"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-13-clinic-services/user_flow.md":{"size":4046,"mtime_ns":1781516938566343181,"hash":"4bce3394d64f2c1d3441cd2c3ad717670d1c91817b9015db00aa9ae4eead4f66"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-14-sms-panel/architecture.md":{"size":5145,"mtime_ns":1781516938566580015,"hash":"14afd5263c7d520a89f36bbba8c8a1884f88df74d09afe4caf7464025ee25063"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-14-sms-panel/database.md":{"size":3803,"mtime_ns":1781516938567109641,"hash":"2a952887767f9f9811df0c99a9bc2ba9986defd5ea1caf3ed11080ce11c61f1f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-14-sms-panel/task.md":{"size":3454,"mtime_ns":1781516938567288849,"hash":"5badde1225cf74657f886825aaaae8582c1c627570f655ae9f631144bc75d7a9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-14-sms-panel/user_flow.md":{"size":4630,"mtime_ns":1781516938567444933,"hash":"8e4bcbd2fd0a486d4942df7ced8131738816487d2c16f0a05730d4c190a10296"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-15-patient-records/architecture.md":{"size":6622,"mtime_ns":1781516938567688975,"hash":"138a7655a0efa500b4a9a8f829bebbdff35803cb3abfd3da7f4d4f362d7b63c9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-15-patient-records/database.md":{"size":5463,"mtime_ns":1781516938567863767,"hash":"1dceb66c7a12a35660145fdf3bf0bbe4d5b8275f5b45bf86cbba4cf80f64675a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-15-patient-records/task.md":{"size":4809,"mtime_ns":1781516938568156268,"hash":"1222b425e9e9856e291b8fb39c28348287dbafcf7b0a30531c5bab8642d2cb17"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-15-patient-records/user_flow.md":{"size":6283,"mtime_ns":1781516938568370060,"hash":"e28725b4fd619e8e105951b570c0066efb23fd6f378c1939bbe5cfcdad47b2d5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-16-smart-dashboard/architecture.md":{"size":3095,"mtime_ns":1781516938569635604,"hash":"6494802db54a411d47ce102df7a5584c1e7db3482aad69df967bf1ca71c5ba58"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-16-smart-dashboard/database.md":{"size":1971,"mtime_ns":1781516938569893480,"hash":"ec0826918bb413f88d2d989f514b0c75a8cb932d11476d2c6e46908ce87968e8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-16-smart-dashboard/task.md":{"size":2630,"mtime_ns":1781516938570195856,"hash":"19bc98b5866f489ff0cafdb3533f2698de3546aef26ad438d16beb2d7218c859"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-16-smart-dashboard/user_flow.md":{"size":5110,"mtime_ns":1781516938570362314,"hash":"3572f80a2a4741eeaa91c80e9c362bd8ff452c14c4d1f052efad6467db72ce60"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/qa/bug-report-2026-06-20.md":{"size":6123,"mtime_ns":1781932195178136627,"hash":"12f46177c25b3354d11d67086bea1387dfc7c630aa26c3ae766c680f2843640e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/security-audit.md":{"size":17685,"mtime_ns":1781029533522601843,"hash":"a4ff28a805763f65454696132ecea7011101bc37b1b6517222f1c75daf450ab1"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/README.md":{"size":3380,"mtime_ns":1780914526335796118,"hash":"defeedb0410731f689fba5e8e2c6f3e35b8bf9e5e284dad43313a1184b58b1ae"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-01-project-setup/architecture.md":{"size":4379,"mtime_ns":1780948878189677238,"hash":"01cbb020665bc50a95519b010c5cb4bdcda727e5e3b11144854ea69380bba84d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-01-project-setup/database.md":{"size":2777,"mtime_ns":1780913653761675119,"hash":"6ad045e9dcec53f77822e126640dacb6bd22ac3baee94373331ba46567bf37f5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-01-project-setup/implementation_notes.md":{"size":11109,"mtime_ns":1781000268522993445,"hash":"7fcefe550ef23683ee4ed703af2881fb5c985930b4d1a3ab7c93a74ef491bdae"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-01-project-setup/task.md":{"size":15372,"mtime_ns":1780948866192116618,"hash":"311edd5597e787245e16d25b061f5faccd468d3d7a63ebb05bb04e26b3c7218e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-02-authentication/architecture.md":{"size":2897,"mtime_ns":1780913716805987120,"hash":"ee14b45989f69598f9862c975c097e7c3cb720c2bb06967b9787307e7acfe361"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-02-authentication/database.md":{"size":4381,"mtime_ns":1780945850080810308,"hash":"d1ce5e67b210864664df658d7de16fc479948f90164e90c89f53c33ee6de069a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-02-authentication/implementation_notes.md":{"size":4894,"mtime_ns":1780945075278630018,"hash":"8074b8f1bfe41c918b96cb9ab1c78937bf5986feb3ebe9db3c3ca7af88d7dc2e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-02-authentication/task.md":{"size":14847,"mtime_ns":1781000259106649518,"hash":"500d89358f6bf99cb445fcb71f0fe67afc142c3c607ccfb030cbcbea8409883e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-02-authentication/user_flow.md":{"size":2706,"mtime_ns":1780915019246111035,"hash":"03ed965fb14b51c065108f4eeca9672f20e8090195fcc442de5c5c60c950ec10"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-03-user-profile/architecture.md":{"size":2719,"mtime_ns":1780913810512596011,"hash":"1a83b9b76c0687098bffc9471e7fb2c51a97be4939347bd11990d55fc290fbe9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-03-user-profile/database.md":{"size":4620,"mtime_ns":1780945096397670031,"hash":"8d639d843c5d51531781080fa6179168662a5cbd22af7ea828e770823d374c00"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-03-user-profile/implementation_notes.md":{"size":2408,"mtime_ns":1780913848138283491,"hash":"5a60299e3ce86373b2ae7c2e0efdc5fb85b753123cc45bb09e0c9d671d396811"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-03-user-profile/task.md":{"size":2503,"mtime_ns":1780913798113112926,"hash":"f00a38d5a28420b3a8fda800286352a56f0f98b190ec67e57e1d971debae3bef"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-04-blog/architecture.md":{"size":1757,"mtime_ns":1780913877006618619,"hash":"e63b0d01ec3714992eefec62777ee965be7af2a59d55a9e72cf87effac0f4a8f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-04-blog/database.md":{"size":2332,"mtime_ns":1780917970043029189,"hash":"ae2d7fd401bce729cba77a040a613a7f8fe0e9b20e8d4a31eaa970451296a001"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-04-blog/implementation_notes.md":{"size":4727,"mtime_ns":1780945968298846841,"hash":"92f49568f1ecb690bef8287e9455ef0b2ed56d897309ea6b8a580fa667f8a5f6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-04-blog/task.md":{"size":1962,"mtime_ns":1780913865638451815,"hash":"2884592d17fcc3363768f899a4371d0ff2f25bc05bf4ab378647224aac695fc5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-05-doctor/architecture.md":{"size":6624,"mtime_ns":1780915477914900899,"hash":"180c8f1b3163d1c97e3add7912571278ce7d53477095695010024be863743ee8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-05-doctor/database.md":{"size":7593,"mtime_ns":1780917946898365021,"hash":"00d19e027d60b4461e43310d6445f95fab85d7b6ba26ba946e44ea001556b0d0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-05-doctor/implementation_notes.md":{"size":2375,"mtime_ns":1780913973933789015,"hash":"1fa793e81dd07304171c11a760104acd6802dbeec00363618f5d4c1e651668ba"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-05-doctor/task.md":{"size":6294,"mtime_ns":1780946040236355543,"hash":"042d405bfc9f389c3f4031533534485742dabdcfe86b4d753c0cc052a755f1f5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-06-clinic/architecture.md":{"size":1851,"mtime_ns":1780913996728031516,"hash":"6cb465ec4509143b1ff168e629400684e18542a7c1f616f5885f1c4f8be7876f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-06-clinic/database.md":{"size":3657,"mtime_ns":1780926795107362628,"hash":"6ae9c1c5e9c833a0781878a60323428b3388dc46dfdb5620d649371d98c03f36"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-06-clinic/implementation_notes.md":{"size":1042,"mtime_ns":1780914015153456807,"hash":"5bb3da0cf9daf5a64f1316e32f20d5a24d70ae5a639bc0d4b62a2667a6742b19"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-06-clinic/task.md":{"size":5429,"mtime_ns":1780946101876308203,"hash":"709ac2fb057f4d470a55c5e47dc0bbda7f38f6a336622fd93be0e334019ee066"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-08-categories/architecture.md":{"size":1985,"mtime_ns":1780914070674333692,"hash":"b6839bd6197cc3e53162104e0ccddcb4c0dad2d268815ce71e50591dd58dcaea"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-08-categories/database.md":{"size":3623,"mtime_ns":1780917987390393019,"hash":"6a1ac2b1feeec574386ab34b5176b6c069ee3582e7152757e4693e18440d0365"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-08-categories/implementation_notes.md":{"size":1244,"mtime_ns":1780914095217341542,"hash":"fa7fd9bc9193bd89ed8e6438a3538bb8ba6aac5dbc8859735887b8a2a876956a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-08-categories/task.md":{"size":1912,"mtime_ns":1780914058797929168,"hash":"4a40fbf276a9595d6be7409e5b8ec3ce0963f7cff1ae1acdbbd8e2a8962f0f76"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-09-appointment-settings/architecture.md":{"size":3399,"mtime_ns":1780914129817089915,"hash":"b75f451ea0018239fff4ace9a06e486880409d0015582b1aa5f843b4ff14d9ab"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-09-appointment-settings/database.md":{"size":4225,"mtime_ns":1780915919108824849,"hash":"07a565453b405723fef58584dc058518729c7d27e873492d8a3cea7e7de0d690"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-09-appointment-settings/implementation_notes.md":{"size":3094,"mtime_ns":1780945173910875440,"hash":"c75e7608c3765170173b475dc5b2b224c663e6c116cecadf38107efdc86d6878"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-09-appointment-settings/task.md":{"size":2582,"mtime_ns":1780914114135141253,"hash":"48422a947301ff86b51f11c3168ec190bfa7f9dcc10821abd5ce5b9a460979ee"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-09-appointment-settings/user_flow.md":{"size":2191,"mtime_ns":1780914171627644777,"hash":"07b7bc5971ab5201243c5bdf67eb2d111629753dd697034c85e92c96d1008809"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-10-appointment/architecture.md":{"size":1996,"mtime_ns":1780914199549617529,"hash":"289adc397ac626b52b89755bfe8648fab0d7afbbdca30005de728b7697b9a214"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-10-appointment/database.md":{"size":3717,"mtime_ns":1780915937514717817,"hash":"88321d5b96f7d4a6b8e1704430500c45915eb2e259eef363d95f26de72109092"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-10-appointment/implementation_notes.md":{"size":4621,"mtime_ns":1780915380116156578,"hash":"a83b0c475c907a8d8a30ed2d0ca711db33f60fb1e61c202b76bc4731a5bf8243"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-10-appointment/task.md":{"size":8716,"mtime_ns":1780948491117865920,"hash":"da3cd77c8f2c7ad9129a69ccf1f8dc2317dc91a1dd956cf2f042b65361be6395"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-10-appointment/user_flow.md":{"size":1550,"mtime_ns":1780914238340850115,"hash":"9f5dce77e5f9988bba7dfcc621622610a49a42e0b065b884bab56b56661cd84b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-11-insurance/architecture.md":{"size":1127,"mtime_ns":1780914261808559537,"hash":"375e8ddd7ec2c6078760759c4501a4cfbfa68fafd7835fb01fb77ec9e63edae3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-11-insurance/database.md":{"size":1786,"mtime_ns":1780945194993545294,"hash":"d839d386d4403610f52b0415868efd6ee3555dc5b209d13ec923975ec4bb799f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-11-insurance/implementation_notes.md":{"size":682,"mtime_ns":1780914277970139742,"hash":"9f0f9dc9c02d7e8672e66bf856526f7b0ed7956b926665bf807466cb5be8ae97"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-11-insurance/task.md":{"size":1020,"mtime_ns":1780914250465105891,"hash":"6dd946fad62474b45da1077a795263188685817d871a6fe6a7a48686e24d6193"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-12-rating-comment/architecture.md":{"size":2188,"mtime_ns":1780914305970064998,"hash":"5fdcb2df78dd410d0c2d434203efb1e7a932ef9e9a17270a252584779e59f6cb"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-12-rating-comment/database.md":{"size":3810,"mtime_ns":1780915977159314990,"hash":"2fdfac8ae3f0fc238d5398ffcc770d33470901fe1d371043f2762ca15a0c6e50"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-12-rating-comment/implementation_notes.md":{"size":5724,"mtime_ns":1780946157194396377,"hash":"df382ed8eb807a193bfc884447401cd87c9a678f6ecb95a0a246468cc9311851"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-12-rating-comment/task.md":{"size":3935,"mtime_ns":1780946250306428313,"hash":"fa4fc2ef76c08670eae962ffd0a3836d7cce4469bc5f407cebff751c025e5c7b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-13-like/architecture.md":{"size":974,"mtime_ns":1780914349899858832,"hash":"a0adb45cf9f78498055809006e340318b4ca21e6f8627ecbcdcac2205f3f7b29"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-13-like/database.md":{"size":1630,"mtime_ns":1780926837375006318,"hash":"3d670c92b56d80fa1da6b751fda3b776da46ea368106339d1b80dd6012e01d2a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-13-like/implementation_notes.md":{"size":596,"mtime_ns":1780914363412821531,"hash":"d49115b6d3c76aec3c3678cc86c6ef5b394e8e63d96e493479bc79db4cd8558c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-13-like/task.md":{"size":475,"mtime_ns":1780914338292873383,"hash":"0f032e0490838820a0692ba9c0042dadce5a9558d87083874219c84dcde92742"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-14-secretary/architecture.md":{"size":1308,"mtime_ns":1780914379600079656,"hash":"17eba56cf557f9cf9d6300b9946fe25cd348fd937bd20914ba382b1a760112aa"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-14-secretary/database.md":{"size":1827,"mtime_ns":1780926849934970617,"hash":"46384e53c3b5bd73ef416c647833213a49f5eaefdd7a6c63c4227cf54e5e8aa6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-14-secretary/implementation_notes.md":{"size":849,"mtime_ns":1780914395413759232,"hash":"432b4d0ed90802ae1dd2495e54a2493f60f07ca0ca57a7e68734ff493b2c8031"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-14-secretary/task.md":{"size":9039,"mtime_ns":1781000115337852359,"hash":"322eeb47d17aa1d34573f1daab3e4e6aaaa6c89a6c97bb7be08ea4e10c475f16"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-15-payment/architecture.md":{"size":1945,"mtime_ns":1780914418815337658,"hash":"434ff7a1e4e0cb8d175321f3af647ef5276602ed753c9ca9c3c9480a7456d53c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-15-payment/database.md":{"size":5305,"mtime_ns":1780946202243066788,"hash":"86fdf19600fc6c72961d37e60d2f056f9012b1b26d0fddac2a6d31b15295f105"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-15-payment/implementation_notes.md":{"size":3038,"mtime_ns":1780915087810785770,"hash":"1fbc6a5462ddb25a89b765941b2c4eebae1b3c2e62cf5dbf48bc48015b79e6ab"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-15-payment/task.md":{"size":8918,"mtime_ns":1780948846758672237,"hash":"ae564ca5b8f57b3e399f6996c978ed63e5d2425342b6d9dc6eb0b29c90fa2da4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-16-representation/architecture.md":{"size":1957,"mtime_ns":1780915416796818495,"hash":"9ed187252c771e6fbbbc24009d84f0fe52b4c3f565b16413ffd753c16c1793d2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-16-representation/database.md":{"size":2934,"mtime_ns":1780917918423562169,"hash":"bc18f2996973b821a4c393e627028ca7212b1bb769a7faf122fd0b7f4fc4da10"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-16-representation/implementation_notes.md":{"size":4833,"mtime_ns":1780915404939572215,"hash":"b8c731a6b5e06985b3179372e17bf6b678fd4bccf0f2a488cec7b842ecd56798"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-16-representation/task.md":{"size":4814,"mtime_ns":1780948110250153184,"hash":"ecf2f1d6b695c256805cea006ad4ea2c64d4419dba5da0e8a862ddcb78c185d8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-17-sms/database.md":{"size":2141,"mtime_ns":1780945235470226049,"hash":"4ef4177ff9c455909dc4d2d64ef4ee2fd8e1d5eaef1bda53fe9fed7923809e1f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-17-sms/implementation_notes.md":{"size":1864,"mtime_ns":1780945250993937969,"hash":"75cfb72ca7fff3f679ed78b75fb7cc251344cba57d46d4926a1ff24c61a18193"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-17-sms/task.md":{"size":14473,"mtime_ns":1781000201191461921,"hash":"b4a1a494a5417c78db3a85dc80fa158db77860e74eee9337fb15a5f5052f829f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-18-settlement/database.md":{"size":3780,"mtime_ns":1780948101369445086,"hash":"8c43bfccc6aafad28eebd86afc5b32f56ca6db3dc081b796567f4c95824df146"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-18-settlement/task.md":{"size":4116,"mtime_ns":1780948080182510614,"hash":"33696ec512d7848300e8575d2a387e09a90153045860fed8b8f2c5632b6592f1"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docker/entrypoint.sh":{"size":1468,"mtime_ns":1782633219516893494,"hash":"48c33a7c55c256a65ba4c089893e1112aea5b1320c9dc6b46f4eadb865b68ae4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docker/frontend-domains.json":{"size":2348,"mtime_ns":1782410142646593892,"hash":"dc12d68e32830d446995ea2a8cf98fe0bc24e15d4b6b0b27dd5b97dc84b06568"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docker/gen-cors-env.php":{"size":1933,"mtime_ns":1783423497551393748,"hash":"a8e8a22c1e371890913e78f210ab6cbf36b0f47220e4fabad8c874c284af29ee"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docker/healthcheck.sh":{"size":443,"mtime_ns":1782647901237410548,"hash":"b4d2a6f75f334c832e9a015b4e296f3fb9210f128b2b1b40bfe74abf6e6babc5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260628133044.php":{"size":1747,"mtime_ns":1782728407177086438,"hash":"5c24097f68a7696b4ae58ba6df68b6ace4f508b1f0ebf3e964fff23661c8ea0a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260628134241.php":{"size":1159,"mtime_ns":1782728407177374107,"hash":"c31886c1f10dd25296b56fb7ba336f1fc45aa45d6627ab6bdb148f18d49872ee"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260628152738.php":{"size":1873,"mtime_ns":1782728407177652192,"hash":"d7a00a9e505a45fe1056cde539a8cbefcb42f67a0c3755427d77ba12959e0c4c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260628153625.php":{"size":882,"mtime_ns":1782728407177952152,"hash":"b314e4f194586cb9b4037fb48ab8400a307ce428def8108b94616a263e24e238"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260628153855.php":{"size":1146,"mtime_ns":1782728407179127785,"hash":"1ec80db45af56adf7be93c412e0165c70fb629dde2ccc09b06a3452a66c52c05"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260628165710.php":{"size":809,"mtime_ns":1782728407179735539,"hash":"cca05740bf26d1540b361283f5a140aeb446bd717250615b7ed040977788dab6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260628173151.php":{"size":1639,"mtime_ns":1782728407180333627,"hash":"b8bbe9ad2ce3faae637534db20bfc455e288bc2c5fb3a1b9a10f4a29db2432aa"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Command/CreateAdminCommand.php":{"size":2428,"mtime_ns":1782649564990017265,"hash":"2fd1cffeb4d8299abb1a5fda3d9f29a08c882ff6e66781dffbc038ff675906c8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Service/TenantInsuranceCleanupService.php":{"size":1874,"mtime_ns":1782728407197355450,"hash":"19f366c81466bfebfd37cd2310f8602b243cf5111e51308892e196b7d5a7dc4e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/ApiTestCase.php":{"size":2923,"mtime_ns":1782728407205043418,"hash":"6ec92ce7ac31774fec6ceb5e33a073d6cdbe06044221f38e4939f99270fe8bfb"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Appointment/AppointmentExpiryServiceTest.php":{"size":2163,"mtime_ns":1782728407205393295,"hash":"5586072347e23a24fddaa187efeb93d702697b7cdd1a399909239684cf371372"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Appointment/AppointmentSettingsListOwnershipTest.php":{"size":1592,"mtime_ns":1782728407205827923,"hash":"1ffb3b0a89f531658a75520df810efc7e18022e106a75d885d92986d62ba74e7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Appointment/BookingScopeTest.php":{"size":1653,"mtime_ns":1782728407206108967,"hash":"395161c96b8a660dab252a12c063090de94131b66d672c3b8804d70800327451"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Appointment/DateOverrideOwnershipTest.php":{"size":1259,"mtime_ns":1782728407206489928,"hash":"10dfd3691f16464f1d16a317942a53046f5369260a74ce133960d1b1f30218aa"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Appointment/ScheduleOwnershipTest.php":{"size":1721,"mtime_ns":1782728407206779055,"hash":"f935dde55aaa34b8c10780019e1c8ee7f5733c602874cc951411737dc9691329"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Appointment/SlotUniquenessTest.php":{"size":2475,"mtime_ns":1782728407206954431,"hash":"0168f3c381e9da2663e2cf118fd67f5b90d2ea6e4e96433e3d05a567248961f4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Audit/LowTierFixesTest.php":{"size":1517,"mtime_ns":1782728407207202432,"hash":"6d65ac794b959d7b177dfd5ed9792082e5f79a073b0cda79be8503b689edc907"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Auth/RefreshTokenTest.php":{"size":1924,"mtime_ns":1782728407207460101,"hash":"745716b0c8627a1f72fed9305b2dc70af84c14ed015ff3341bd3c6422ea63c87"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Auth/SendCodeMobileRateLimitTest.php":{"size":1421,"mtime_ns":1782728407207651102,"hash":"f069f1c427ffbeb082d3777ae8da34e031e940e4a0c79e5da4e80708345890aa"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Billing/ClaimAmountBoundsTest.php":{"size":1863,"mtime_ns":1782728407207878645,"hash":"0b7551406b5b0c2fe47812614e3edbf359b72ef3c0f16b12466e387c5bdbb041"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Billing/ClaimsListNPlusOneTest.php":{"size":1782,"mtime_ns":1782728407208062397,"hash":"dcf666e9d1a149bf85e0ef7869083bceec48bd8ba95958292878d73f7e330467"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Billing/ClaimsListPaginationTest.php":{"size":1215,"mtime_ns":1782728407208282107,"hash":"3d81e096e779dc685eed5920d7fef419ebf2c96e96794ae8d6222daeb0dea7e3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/ClinicService/ServiceItemDeleteCleanupTest.php":{"size":1598,"mtime_ns":1782728407208527691,"hash":"f9809dce56ba099731d9fbf6e1da781c18acc49a758537002868a7db3efad7b1"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/ClinicService/ServiceItemStaffOwnershipTest.php":{"size":1464,"mtime_ns":1782728407208738276,"hash":"e8b808423b34ee5471e7d00407f94ed22593e06ed6c4e674f92e972ed0e8718f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Database/UniqueConstraintsTest.php":{"size":2595,"mtime_ns":1782728407208978278,"hash":"aeaae84730fbdecfb8337f25283653d3867d3cf50332e7bea917c946672c97cd"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Doctor/ClinicDoctorListNPlusOneTest.php":{"size":2457,"mtime_ns":1782728407209223988,"hash":"705820b9d1590cf2f642e6ee7391a651536104c92acf39f261e2df71516ed55a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Doctor/DoctorAddressOwnershipTest.php":{"size":1313,"mtime_ns":1782728407209479490,"hash":"8fde8b4d6db03191fc8d650bf86fa6962956b504013b76a55c4e5ae791e47c38"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Doctrine/RepositoryClassMappingTest.php":{"size":1573,"mtime_ns":1782728407209727575,"hash":"5289139754fae16d85a09fcff134ceef249968876f029c180f36b1c7d53bf5d5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Insurance/DoctorInsuranceOwnershipTest.php":{"size":1486,"mtime_ns":1782728407209989701,"hash":"9231aaeffd13bf27869e74186679ddd38d1f6ebc9c52d36a8dad9b589bea3ad0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Insurance/ServiceCoverageNPlusOneTest.php":{"size":3714,"mtime_ns":1782728407210225203,"hash":"dd8ffa7d6329453fa49a9403b95a13556ad08dd318c89733a202d9d6c8ecfa4f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Insurance/TenantInsuranceCleanupTest.php":{"size":3021,"mtime_ns":1782728407210448121,"hash":"986643979f19f6a7ee71127782524852eb9eb163b77db793253e95b8df534675"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Payment/PaymentCallbackAmountTest.php":{"size":3356,"mtime_ns":1782728407210719081,"hash":"1b32d36a573652e1860ae2ceaf20ead7eee9cef0c204c9d4875ce8926849e278"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Rating/CommentListNPlusOneTest.php":{"size":3794,"mtime_ns":1782728407210931374,"hash":"473c67b119935570a66ab5e75cc36311f04ce314729e75bf44fd337bacbc4535"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Rating/CommentPaginationTest.php":{"size":1836,"mtime_ns":1782728407211216876,"hash":"7d11e7ba342faf3c69e5844c1adab2aa7583b201737d16e0724d9233d00ad1e6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Representation/RepresentationCommissionTest.php":{"size":2548,"mtime_ns":1782728407211506878,"hash":"26b9f23b2462b30adea512eeb07f92f4db597a60c0ed3610a4169bd22f7c6c26"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Secretary/SecretaryListNPlusOneTest.php":{"size":1592,"mtime_ns":1782728407211848922,"hash":"bce8c0d2597c3641885ba9322eb03bada116d979e3bd7a0b4c90d5208fdd620c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Settlement/FinancialBreakdownIntegrityTest.php":{"size":1173,"mtime_ns":1782728407212105424,"hash":"3e987494345d3a7c1cc90de7b27bfcac7bc45bb54e8fa0a7a3f790bdfa406aaf"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Settlement/SettlementListPaginationTest.php":{"size":957,"mtime_ns":1782728407212820054,"hash":"74501df43886dc66c5fe19f849549a2194644dc948d94856f97d0af17c0d179c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Settlement/WalletTransactionsPaginationTest.php":{"size":1087,"mtime_ns":1782728407213026555,"hash":"8df4dfce9a91d73297d88f22e047a4127fee2b00e2fe1bc8f43eed2ff805fae9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/ErrorCodesTest.php":{"size":1547,"mtime_ns":1782728407213280973,"hash":"bf392c01cd7a70c25efe7c4ad59ffdb4579b1216576d58393c3a965524360f0c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Smoke/InfraSmokeTest.php":{"size":1444,"mtime_ns":1782728407213624767,"hash":"d8d4a8c5688d7ed7168570bfc39c3cf038e2c43324498dff3239f5668afa0a1f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/doctrine_object_manager.php":{"size":479,"mtime_ns":1782728407213800685,"hash":"7a99fb0ab55d30b31cdebe923546775d6372a0aa6e731b409c37fb8f98671f5d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/admin-spa-adapt-backend-audit.md":{"size":8798,"mtime_ns":1782728407083687268,"hash":"f7e83133c40658496827e06f6182a995ccaff35018d83b7ee8aa32aba25a03fb"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/coolify-docker-production-hardening.md":{"size":13443,"mtime_ns":1782647901236299599,"hash":"74228033d085f739ed39f615762ad721c6b3678122d0afc3f988676c4b514589"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/coolify-symfony-deploy.md":{"size":18877,"mtime_ns":1782409236333930026,"hash":"a81d0aa4535ae4be51f69d47c5101f7a72415654ded3889e01f1baf98718715a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/full-backend-audit.md":{"size":11545,"mtime_ns":1782728407084760233,"hash":"448fb57a5fdadd9bb3176b1570c0421b6459bbf2a5bd69bd4154246ae0c61285"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/home-landing-copy-and-mobile.md":{"size":12400,"mtime_ns":1783500476952532681,"hash":"761c1d9fe055e628d59a006628f52163f49f6cc3499b6d7480baa67386ae8b88"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/split-db-redis-to-coolify-resources.md":{"size":12357,"mtime_ns":1782632977626228125,"hash":"6d87685ede07fb029b01d211fa82bdb7311bde9eb31ee9869992e6c49da5c75f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/DEPLOY.md":{"size":11539,"mtime_ns":1782647901238565498,"hash":"39797d5439fd4fd0fd19ae7a5b033febf0fbf6b58d07fdd1750d3aa2799b9163"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/audit-backlog.md":{"size":19190,"mtime_ns":1782728407113021215,"hash":"63afb7aaff2eb3113700644ab9bbfa07562ccec38cba4c77c0f21cd9acb98706"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/deploy/coolify.md":{"size":10378,"mtime_ns":1782410984792896284,"hash":"f1d06d336c14b8df1530ec41dd80021b40e7113be0895504f9dda70b112a1cdf"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Controller/SeoController.php":{"size":1860,"mtime_ns":1782728407203067196,"hash":"df1028d7b1b294928a318cc7c27de5ca99b00d583d81ef6f400494c22380b6a6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/liara.json":{"size":638,"mtime_ns":1782743447395127690,"hash":"337416608afe2e6e989bfd903bb5bca1e977e6f8eb5cc02ca05a46bbda53edc4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/liara_pre_build.sh":{"size":559,"mtime_ns":1782735663785720587,"hash":"d9b9232a0f115eb1d752c2b149a5224ea030fd04d3c92ab964d53a6701d5e0a7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/liara_pre_start.sh":{"size":1063,"mtime_ns":1782747838542662883,"hash":"c5d143014bb281d056f6c286cf66faa4894b059584cceeacd150b01648cbde52"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/admin-spa-test-suite.md":{"size":19691,"mtime_ns":1782728407084188354,"hash":"73ad644cede4254811fab6f825750f127edb1b5f08b8bad25b99b85c097a9556"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/deploy-liara-docker.md":{"size":14106,"mtime_ns":1782732118990034632,"hash":"1a5f6f8bba054ea974f99dc5c01aeb19ed1cf612c3fd18a700bc03beaded2b5d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/deploy-liara-php.md":{"size":13353,"mtime_ns":1782735439025822952,"hash":"39f30d7c6d20b1869f5f06b2b532071e94b264f4bddf248c3cf84c62159ed86c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/deploy-liara-php.md":{"size":10664,"mtime_ns":1782736008651392836,"hash":"65c93d7d9e14dd468b75c5c81dee1ae6438d267253e8ad295953d3746d68d250"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/deploy-liara.md":{"size":8919,"mtime_ns":1782732335270881309,"hash":"ade1392f7cf72c544736a765b03140858e45cc5f12a480cd03ba4628af17e84b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260629161536.php":{"size":1115,"mtime_ns":1782749766472631367,"hash":"c0e9b10f345c3d894d27267c90618903fab9693fd4be3542a755fbed3787fcba"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Logging/AppLog.php":{"size":1707,"mtime_ns":1782749711194459630,"hash":"5b3237552e7ae040e5a3b2a289e8fc0f0518a1df84553665ea214efd36c2321d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Logging/AppLogRepository.php":{"size":1042,"mtime_ns":1782929739410604413,"hash":"1ea5a9d3ace2fce4b476ccb2b0954b06f3d4c364fa9e7aa9d77c25a8a6631d1c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Logging/DbLogger.php":{"size":3546,"mtime_ns":1782749810227775663,"hash":"4d5328c774fe4619eb75f9de434173ae4a4b5ca53f7729383399b12c2a222805"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Admin/AdminLogsTest.php":{"size":3156,"mtime_ns":1783664104075507029,"hash":"c7f6f6958ff7097db77960d3d29e72ba9563bcf13fad264ccbd8af92b989dc5d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/DbLoggerTest.php":{"size":1768,"mtime_ns":1782749879165982208,"hash":"48db5c733cc7e02a8a226fc4ed552cd5282c91d400dc72b32f3f122c127033bf"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/project-wide-logging.md":{"size":14450,"mtime_ns":1782749549958444881,"hash":"3970d300cb4b804fed477773b47b653edb7aa3754b8cefd0e3f7d31a49417e6f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Controller/CategoryImportController.php":{"size":3511,"mtime_ns":1782843840412881578,"hash":"721aecace95083433388fa4205e063cb45867b202d5430f44c1b0bbb1faa4465"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Category/CategoryImportTest.php":{"size":5536,"mtime_ns":1783499837163827969,"hash":"d80eb9b3053cccc4a29926832b4839ea7d17ac6fbdcb342dfd251b2130bd1c41"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/category-import.md":{"size":5741,"mtime_ns":1783500035987979007,"hash":"48be2043d1b5dfe9b37580383626be174696d5735c51486220080c10b89dd5b5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/seed/cities.json":{"size":50422,"mtime_ns":1783500944157597451,"hash":"473d523b14d8547b6262421099146299a580664c5ac61082eb835a4c1c18462a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/seed/doctor_services.json":{"size":46716,"mtime_ns":1782843868777989827,"hash":"3a5610d926bb9581c868449c387e80feef104aec7c9bdc6ed39835e87c287015"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/seed/provinces.json":{"size":4364,"mtime_ns":1782843868770610383,"hash":"c28e9c29f212ac946af73f8122b545bd3761766ebc2c8e0a47567ef6a9fc5197"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/seed/specialties.json":{"size":18764,"mtime_ns":1782843868775505763,"hash":"9bcf8a9b8f83e159a290b14c13b17b485185812c9e53ef62df4e33f84b216e47"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Command/SeedCategoriesCommand.php":{"size":2775,"mtime_ns":1782843891881834765,"hash":"13a71e6dab76fcb921270b6e2f996145b78e3c09d69b38592612a879707d87dc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php":{"size":11859,"mtime_ns":1783499652565190714,"hash":"90101a086fb74c753ac6f26202ac1f850a6dda487f46fe489d456458596c6487"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/production-fixes-cors-payment-gateways.md":{"size":15490,"mtime_ns":1782896794174529460,"hash":"4a016b326e836f770e919fd1f5d3bf3f5f70fc4dd7aa9676c198e9b7e63f7b91"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/qa-full-system-audit.md":{"size":15299,"mtime_ns":1782894418024832296,"hash":"8cccd87e3d45acefda119c2e63b85e013e60943b2524a9bc2e9b62074c9bb9f2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/secretary-welcome-sms.md":{"size":8951,"mtime_ns":1782902722286387081,"hash":"05b7b6fbd16251df4d8049e99a7692e0fe3245c4f8ad6f0188e7f0b79fb92f4d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/sms-settings-apikey-env-only.md":{"size":16545,"mtime_ns":1782893768608578413,"hash":"dada8658d0861aa23bbca638f3f832a420d16699a71a02d2dc6358bac834538e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/qa/full-system-audit-report.md":{"size":18928,"mtime_ns":1782896060811421986,"hash":"0053ebf6c21b4a5da087f668332ebdacbceef6a781cd3767155d08647b165b9d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Logging/Command/PruneLogsCommand.php":{"size":866,"mtime_ns":1782929791849281801,"hash":"e80ac76c51bb7ac78fe69679cbe82454f65f5ba6b35d3b3c3a01260698c35c6d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Logging/LogPruneService.php":{"size":883,"mtime_ns":1782929784989711179,"hash":"9fe084116ccdb7a551ccae4c8d48626f7370549ae386e31c112cb579d8647ba6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Logging/Message/PruneLogsMessage.php":{"size":73,"mtime_ns":1782929786004422877,"hash":"d060dc486c8bcd48d507d001c65b68f4e3b84eb5cdccede2272bcfd2437ca142"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Logging/MessageHandler/PruneLogsHandler.php":{"size":463,"mtime_ns":1782929788291896556,"hash":"20acb36c09cd00f50865c9d8bd04f8234eb0a76285a744e34d5cd2e50e3f4eaf"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260702063537.php":{"size":651,"mtime_ns":1782974183036403270,"hash":"2d3311a9342c690139154fabd01bcf942f32b1533612dbdf7de677ee04dc34db"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/admin-ios-safari-css-fallbacks.md":{"size":9046,"mtime_ns":1782975691974719871,"hash":"48e210b06690285c3db657ab7a964830ecfc5d826e7624eb0a64df550fdccdca"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260702115209.php":{"size":962,"mtime_ns":1782993164666143613,"hash":"821f2b858cff251eebc74ac92b4b9263c24dbaffaa34e05b03b2324186bbeb08"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Entity/PaymentLog.php":{"size":2358,"mtime_ns":1783010796435723748,"hash":"14cb8d07e807806c11ce8602cae3bcd05b3d639dd8698c78f262136fced58b37"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Gateway/GatewayFactory.php":{"size":3532,"mtime_ns":1783010796436002206,"hash":"587b83007d7a8d0ac0d45c6a3c8108d3e0dde9568168144061e182fa1f7767c7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Gateway/PaymentRefundResult.php":{"size":331,"mtime_ns":1783010796438108203,"hash":"2bc320c00a5049780d14735c7ff72b376159b6535e94c3993ae15d43ad72e548"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Repository/PaymentLogRepository.php":{"size":577,"mtime_ns":1782993118701194485,"hash":"06bcfbcd017b77e4ad6f855cc6f3184bf863fe3f29641fca8c4a8d4f48bf6be8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Service/PaymentManager.php":{"size":20348,"mtime_ns":1783569345780853355,"hash":"8f5af952c994559d4ca21e87957017826685729dd8b5c5bf59c3c9b3c3b02287"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Payment/MellatGatewayTest.php":{"size":735,"mtime_ns":1782984645104304163,"hash":"94d88c7055fe1be78f52d3dcc56078b62bbad4a24a1d7c5ffad6f86e9d5e2c7e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/admin-mobile-responsive.md":{"size":11674,"mtime_ns":1783014366933033009,"hash":"852ccdcc3659967ca4aab8059adec237b69e5fb8416d951b052cdf7eb647f9a2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/admin-payment-refund-reversal.md":{"size":15214,"mtime_ns":1783010796431742588,"hash":"e55052916115c1c67bcbd5ee1f39be8454ab3eb77d82902f271f52433da4951d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/doctor-appointment-notification-sms.md":{"size":7985,"mtime_ns":1783012880392028526,"hash":"16f20ad212e905030ddb53ae8899b9b185eee3bf094ef7782437156a83808f2e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/doctor-experience-activity-date.md":{"size":12376,"mtime_ns":1782978755921887105,"hash":"062541c7937a458a5c0aa4245699f9b6c5343cdc7551aebf36af5e3c1ca95b2e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-admin-modal-and-calendar.md":{"size":9611,"mtime_ns":1782979774560814821,"hash":"fe83975f003f964e3ae9fc1ac9c0b5354ce8cf02fe51ef3dfaee6b3a766a2452"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-doctors-list-location-filter.md":{"size":12852,"mtime_ns":1782977589946540539,"hash":"cba39cdd0c017cb66792a6c4707e1cd9f060c8c03e9f7b16878a0ddae96a616d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/mellat-production-soap.md":{"size":11655,"mtime_ns":1783010796432002379,"hash":"57bef1c36673ed6135d976b61ae551e590fb757e403fcfce8475ad4950ffabe6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/mellat-sandbox-gateway.md":{"size":13487,"mtime_ns":1783010796432293420,"hash":"de2aec27fbadc4dd88f1587822b349985073b32d1c9f09f54642f3d56a21fffa"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/payment-flow-architecture.md":{"size":13171,"mtime_ns":1782992901105315211,"hash":"9ae4872e0ca49d602b246c6c04e97dc6476a3fbbc4bf29c43dee8cca84e8307e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/payment-single-flow-consolidation.md":{"size":12823,"mtime_ns":1782994765480242696,"hash":"4e04a45a73afaa8b4a0c80552519e5cd1dbc641f1b9dbe8e2d70bdb974c37111"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/sms-price-and-wallet-settings.md":{"size":9735,"mtime_ns":1782998857276789821,"hash":"cbb79a9bd90c62fcd753606137f8d384a1cdbb47164c4879400c93919dae09bc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260703085828.php":{"size":867,"mtime_ns":1783069119205310313,"hash":"c627a3c2239ef4caae61a87ac9b189d97886576d9f151b3b64ece5f8e5c5e325"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260705070546.php":{"size":1214,"mtime_ns":1783235160126438474,"hash":"4e02d6033fc62b44eddabfdedabfcecea984630a43bf651af2eb3620a617ee9f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260705072835.php":{"size":2428,"mtime_ns":1783236836060491368,"hash":"5a3681228a5349171fba0c11c024024e75a40d303f6d2695cfa9096a48d8b21c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260705081716.php":{"size":2217,"mtime_ns":1783239466992612707,"hash":"053bcd79fc331f32d94a31317b83fbb4925d3ed129e9f974c935e74925186c68"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Sms/SmsServiceLookupOnlyTest.php":{"size":5242,"mtime_ns":1783456125443604411,"hash":"e6a7bc771a3d4c785af5c6b7db13dca677e1953b2cfb26e604cb353c2e5a6bd4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/clinic-pro-promo-video.md":{"size":10920,"mtime_ns":1783245223582403990,"hash":"61af8b73d12e2eeb2acfa40fd359218d83e1a7eb2187a8dbf881c70c761ac9f9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/currency-toman-display-admin.md":{"size":8321,"mtime_ns":1783060267941162529,"hash":"90c735ff59081e8af302d91dadf9eed20d877f17154cfc1df58c1852bb82f1a5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/expired-appointment-blocks-payment.md":{"size":10679,"mtime_ns":1783059494354544687,"hash":"94824beb21147a04f6d699242d4dd586127ba983fb48d74e73919a2b125b64a2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-modal-portal-positioning.md":{"size":8120,"mtime_ns":1783189568446030666,"hash":"8b407ba218adf3d2dd670f58379fe3ad658b0df9b6c5a45cbf6d54323d4449ff"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/otp-sms-site-name.md":{"size":9080,"mtime_ns":1783070793009698214,"hash":"300c3b5f55738ef62b573163272078d6ac3d5ac0d61393dc9bfbcb75532781f1"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/otp-via-kavenegar-lookup.md":{"size":10815,"mtime_ns":1783151621410073439,"hash":"116fabb2150ad9157f2a59c6b42ab8af4c4100c6b0bfffa8a48a84db50da6d1d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/sms-lookup-only.md":{"size":9841,"mtime_ns":1783421842166664361,"hash":"32a4e3ffaacba3c1a02652cd46380ec298569d36b6938495ff858175e31e9332"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/sms-verify-lookup-templates.md":{"size":17062,"mtime_ns":1783236336652480520,"hash":"d891097629add975bb30ebf1770536544a2df95270359c4fd75471e43be0ff7a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/DependencyInjection/CorsRegexEnvProcessor.php":{"size":1417,"mtime_ns":1783423339918379070,"hash":"610d9a1710e853a246efd84e13cf20944b9d921d162d4d6e50315e8185d34dc5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/CorsRegexEnvProcessorTest.php":{"size":2522,"mtime_ns":1783423530411102164,"hash":"6eca57bd6f1e720d0c8649acded03d3a6f5434544bfb6f6cafaab3e462d542ea"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/cors-regex-from-hosts-coolify-safe.md":{"size":10867,"mtime_ns":1783423233682261850,"hash":"f48fd368e9e878730fe06cfb0a6d201125d6ec0939166dd3e75eeac6c1eda620"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260707202553.php":{"size":786,"mtime_ns":1783455961508537079,"hash":"bb677fe6041e10d486539f4125654adbad48125481c892c44ded8f61452409ec"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Sms/KavehNegarProviderTest.php":{"size":1952,"mtime_ns":1783491609892729695,"hash":"4527c1eeebd79828e19e57ab6b2aa32a144401c40ac10e593f585a00d7e8e9bb"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/coolify-restart-diagnosis-hardening.md":{"size":8796,"mtime_ns":1783497150563049693,"hash":"06e591a50e6b36a2a999a2b3feea53abde66a2edf84f49cebaa7a9da7d0d3cb9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-kavenegar-sms-errors.md":{"size":10465,"mtime_ns":1783491468913393002,"hash":"911e63cefac9708e7170a804ded38638a265a94c2b8f8d7381ead7ba35f7c30c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-prod-soap-extension.md":{"size":6219,"mtime_ns":1783490610538563465,"hash":"9dd5ff799a5932287ed13efd8533b8bd3a2a564db90c20584bfa4890fc6fd6a6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/ops-restarts.md":{"size":12951,"mtime_ns":1783528554195114238,"hash":"a9cf9bc5f68122f8b077138ee8ee76916407a34814806989fa09192962701bd3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260708083446.php":{"size":766,"mtime_ns":1783499693032278579,"hash":"1df2d053159ae991d2efe948e1cbc5e8f5f4a349f9c61fa850cd0a252f57db23"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/collect-diagnostics.sh":{"size":2232,"mtime_ns":1783528559094529355,"hash":"4986640559d6ef107162eedd9eea40a6134b0e8f8e44b35d362a96001b735648"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/server-down-oom-diagnosis.md":{"size":9569,"mtime_ns":1783520770245126273,"hash":"c79306d1d395019b2c945cb8bc26443f1d1a311c82adbca67cd6a53ef6021586"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260709033925.php":{"size":2446,"mtime_ns":1783569345800595414,"hash":"7dc79782c05c144c5319c483ceb318f55afe334c70bdda309cd42f109ef5d352"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Representation/Controller/SiteContextController.php":{"size":2168,"mtime_ns":1783569345800759789,"hash":"987af1ca119180771f6305de4886ee6b0bc49477020e7f9151578d36ffae67cf"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Representation/Service/DomainContext.php":{"size":672,"mtime_ns":1783569345800949456,"hash":"60331aef5f3b52906723ceb6426e968c83172cf728cd8ee8dc098c837fcf1da4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Representation/Service/DomainContextResolver.php":{"size":2984,"mtime_ns":1783571733722936912,"hash":"2b1328889662faa34649c8cccf7c424668eda9ca86179063773ab8b2ff100d0f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Representation/DomainCommissionTest.php":{"size":6122,"mtime_ns":1783571798429778759,"hash":"b1532c1bace1c311a535123c1ce71cd6d3970d33c870fd6aea2909d60bd826a0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/representation-multi-city-domain-commission.md":{"size":13329,"mtime_ns":1783569345800353081,"hash":"55853bb2d2c79fee977be9361d34d981b536c81547093f6e65da782c763388ed"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Command/SeedDemoDataCommand.php":{"size":42655,"mtime_ns":1783570794260767694,"hash":"0eba4d7c312a02ad5745899831c77d4cf3227353770f79e95f11d99fbc6178a3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/seed-demo-data.md":{"size":13515,"mtime_ns":1783570038522232126,"hash":"0d123d7758cafa22feb9cfc8b42976710f2a1234cc684bfb18ca8ed5b65b2865"}} \ No newline at end of file +{"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/assets/controllers.json":{"size":198,"mtime_ns":1781030172830093265,"hash":"c2038f4c739d4a1620199394a2ccfdd5c91ef846a0f81048388ffa7b65df091b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/composer.json":{"size":3144,"mtime_ns":1783666096953896975,"hash":"0f897db099d2ec763d97567742429eb682a7b6f955187cd2382b2df8957bd09a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/config/bundles.php":{"size":991,"mtime_ns":1781030790602666616,"hash":"ffc97986a2386074ed8eb1b4b9dcbca2ffa7cc6b3600a6c37e3112d6be39e0f4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/config/preload.php":{"size":184,"mtime_ns":1781009656090972900,"hash":"718612fb509259556db6202d93b5f3b1bd85a6be6d523cdc6fb1d81b569ce256"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/config/reference.php":{"size":105233,"mtime_ns":1782645766235591855,"hash":"a2030203ccca39bf435675e884e805a2bc3db13ddfded1d346ac649bab6deeab"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/create_test_users.php":{"size":4062,"mtime_ns":1781168063674077630,"hash":"35e828a0495a0a4aaa7539781076edff3b0af2e88562ea0ae1299cfc17fa91b6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/city.json":{"size":48958,"mtime_ns":1760953552261818528,"hash":"4c321bdc22df2c9e02e37cb3c1a44d792710e94c53f0131f14e88f0ba60cfbf5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/doctor_services.json":{"size":42359,"mtime_ns":1781085019042251229,"hash":"086809f01c4c6e77ab1161688bd03d60ff524735d0d7655cb0daa55bbb53875a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/import.php":{"size":5488,"mtime_ns":1781089058225002885,"hash":"7f22b1eef5dacde90d1f87178f5b446df06562e86331f2b1fef0672da6d33fb9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/seed.php":{"size":27683,"mtime_ns":1781090517391813278,"hash":"9f68801870c368286543040b482a6a8e9773a82506565226d705c0b410873025"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/seed_finish.php":{"size":10806,"mtime_ns":1781091340487318516,"hash":"f36f97df126491fcfdc438f289489a189bbc58b7fa5dc61e48a40edefb77c623"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/seed_full.php":{"size":42270,"mtime_ns":1781091251098443866,"hash":"da652ff8b7513cab398dc4f7d6dcc92399ef0507410f466a72929684aee6abc2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/specialties.json":{"size":16189,"mtime_ns":1781084374016184330,"hash":"de4ba8a0ed9fe595a89be7b4113ae37bddd5dcc5e59766f4cdf7ec34cfd44dc6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/state.json":{"size":1708,"mtime_ns":1760953552262399793,"hash":"3678b80abe63c2c45d0ef5f5cfd63cb46f5bcff7cb6f73fb3c8d188ce24d0242"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609130407.php":{"size":1154,"mtime_ns":1781010250896191835,"hash":"d9130e4e0fcecbfc302da5ef3184d0665ef9844067e63673b091dc6b09e5c432"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609131304.php":{"size":8945,"mtime_ns":1781010908745260477,"hash":"d8db037c64d216c9d6e3018caab7c9a4966abfe31e41794f43728ac0bd3c11bb"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609131553.php":{"size":1477,"mtime_ns":1781010960853107810,"hash":"1b3c9ad833965008985bcf3f6a1894e400bc58bb0a8de2b6bc159c31ecdcca5d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609132009.php":{"size":1986,"mtime_ns":1781011210879944205,"hash":"95e296cf289224cc43748507a9496f493d0e25b829a9e3d8bb8567f6f022d378"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609132708.php":{"size":5572,"mtime_ns":1781011630935659766,"hash":"d3211b9b4b08ad40b543052498b4ad7adeb034ffbabc4a83f761807df8e2fe9f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609133121.php":{"size":4855,"mtime_ns":1781011890870506406,"hash":"fc65641b70ce6d9bb2409aeecccb580333685ba71bcdddb72ea185fc9b717e9b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609133334.php":{"size":1529,"mtime_ns":1781012020936148882,"hash":"d2753baf2902d723dba6ef2928c65627dbc4f006c5493a45182b450fb4598fd6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609133546.php":{"size":1688,"mtime_ns":1781012150911850095,"hash":"98b56edc2e31c609f70d82d1e697c6598f3c65c4120d4e77510d19c0030e9d87"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609134112.php":{"size":2830,"mtime_ns":1781012480955463648,"hash":"ffb5700205e312f10728cd20f9638450cd2195df9627b5b51f92690526214845"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609134741.php":{"size":1789,"mtime_ns":1781012870832220674,"hash":"eb2a55b4f50f4fd58288452b71dfb5e190958cb8c775354dc9c9f99c929dfff0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609135126.php":{"size":1922,"mtime_ns":1781013090876422882,"hash":"a736efea5774baa48ac87522442943580e9ce47cab3479e1033e71fc6131eae5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609135514.php":{"size":1449,"mtime_ns":1781013320954994440,"hash":"e3901078cc23a4e9ba6a7b748e32fc1a04f888c8d5680da5100b26a56dcd0559"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609135704.php":{"size":2558,"mtime_ns":1781013430957508206,"hash":"6ce6851d5331c07c1f13c94f475a7f6823551927ff0b7ccfa8fddec146e69fcc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609135923.php":{"size":3457,"mtime_ns":1781013570869080544,"hash":"b7a581c53e463fa8bfb6a7ccdd65d75c2146aa3b8190852a84a15ad2c8d3bf3d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609140223.php":{"size":1590,"mtime_ns":1781013750963170886,"hash":"c0c011d8f3040d2b81dff1ec667f2d650567eb141271ff4d368ed66fdfef9342"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609140423.php":{"size":1535,"mtime_ns":1781013870906972885,"hash":"0fb344e74f64622b3ea3f4a29e8b6412f35ec60ee46cd25abd5ea3e0abc8c299"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610062539.php":{"size":826,"mtime_ns":1781072744933894396,"hash":"c9a4bfd06b4bdb00f74c6a5973acbea2b86b4c8ab64c8d28c730dcdda5bc0e88"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610092558.php":{"size":780,"mtime_ns":1781083564938987613,"hash":"7b3ae1ae82625519d5c7986d542c84dc5c37949ac4f3a8c356191dc480b7cc0c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610103401.php":{"size":20904,"mtime_ns":1781087803230706453,"hash":"f54443ba8ee1b2d436f3e2bdafcdb026b5b3c8dae9941623fb401792aa68bb85"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610110039.php":{"size":817,"mtime_ns":1781089244896521926,"hash":"a68634b6818f1b331bc2232ff9429792f11a7090ef18315754dbb5feec3981b7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610110921.php":{"size":1611,"mtime_ns":1781089784421230793,"hash":"2f112d7fbfee7d1a0ec047535854cfb1bf8088099d4f5219e23f9458380f90ce"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610111254.php":{"size":1109,"mtime_ns":1781089984946035862,"hash":"2c68d5ebfef56abee588aa5abb74a571918a0ed04eec7be7ea8039d9a12046ff"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610113711.php":{"size":1499,"mtime_ns":1781091448606693864,"hash":"4cd9c0910a49718627e7ea3c5f6f448e6508e609c70d643e160a6c740937d13f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610140853.php":{"size":5927,"mtime_ns":1782583543657239761,"hash":"02683252b3c23dc3005af00fc6a42cbc360a306c799a88ee722cf1560ba22da4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610175105.php":{"size":767,"mtime_ns":1781113873591904402,"hash":"49ffb1ef4d630a180b47d4b1f42da6c3ddf8283dc93bc192c16060cc093b5b82"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610183655.php":{"size":2273,"mtime_ns":1781116623586431980,"hash":"e1573ba5f962b956314e7e17a8adf8fc3683dc6065c34490b60a25636d7fe4a6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260611075829.php":{"size":3004,"mtime_ns":1782626301195816873,"hash":"b3ba50cb2690810d8fb010f0ede4cf92906376908208bf0093512752d72fed76"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260611083424.php":{"size":881,"mtime_ns":1781166873770630956,"hash":"38e49fefb94b0029f3a10ac5aa846f341e47fb69686ad6d23c4b324de4b5e218"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260611084046.php":{"size":1410,"mtime_ns":1781167246413147688,"hash":"ace825e63afb52cfc794f24547a03563c501cb951545c1a8fe50e2f198e11572"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260612081739.php":{"size":1185,"mtime_ns":1781252261521732569,"hash":"abfc51c67c959f525711c661c21872e6a831079510241c197b86175623bc217b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260612132848.php":{"size":1667,"mtime_ns":1781258338612526059,"hash":"c3d155690c12d3c3243190dcc759adf44cdf6a727b3b2563ba50caa78fd2a3cc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260614181134.php":{"size":1715,"mtime_ns":1781516938570601065,"hash":"4febd40d1e647abbd00413dbb51dc59d5f73d15a6d54d7668d08861f2e6c2d99"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260614181629.php":{"size":3515,"mtime_ns":1781516938570859523,"hash":"c8a4a0b22f709c3ad72760ab89c787f44260064e9d3222449292133d85b27862"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260614181657.php":{"size":4760,"mtime_ns":1781516938571506442,"hash":"3f5f75cf96210cabb9a36a61036acb7bea5fd01466b367725995b9fd52bedb2c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260614182549.php":{"size":2122,"mtime_ns":1781516938571645400,"hash":"1fc5633381813d3939e8513eb233bfd9c24797537a8348bc83e1f29c2b41e311"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260614182950.php":{"size":2545,"mtime_ns":1781516938571764692,"hash":"fd126b1e4e09b2f3433242d40992cb2a829d80a357faa87bf922d86bbf514c2f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260614183527.php":{"size":4022,"mtime_ns":1781516938571888567,"hash":"98a07ace9623c623dddcecb1bf1d4189d8efe1692ba261779b1f9661ac07ff25"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260615060415.php":{"size":851,"mtime_ns":1781516938572128193,"hash":"0231ff42cfb43dd4cb4ecfaff3e4f1d285d30fdd87a120fccc6046fac3d1e040"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260615061938.php":{"size":981,"mtime_ns":1781516938572427735,"hash":"1ac836b1d7089a2dd47756eb7ba0e65801105e2dda52aee3f5df981daa57db88"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260615074107.php":{"size":1712,"mtime_ns":1781516938573278653,"hash":"f16f0d0bcf5a4646bcaf98725563639c8ff8b4f2a6d8cf9b8f6a0e7bfbe4c39d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260615142236.php":{"size":1117,"mtime_ns":1781535498215147916,"hash":"27e62ea86a4f3aa8539bd976213f57efbd6eb36b8aa4798fe52f2274571941c3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260615203529.php":{"size":1746,"mtime_ns":1781557035803907615,"hash":"b735a483f4db548f9613dd6d5efc8489f1a14559737b39f5fa9ec395f6ad21c2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260619062912.php":{"size":772,"mtime_ns":1781850555276849213,"hash":"7803c7d2fe66171063a19937794a6630d34dff563450bbcead5fa6051866ca2f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260619121047.php":{"size":780,"mtime_ns":1781871054836536786,"hash":"5b96978f092d4e81b6b9ca61e2a5d5a53e51f1b9b8bf6be43f38cc462371a252"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260619170105.php":{"size":1000,"mtime_ns":1781888467242271818,"hash":"24b56c5edca5c601b008f28dc8b642de32dceeeb408ec38cd5e3f7c40c3ce4f3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260621084558.php":{"size":774,"mtime_ns":1782031565107938146,"hash":"1a88683010bc9f3571111e2c63fceda2062724f08e0c93a8519405d4ed8bf33c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260621094624.php":{"size":774,"mtime_ns":1782035186037116338,"hash":"846706a2c43ed5b3354ff1ebc8d0eb9d9c7dcaca94802f6b8ae4d4653eb54fc9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260622160119.php":{"size":779,"mtime_ns":1782144086923054995,"hash":"d1a46bd2a54a9e9f55a692342bbd1bc49add55e4c29368fef1c0fd6d4f8a9292"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260622163152.php":{"size":1377,"mtime_ns":1782214545724072190,"hash":"64ff3985f32d0d18646d441f0edd99be402305cbff68d66519dcb196e17e42bd"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260622171538.php":{"size":1410,"mtime_ns":1782214545724191815,"hash":"42c0bfb273a488f98079a84f3331c2000ec0018e5c1a748a4f76481853fca168"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260622173707.php":{"size":1491,"mtime_ns":1782214545724314524,"hash":"e7ca8699e56c8ce50350006668b7958af1be4663f36620a12ce34dc1fecea6e1"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260622181251.php":{"size":1171,"mtime_ns":1782214545724441066,"hash":"9a5233ddd9873b485bfcf9b9009619a42cec5bc0a4516d98a387b42a249aa0c5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260622184409.php":{"size":2212,"mtime_ns":1782214545724627733,"hash":"caa199786e4c7016e4232e653b063278fe809536f4eb2b42305e3bd30beef290"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260622185948.php":{"size":2005,"mtime_ns":1782214545724826651,"hash":"7048fe9c1439b52f85abf3186cf4eec913eb873e8ac6ae1154712adccc327b83"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260623115721.php":{"size":779,"mtime_ns":1782215846636875546,"hash":"4c8e43a5be46030c087a8679b9b84e8cf58b4174e9228f94fa02dd0d3f2e5990"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260623173907.php":{"size":779,"mtime_ns":1782253591740927223,"hash":"237d660c556b7f37176854a98f02cd114fafab9405f9ae4945a8a75941928f8d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260624030339.php":{"size":916,"mtime_ns":1782270223182271448,"hash":"a97dc816b64080ab3aabd67347c2161faff7090629810a6db13c051991edd8af"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260624092459.php":{"size":2059,"mtime_ns":1782293101374459999,"hash":"44b5621ce383ac7cb1cea47d7006f3c2b0b47bba8d49f59c78a0df4f737f8482"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260624093738.php":{"size":1266,"mtime_ns":1782293867202071491,"hash":"dedb9cb5586cb39f3d35af323fab3e41ff8e63ca961cdb98b8a7beabd113c8af"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260624123236.php":{"size":809,"mtime_ns":1782304359030218634,"hash":"acb3129833c4f6b1ec99f90496e23400de1df0624f1dbbba5077a20500a38548"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260625135132.php":{"size":780,"mtime_ns":1782395498606655159,"hash":"a1c3aafeaa1761bfaff51ae0c523a2781cf359fca511e7aa8bd294b70011a9a9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260625150304.php":{"size":1990,"mtime_ns":1782399813900039403,"hash":"87f84613f1b928abd28cf7502c4572ebf7599d0c47d3c97497a5d74b9fb2c983"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/package.json":{"size":2380,"mtime_ns":1783666097006385238,"hash":"c2185822b43db5ca6a54b83767776d61b6602130d3d66920219a7ee30faeeeaf"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/public/index.php":{"size":206,"mtime_ns":1781009656089267135,"hash":"6609137ba6c6187032cdfd84e9d39097732d861414157cacbdeb77b2b271ac8b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/public/manifest.json":{"size":851,"mtime_ns":1783067213231257247,"hash":"ffb0ad60c98078073b6590566e106ce7f1e2d0a830fe67fed83566e3a9614728"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/seed_realistic_data.php":{"size":24320,"mtime_ns":1781519949285784202,"hash":"2ad075c6d333a42f3ac51adb0e1d8b444f64f3b5a01bc87f53d9522cb272ce68"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/seed_test_data.php":{"size":13557,"mtime_ns":1781169644756523490,"hash":"d5bbc3b4a96e7abf610d9cd63da61dac6b73bdd97b5672eb4ec191bbec2255e8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/skills-lock.json":{"size":267,"mtime_ns":1782232921467371596,"hash":"4b889910ed363cee9dbd7da20e9c0748ddf40dd483ed92b5e581ebedb506f179"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Admin/Controller/AdminApiController.php":{"size":109139,"mtime_ns":1783663902017617470,"hash":"a9f43467a79de3366505fa643850b2cbd96e37bb265b652720f1a2b30340a317"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Admin/Controller/AdminController.php":{"size":490,"mtime_ns":1781030416417456388,"hash":"7d18322ef916885ae0181a7b9dde07ab07d08bc49cbf72669f50e5268ffeef62"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Command/CancelExpiredAppointmentsCommand.php":{"size":920,"mtime_ns":1781551622411049671,"hash":"3b56ad9741a4349bd249a4a4e320f7195c320fec9a96ccde6da5b8f75d87b32d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Controller/AppointmentController.php":{"size":24353,"mtime_ns":1783569345778808353,"hash":"416d314362c1793e98f5009fed41ee441fb4bf5d01de9b11018bd2fdbf407ea2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Controller/AppointmentSettingsController.php":{"size":17714,"mtime_ns":1782728407188976018,"hash":"213d1b93ba08882b32a47b70be27553aae4d53bf92fcdb66d2c2876e33f0eb6a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Controller/MyAppointmentsController.php":{"size":15723,"mtime_ns":1782728407189591731,"hash":"36e9472f0cdcf7178c898629a676f50452d0572c9dfc7f6c0d3f91a602716a0c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Entity/Appointment.php":{"size":10213,"mtime_ns":1783059631681371250,"hash":"71772f7b52621ca23f103b0badf87b12d25c430546a5adf6782758c47fc5d0b2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Entity/DateOverride.php":{"size":2925,"mtime_ns":1782728407190402153,"hash":"c59fdb6d3f05bdb6cd558bb74e701897aa14947acafadb64943469c19fe696f0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Entity/Holiday.php":{"size":2953,"mtime_ns":1782650883604011152,"hash":"45b9c56571e20dfc0cabc789b083e2099273efbe5c0a589268a7f5e35106e631"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Entity/WeeklySchedule.php":{"size":3519,"mtime_ns":1782650883602991274,"hash":"ac7a64333676e95bd5f9a78c22fe0f83fcad6bf96d65ae2605685ab8c01ed453"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Message/ExpireAppointmentsMessage.php":{"size":85,"mtime_ns":1781551622411423796,"hash":"094a07b7c7552dd1c2812e066ae7e9cde6dc6bc9ca4ef07e11b82f8feec45fd6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/MessageHandler/ExpireAppointmentsHandler.php":{"size":504,"mtime_ns":1781551622411619546,"hash":"8981c0048e84b26121eb8e2a6e1f9913a7d61d958a48bc4bee113df6c0c77a80"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Repository/AppointmentRepository.php":{"size":7660,"mtime_ns":1782728407190649529,"hash":"293ee69d87a2ee0421f6a4f73ef854b9fd7d261642ac34795a453438ac762b39"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Repository/DateOverrideRepository.php":{"size":1119,"mtime_ns":1781012268350237489,"hash":"f383ecc7f0712616f9969689e3a2011faf49b3ee6c2ec3fc6751f0e93560df91"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Repository/HolidayRepository.php":{"size":1768,"mtime_ns":1781099253934669137,"hash":"f886ede4b1998bcbd43c335af00c205c410cfe7bd74b17c12add062b12b84d7c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Repository/SlotTakenException.php":{"size":101,"mtime_ns":1781535498216404171,"hash":"e6ca84966b94b947c7df53646b8a0c5b1a5f5564d144e2b0e00b7756c97d718a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Repository/WeeklyScheduleRepository.php":{"size":1480,"mtime_ns":1781523180068721029,"hash":"8a3deac81ebf1b16b5221f172aeefc9a45009658b7820e6e8597a589ea3af936"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Service/AppointmentExpiryService.php":{"size":1834,"mtime_ns":1782728407190939073,"hash":"0e08a53cd50f1fa75c2998ce2d39400cf116f1e7d5632015fefd589ca730e771"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Service/SlotCalculatorService.php":{"size":11056,"mtime_ns":1782217986438154633,"hash":"b42aeef988db241ca6b6bba68a3932214b3a0bcd6b89e1185883c7a52ee8be3f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php":{"size":36527,"mtime_ns":1783666097009341482,"hash":"1e979b2ea4c50ef051443cc5bd9f5351ac5cc9d8934c67c0c0319e3b36fc3d8b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/NotificationMobileController.php":{"size":7242,"mtime_ns":1783237168983222014,"hash":"e87024acef4e93a1bddbdd8545b41f9130635d605b1a327ab4ac11661585b71e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php":{"size":7923,"mtime_ns":1783666097012409392,"hash":"51e53996bd81dece6745b657f1728dd6e02e1dcafe6171f84761e9624dcd0f60"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Entity/MobileVerificationOtp.php":{"size":1930,"mtime_ns":1781167196281533241,"hash":"511faa2e0698158b312aa66c5b7d54539963056b011200b3a7b86a65651e56b7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Entity/PreRegistration.php":{"size":3061,"mtime_ns":1781252232305967808,"hash":"74a388c7ebafa889c4428ba1538ac46ed8f1f5c6ef5a34975016f85a128c5f40"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Entity/User.php":{"size":4972,"mtime_ns":1782728407192144123,"hash":"83e9341f771214eaab94dd7c4f0aa2de0e5c0528a0fa5eb4927659f94bc7ddf0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Entity/UserActiveContext.php":{"size":1160,"mtime_ns":1782652951356493481,"hash":"1c60c30e2800176bb2dde9730607d081f2fa1a05f8f6ee6e917ad256bcfa73cc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Repository/PreRegistrationRepository.php":{"size":842,"mtime_ns":1781252241014651656,"hash":"050d7fae8134856aeccfff39607f5cfb44e8b923e13d0235411a577b78a6f96d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Repository/UserActiveContextRepository.php":{"size":952,"mtime_ns":1781164699567301035,"hash":"22c3a507b65fe3f858806b1d7bed15411be794586278ddae7ac5ebe09782bbd6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Repository/UserRepository.php":{"size":1023,"mtime_ns":1781010107490769863,"hash":"748b70a06bf6833d94e5168e4ebc06ad7faf0dff67f5f099f595f10cf4f59137"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Security/PasswordAuthenticator.php":{"size":4195,"mtime_ns":1781946748878509164,"hash":"abec4d9e6782d2833c1eb7862460130ae093b20b5afd4e1ca468f9ce784b53ef"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Service/OtpService.php":{"size":3747,"mtime_ns":1783236682997204096,"hash":"ac8f9cfa6d67decc1ff89d2ed61e9eb2ad2034214c015aa072acbbb66be05e97"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Service/TokenService.php":{"size":2166,"mtime_ns":1782036558107915300,"hash":"3b749587b4c8ffc2d0fcf9a266ab32aff75b1681af31e6797d8046dd3ee36713"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Contract/ClaimSubmissionResult.php":{"size":509,"mtime_ns":1782214545726213864,"hash":"5391e205be5e00bf0cdd088d6f9b52427e30e3a5d29d2c0ae39753b15b67fac8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Contract/ClaimSubmitterInterface.php":{"size":461,"mtime_ns":1782214545726346198,"hash":"9286f1fdb68765c4512fa8aa302156a4fc54df7af3fb5d5d1e2d59c24111c3db"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Controller/BillingController.php":{"size":13703,"mtime_ns":1782728407192799169,"hash":"7226845540da9c2d9121eb7e25eab910b5d60d45d0f5dc14321ce9379b079967"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Entity/Claim.php":{"size":6465,"mtime_ns":1782214545726749575,"hash":"85028f866ff4695fa0095e4ba3191a385a63fdb3aa1f3222fda2d94b61d6d39c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Entity/ClaimItem.php":{"size":1646,"mtime_ns":1782214545726889450,"hash":"0e3bb1ebc45d4c045ef0e6fe09170976c315d7da410efd79bdcc53189e9dab49"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Entity/Invoice.php":{"size":6079,"mtime_ns":1782214545727230826,"hash":"02081acac585d1cfaabd1d404b0bb25c7bcf25fa51e32bf986cd75675d14ac24"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Entity/InvoiceItem.php":{"size":3448,"mtime_ns":1782214545727383452,"hash":"63280ec10f55dc16106afecac0784a9094ce12fbd3787a482a75eafe451aa5bb"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Repository/ClaimItemRepository.php":{"size":895,"mtime_ns":1782214545727554077,"hash":"9f606952d141e1db9f444ec80bba343c34a5c39f905f72c53c76d7cc7dc58f89"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Repository/ClaimRepository.php":{"size":5807,"mtime_ns":1782728407193826801,"hash":"26fd73c5de681031611a56b0e9a1140cf3b4c1088059ba954e7c3c8a344392de"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Repository/InvoiceItemRepository.php":{"size":2056,"mtime_ns":1782262433593751772,"hash":"6a2e18c9de2434f67ce2250dc17ec50a29f207b95ca2fc6e2a9c7d338a67a67e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Repository/InvoiceRepository.php":{"size":865,"mtime_ns":1782214545727978079,"hash":"71c55535e6b20d820e351a26af6bd1c1b6cb26c371414e611e8e858c2d8486f9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Service/BillingCalculator.php":{"size":1975,"mtime_ns":1782214545728144705,"hash":"9751645f561446a0d0f6a618cbbeae012f7f2274c5c1fbb4379220b995070f16"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Service/ClaimService.php":{"size":4124,"mtime_ns":1782254015995593528,"hash":"f04e02faaf3d8f49d493c2e77f8f80120e8de353af185e624996c9b14e36267b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Service/InvoiceService.php":{"size":3335,"mtime_ns":1782263056583478624,"hash":"411b9e4e6aa41a158211959c5b9c4c286ada95c8b68596364eca3b1cbf436e86"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Service/ManualClaimSubmitter.php":{"size":771,"mtime_ns":1782214545728543539,"hash":"11064e4cf0182849f67012ead852a3b45c2d8b66693e9680bfabf4094c3b9d40"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/ValueObject/Money.php":{"size":775,"mtime_ns":1782214545728705873,"hash":"97c8de0bcd950f7b29c8f8fb87d33f4cb79bd0b17e531592c80fa5fb5c0e6de8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/ValueObject/ShareBreakdown.php":{"size":599,"mtime_ns":1782214545728844457,"hash":"98b4c746ff1d241697d227cd21bf6a8b010cea93dbf0a219f89910456c511ac1"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Blog/Controller/BlogController.php":{"size":17742,"mtime_ns":1782050215484280688,"hash":"4bc5e62060b6e27970972698933b7e9b6f63a4eba44cac9fd08cabb6d5c355f2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Blog/Entity/Blog.php":{"size":5562,"mtime_ns":1782650883613744390,"hash":"5e6a312d48b1efacb7e4c14b87a658d1ad64bf0d3aefa5bdb2008011cb3b175b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Blog/Repository/BlogRepository.php":{"size":2133,"mtime_ns":1782049659479434537,"hash":"a15b4c1c26d71f5cd0b0d4e3c913702999a475ae13abd7d8eb29ab20e033adee"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Controller/CategoryController.php":{"size":1776,"mtime_ns":1782728407194246845,"hash":"1be28d02d6f241500cc7a55f1a597962d80b5f72c814c9308fd6811029aef714"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Clinic/Controller/ClinicController.php":{"size":34503,"mtime_ns":1783569345779344103,"hash":"94dc860f300f6e0acf241b7c064dac0153a7746dc1c47ecc814b0d98f9748641"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Clinic/Entity/Clinic.php":{"size":12311,"mtime_ns":1782728407194604639,"hash":"d192f3609f782986a1c36a6236066c503364b8d1bb7312c928e7c9ff1a2f5d80"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Clinic/Repository/ClinicRepository.php":{"size":4814,"mtime_ns":1783569345779687854,"hash":"dd99a5ee7f77a83f02171272634c9232a425204b86c18b13e6748549882fb1f7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicInvitation/Controller/ClinicInvitationController.php":{"size":10193,"mtime_ns":1782728407194937600,"hash":"9e968ad47c34e34775e6793301147eaf9768692a8f254ceed37152207ae3d202"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicInvitation/Entity/ClinicDoctorInvitation.php":{"size":5434,"mtime_ns":1782728407195142351,"hash":"44d986e38a0aaff4ff36d621205c7361769814ac64e5e559dfeb02d2e63b09d6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicInvitation/Repository/ClinicDoctorInvitationRepository.php":{"size":1821,"mtime_ns":1781293272835808881,"hash":"10604824317018d8f535539834b9913ef3982889b1ffb2874e4438f848f06726"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicInvitation/Service/ClinicInvitationService.php":{"size":4248,"mtime_ns":1783237201612845423,"hash":"ce837f6e039960c4c885be2aea3ae1ed14c3c98905348c67343fd65fa976f45e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicService/Controller/ClinicServiceController.php":{"size":15449,"mtime_ns":1782728407195387478,"hash":"38d8db77331e6ccdf9e78a54f5f223cd74cd1b83880d40ececcf4cce392472cb"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicService/Entity/ServiceItem.php":{"size":4270,"mtime_ns":1782260462891413703,"hash":"f7c314c5ddc678d4896d358c4b89ee1048c314fe237fb307b1909e44d986307f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicService/Entity/ServiceSection.php":{"size":2865,"mtime_ns":1781516938575505158,"hash":"6fce4d578f8878eb023372cfeeed180e1826274363811165b1623578b8911386"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicService/Entity/Tariff.php":{"size":2497,"mtime_ns":1782214545729589627,"hash":"77a5e0dca59cd5587ab614a2bedd46a0de3485d620a6125f4804db7b688115f6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicService/Repository/ServiceItemRepository.php":{"size":1193,"mtime_ns":1781516938575690367,"hash":"3561e5174c09c2d295bf2b77e3a2692c234f30cfe76b597213ce1bd2ff9bc81b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicService/Repository/ServiceSectionRepository.php":{"size":1274,"mtime_ns":1781516938575822117,"hash":"6e87ff4062b59b4870ac32891b6fd40ab36ed939b3a67959c600a63a0375b299"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicService/Repository/TariffRepository.php":{"size":1312,"mtime_ns":1782214545729721752,"hash":"fece09188f0d746cc7fdc518fb8d63488c77314d629940d1c0969b6f28fc7b38"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicService/Service/TariffService.php":{"size":1653,"mtime_ns":1782214545729910003,"hash":"13d77eda5f22d43badf639d0127bc7252b3adfe6c72657c33423ad5a04f345b2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Config/Controller/SiteConfigController.php":{"size":3598,"mtime_ns":1783010796435138624,"hash":"f2ac3a77ebe11da45b93f24513955f734586b01d2f18cdca5d0849e927df88f7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Config/Entity/SiteConfig.php":{"size":1026,"mtime_ns":1782650883609343293,"hash":"694f1f497f5a3a1095f2949eacd68694eb7e8d6536abcd1bb61e7d788abed158"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Config/Entity/TaxRateHistory.php":{"size":1836,"mtime_ns":1782650883608855500,"hash":"1b50a1ed1a3d72be73df9bce2bcb010e2b90888bc7daa0a312ede4d181327631"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Config/Repository/SiteConfigRepository.php":{"size":2334,"mtime_ns":1782929759660596058,"hash":"5ea072c77a0f25c8ccdd23616656fce0b88b93408c6cd461d98e9b18a6fa85b2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Config/Repository/TaxRateHistoryRepository.php":{"size":591,"mtime_ns":1782293892020820040,"hash":"1161721d41f057cd7c7d820b405a526cf644ade3da6a44a93e63ce9a364a9ca3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Dashboard/Controller/DashboardController.php":{"size":18353,"mtime_ns":1782895903517818351,"hash":"daee2d9b6d06d625e6cab2ea419f7cc5f7ddc2ebfd53f1132502a4029bb71f7b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Doctor/Controller/DoctorController.php":{"size":38613,"mtime_ns":1783569345780023646,"hash":"88e61f95e22344069359621948aab3a9d9b80ad393ffd57df618c2124838ee77"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Doctor/Entity/Doctor.php":{"size":16811,"mtime_ns":1782728407196033316,"hash":"dcd2dd96c11cd47f033dbb41718dde4b0f7fa2a2110f25ba4804b33e37e331e2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Doctor/Entity/DoctorAddress.php":{"size":5470,"mtime_ns":1782650883611537550,"hash":"f42a0409b492abf55f1ed704e65e2273b1a9b7424abf0d2bd9c9507ea9345747"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Doctor/Repository/DoctorAddressRepository.php":{"size":2770,"mtime_ns":1781783246170814153,"hash":"531973c4cf541ba9e8f3955fad4c863ec94f0a5cf84a03c9fa438aa59f979a3c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Doctor/Repository/DoctorRepository.php":{"size":8292,"mtime_ns":1783569345780537104,"hash":"91ff9fe1543497259c0bf018b7fd0ba5d7d82aa5f96bdb8fc46948fe79473b4b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/DoctorService/Controller/DoctorServiceController.php":{"size":5592,"mtime_ns":1782844356167570792,"hash":"4e16c69d4c1e7d4b295ed6840c0b6010e03e8c0c7411102cb63c1295dacc8538"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/DoctorService/Entity/DoctorService.php":{"size":2831,"mtime_ns":1781085550562230229,"hash":"6d7d545954a787dfcf52e2f9b8ccae47a1af55c21a43d3c60ca8c59dbade506e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/DoctorService/Repository/DoctorServiceRepository.php":{"size":1274,"mtime_ns":1781085558665462494,"hash":"79eb3168176aa86043e1613fa832e0a94b683ab7cd5a7553222d88ef9198f4c7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Controller/InsuranceController.php":{"size":25579,"mtime_ns":1782844375135424196,"hash":"81785346450737ea93ec13608e671ec5702072ca36bda0b89666f1497c9e6e68"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Entity/DoctorInsurance.php":{"size":1960,"mtime_ns":1782728407197029697,"hash":"3835c0d26cf2af6937ccb1990a2a097e0696bc03c144ca9863867906de1b3a94"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Entity/EntityInsurancePricing.php":{"size":2507,"mtime_ns":1782214545730369713,"hash":"e0c3664524d71706ffc2c377c20c9ea5d12be0b8aacbe3feaeffe555ee003ef7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Entity/Insurance.php":{"size":2270,"mtime_ns":1781085569269281268,"hash":"bb5c7b593458bca73e6d767909d845c59371d50aefc54d6819b53b036d16d8a4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Entity/TenantInsurance.php":{"size":4767,"mtime_ns":1782214545730514547,"hash":"8f4a4e4087e65a58cdc2444a4584a3a40796948313e4374e1f8a38983385bda9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Entity/TenantServiceCoverage.php":{"size":3432,"mtime_ns":1782214545730644047,"hash":"fd098f4aef57bc0988ca8d17760b0009d2742666fd62fc0ff2ce07fc6b0dab1f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Enum/InsuranceType.php":{"size":351,"mtime_ns":1781085440519759893,"hash":"30ae4d15da752fad6f6fdf214fc764732f372af51c1361fcdd23ccf7cb66d41c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Repository/DoctorInsuranceRepository.php":{"size":848,"mtime_ns":1781011984448803782,"hash":"61e05cda6d846d53a56fe1bc16a932bd7ee1fcc43f8ad9cdc4f8eda7635a2bb8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Repository/EntityInsurancePricingRepository.php":{"size":1404,"mtime_ns":1782214545730775964,"hash":"623b73aedc8f41f9f0ac7d374725808c1c72012956628e15ebde5681f7034dce"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Repository/InsuranceRepository.php":{"size":1220,"mtime_ns":1781085576476951957,"hash":"dc63f462de508c5f6d1fd51b08ebd887c5f79528d5183fc7a792e6cb579e26ca"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Repository/TenantInsuranceRepository.php":{"size":2436,"mtime_ns":1782214545730912256,"hash":"b99e224b9f48a68ebdb627590ef6c9057f3ec7969e4ca2e317378766527785a0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Repository/TenantServiceCoverageRepository.php":{"size":1339,"mtime_ns":1782214545731054174,"hash":"5d8193d5276ee2a12f650ee075fc47f0bb32f32bcaf26f46328b1c7498636853"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Service/TenantInsuranceService.php":{"size":6310,"mtime_ns":1782268410292219426,"hash":"088a8086ca7a8284aa67577aa0ffe060d532f3bbb2090b6c3e3ff0f4730e2703"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/ValueObject/CoverageRule.php":{"size":381,"mtime_ns":1782214545731415633,"hash":"3ce989704beb3ff9aa60cad8460e69a1ef5a411ff0024b7d5541df502f4cbf2b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Kernel.php":{"size":992,"mtime_ns":1782743240249498742,"hash":"3b2fcf35ae459cfe82147916f43a6da872819e946938e0cd330a596a226065a8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Location/Controller/LocationController.php":{"size":10774,"mtime_ns":1783499628812467561,"hash":"9cf15db59545af81148153a4d9c816748ba267bbbb58f9bec2e00d1853c15e8c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Location/Entity/City.php":{"size":6500,"mtime_ns":1783499619365257750,"hash":"f128c29e22de67f0aad93bbee2a111d976f71344f5a3e55614b477bc86d3192b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Location/Entity/Province.php":{"size":1688,"mtime_ns":1781085458710667014,"hash":"3353fa978b6558c945031d0c09a3dc24706f592287978236072c53c3cc13d033"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Location/Repository/CityRepository.php":{"size":1312,"mtime_ns":1783569345780697355,"hash":"bfe69ca9f9bd18eaf159f24e63ee4e6fb88ab3d86dea725e9a7c27cba0f6d6d8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Location/Repository/ProvinceRepository.php":{"size":1071,"mtime_ns":1781085486117016673,"hash":"4572085d4a4e79a86a1c2cfcc89b5cd6268ddeb466878a16db71f60216a6c148"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Patient/Controller/PatientController.php":{"size":15797,"mtime_ns":1782728407197647952,"hash":"0adb531514bb19b3fabe1e679468f731f00cc6d34a2edbb9e887a18c94447bc2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Patient/Entity/PatientRecord.php":{"size":3088,"mtime_ns":1782144029159424511,"hash":"8be2218c1dcc6dd9101278637b469d927567abf3e264d6b8c634292641096dfe"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Patient/Entity/PatientSession.php":{"size":7041,"mtime_ns":1782728407197911662,"hash":"e99aa5f70fa1eee35e78e90f7ea8e8e5f4bc80b77d2de0888eafd91b3ef0fcf6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Patient/Entity/SessionService.php":{"size":3069,"mtime_ns":1782253591741414931,"hash":"d7326f5115c044fe75744a4c6ac0e2d0efca2b4a93e57984483f1c859ffba1c9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Patient/Repository/PatientRecordRepository.php":{"size":3131,"mtime_ns":1782144042914186374,"hash":"c445fbf45f6eb65c5fd5c3f0704e1c972f0a9d9297a80d0dc879165fc57666c9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Patient/Repository/PatientSessionRepository.php":{"size":3665,"mtime_ns":1782268984212730950,"hash":"24f29fe0ee2cade4f4bef5572aa45086f444ab02d67f82d24228de49ccc25a2c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Patient/Repository/SessionServiceRepository.php":{"size":563,"mtime_ns":1781516938578050288,"hash":"24beb2335672cb84cfa5a787618c7907663606aa14262af1b8ee93058c0ac265"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Patient/Service/PatientService.php":{"size":7827,"mtime_ns":1782263039495809276,"hash":"e23289a2e8d04c22a69888e3775e2b851246b28c6e217cf22e8c91e99ada9ee9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Controller/PaymentController.php":{"size":31102,"mtime_ns":1783059694944318453,"hash":"06f9abb6001a7bf771e905db060daf3e5b6e80f67b4e2521ec377a8a59ca8be2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Entity/Payment.php":{"size":5779,"mtime_ns":1782995955189532682,"hash":"f26e537b012e10faaac23f291ccc341345bb2512c3c4496c4bffea3308086eba"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Gateway/MellatGateway.php":{"size":17878,"mtime_ns":1783010796437088205,"hash":"79ddf5f1ee1b38138385106d78b195971374a41970f58f405a53990462819c0d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Gateway/MockGateway.php":{"size":1863,"mtime_ns":1783010796437333621,"hash":"67b67fd5299c1e912359d94dce4c88d5742e2ee324d699fd12333e1a225bcf7e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Gateway/PaymentGatewayInterface.php":{"size":948,"mtime_ns":1783010796437841370,"hash":"fb3512aff2ebfdbe34c6d5eab4e67dfd5c90fa6dbbf0cec8bd23eac0c2e51734"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Gateway/PaymentInitResult.php":{"size":663,"mtime_ns":1782981352831261065,"hash":"e474570a753b56888f8fa5458cf7eeafcf7e4ff390429a5f6612bada28f9b401"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Gateway/PaymentVerifyResult.php":{"size":368,"mtime_ns":1781591920508677099,"hash":"88f08d81dc92ac75d2f0628c60f3fb78b039b9184039592047cc92c58d0db068"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Gateway/SepGateway.php":{"size":4481,"mtime_ns":1783010796438445827,"hash":"46964086d05dde76b1c0e3bc7f3dae8eab8aa1ac6d9ae609abfb3396eae5aa6d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Repository/PaymentRepository.php":{"size":3863,"mtime_ns":1782993112274771320,"hash":"f8e7f5bb986225beb28c2d175a78cb1c2dafdc8b99a60779bc1e04834ad1dff0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Service/CircuitBreakerService.php":{"size":1228,"mtime_ns":1781012993246621609,"hash":"4e04548bbb1ae6b6c17a4206408f3050ad341da5ddcc74d4b1af376b50580911"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php":{"size":22783,"mtime_ns":1783666764412828074,"hash":"64462e603b4569268e25d7f6a989f1b4d9b598a7613405a5d5d0165df2b477fc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Entity/Comment.php":{"size":4881,"mtime_ns":1782650883605327864,"hash":"c43aa389121312d1fe2ba9639e3a6a0ba5fc21f78d0784adb723c26e3afbc0fa"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Entity/Like.php":{"size":2153,"mtime_ns":1782650883604545320,"hash":"7a7937df6b8df47196e035544c1ec78a11847a0a1688114bdb5265adde8d32c0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Entity/Rate.php":{"size":4359,"mtime_ns":1782650883604952613,"hash":"bb8b2b8ccda54b99bd5ab0bd937dc29d4ac840195e3f89fcfc286b5429b2b863"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Repository/CommentRepository.php":{"size":3785,"mtime_ns":1782728407199666132,"hash":"57721807456fc1a9e0c2df0dadb2b4c45cff8a7c2e650c33ff1e4edc22ec9eb0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Repository/LikeRepository.php":{"size":1619,"mtime_ns":1781557035805931490,"hash":"9c2c1575ce7f26c9d2139ab8301fd887658e295f66b4f164b48d050bd43a411a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Repository/RateRepository.php":{"size":2052,"mtime_ns":1781557035806516573,"hash":"5e2c5765f0d67648d72fde8992e1969822df630577e503f9a086dc01960e3f90"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Representation/Controller/RepresentationActionController.php":{"size":41262,"mtime_ns":1783236899056081118,"hash":"73475defd275c9aa8be88f4111486749fce766f658313b0d6fd2a98f7996ee24"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Representation/Controller/RepresentationController.php":{"size":25500,"mtime_ns":1783569345781024938,"hash":"196a7389d6828be84bf9cef772cb40a5240e452e10cf28f161bd84e51d2e8cc8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Representation/Entity/Representation.php":{"size":8158,"mtime_ns":1783569345781218772,"hash":"33f57eb6ea216ea8173d4459cc6df3a2378487bfb7c681b3025c2606bee54ff0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Representation/Repository/RepresentationRepository.php":{"size":2152,"mtime_ns":1783571718895425847,"hash":"a0c1810c03b7a780ba1b14a631b11e0081767fc3e017e57d4b34b62274340b0e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Representation/Service/JalaliDateService.php":{"size":4368,"mtime_ns":1782384877403158726,"hash":"8a1282441580b6b46896c1c52a6ff284279e0e3610da60c638bfce1067450fb3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Schedule.php":{"size":1037,"mtime_ns":1782929801207590724,"hash":"e1ed1b5ef5b6100bcb8a1e0d3e361ce40a2721501cdb5f14aa6fba8739654eee"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Secretary/Controller/SecretaryController.php":{"size":10960,"mtime_ns":1783237220892646662,"hash":"21ce325a02909122b15186e4aaf8609886b5e1401d30e4684efade11540c1321"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Secretary/Entity/DoctorSecretary.php":{"size":5203,"mtime_ns":1782728407201032933,"hash":"7a89e177bf272aa6e20c29d8e39c66c4e9f761daa1875a073525369cebc48193"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Secretary/Repository/DoctorSecretaryRepository.php":{"size":5327,"mtime_ns":1782728407201262976,"hash":"bac031cd09fb91bf156e250accd69b5bb83f2af7738e8394852e746f3152dbb2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Secretary/Security/SecretaryPermissionChecker.php":{"size":724,"mtime_ns":1781012108901602268,"hash":"42ddb598442c2c167950e1a33eeceb551384377427749d0ee3b6a61f152e64bf"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Settlement/Controller/SettlementController.php":{"size":23112,"mtime_ns":1782728407201510186,"hash":"b6f3ad0ae1b555833b87edf0398a96200295160b1c6a57c26e3f751274892c9f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Settlement/Entity/FinancialBreakdown.php":{"size":5470,"mtime_ns":1782728407201776813,"hash":"a0c5e8cc2f0a3597518275c45fe403a188bbfe210fa75da65eee3ebeef594963"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Settlement/Entity/Settlement.php":{"size":4252,"mtime_ns":1782650883606160908,"hash":"36b84f9a63c52cdf4150c0848c4a3fd28a0c7a1aba6bda3f147c3dd9da2f969c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Settlement/Entity/WalletTransaction.php":{"size":3099,"mtime_ns":1782728407202004397,"hash":"d2acafb91806e555535cdbddd5151e71b71561cddf2d0872461285e6d1489b73"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Settlement/Repository/FinancialBreakdownRepository.php":{"size":779,"mtime_ns":1782293142660794730,"hash":"ae9fa6ec3678bedb9574a38678795af169ff793fe2e660d9413fe05ba1523041"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Settlement/Repository/SettlementRepository.php":{"size":2270,"mtime_ns":1782728407202173607,"hash":"9c617a929f6ed0595a371ee05d2e9d19d204ed3eb80bd0df9fe9de71fbf76e2a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Settlement/Repository/WalletTransactionRepository.php":{"size":974,"mtime_ns":1782728407202497901,"hash":"12fdfe848f6eb143b87b09645122480b33a778bdf2d9179fd9d45c27540a23a0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Settlement/Service/CommissionService.php":{"size":5754,"mtime_ns":1783569345781547980,"hash":"2a99307286612b41130a3002490343c9dfde0b0c18906b58f1a6e9e86a1edc14"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Constant/ErrorCodes.php":{"size":9669,"mtime_ns":1783666097015497844,"hash":"f786ca8be38675ac8bf6c0dc71c67a842d6785a4de2a7c3294b6df6d082284ef"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Controller/BaseController.php":{"size":1710,"mtime_ns":1781009861592137456,"hash":"4bd3aa269121a122fcf443aa15c884adf07e0700950135a3e66dbdf27b9c2416"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Controller/HealthController.php":{"size":1190,"mtime_ns":1781009995463320374,"hash":"124d5bfe7f63a910acd5ddab19c0ecb83c9d9005786fcd6606e597e7f6b6050b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Controller/HomeController.php":{"size":409,"mtime_ns":1781248993159620643,"hash":"d08f9d35b78ee68ab06620388e34b709eab59364bd0b84e5d2e1478f45310970"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Doctrine/JsonContains.php":{"size":1061,"mtime_ns":1782050362337187655,"hash":"bc76253c31cf5a3bb23264736171549281989a4d9915b05a303647324d5aa4e3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/EventSubscriber/ExceptionSubscriber.php":{"size":5579,"mtime_ns":1782747822711536821,"hash":"cc3e848cbd0237379c1c26afed58de7230b93b095d87ca672ffc16e88a7bac40"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/EventSubscriber/SecurityHeadersSubscriber.php":{"size":2575,"mtime_ns":1783010796440870365,"hash":"7562c1a0460eb6831ccd6e2ff396ed01256672933fc480a9454dfd202efd0d55"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Exception/AppException.php":{"size":637,"mtime_ns":1781009868466892123,"hash":"7956e81fe8e81b642076d55380a796ca70431e6c3880db06d2fc264c8b078f82"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Message/SendSmsMessage.php":{"size":235,"mtime_ns":1781010000546687126,"hash":"daff508176e43de48738f7d7b86a97f047329c0c3a9896602933c7aa130ff739"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Service/ApiIrService.php":{"size":4598,"mtime_ns":1782750061879006297,"hash":"d2a46876b0e6e0cc5cf9a88c3ea9067de7a0f64df5bc59099c215c14a123a305"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Service/FileValidatorService.php":{"size":2743,"mtime_ns":1781946812332075105,"hash":"4c26e4f47f2793bbef582d233a1f08e96e91274448209159653ec0d95a3b8b73"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Service/InputValidator.php":{"size":1811,"mtime_ns":1782290232599858088,"hash":"3d610effa54b8c5afa1c206c0dd46ed3ead6b84215d54b39e6789c498c01427d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Command/SeedSmsMessageTemplatesCommand.php":{"size":1917,"mtime_ns":1783237401025294121,"hash":"04f1982a5c4317dd15ee55dfcbc7c0182f86fbce90766e5a3366fe4f19378c6d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Controller/SmsController.php":{"size":21883,"mtime_ns":1783422449654674455,"hash":"b15e9b15dedddb501f30a18e46b3c7052cdf5778006913d86f34279e6159ab21"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Controller/SmsMessageController.php":{"size":4630,"mtime_ns":1783237134183460253,"hash":"2869945324e63ed664748e1770ce7065d91428cbd313843814ac4256cd8b2fe8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Controller/SmsWalletController.php":{"size":11400,"mtime_ns":1782998941568914993,"hash":"af47e04758a2a47c3122a567c79aaf3a2638c5c09e2d21308a91b966b1cfe8aa"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Entity/SmsLog.php":{"size":3702,"mtime_ns":1783455929824117615,"hash":"937dcaa8618c78e6ac393fe1f6ef06bfa398cc5c392fb469be504d05bd8384ba"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Entity/SmsMessageTemplate.php":{"size":7545,"mtime_ns":1783239399682426157,"hash":"40fcf700f49544484e460b779e7cd1105a0aac40cf36a805aa69f61f0223d12f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Entity/SmsSettings.php":{"size":5136,"mtime_ns":1782109802341264005,"hash":"751faac90d0b9d9320a8315e7b0765dc39d94089c96a65bacb4a59d84bc442c6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Entity/SmsTemplate.php":{"size":4085,"mtime_ns":1782650883608045581,"hash":"9c1ebef6b3ee3a4724e94af555854df18a8d5f2bba6f524781a94478123be0dc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Entity/SmsWallet.php":{"size":1749,"mtime_ns":1781516938580571044,"hash":"af121e73720cdd1fac6a329c931f01349fae4aba0cc9ca12bf25c232ebb69e5d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Entity/SmsWalletTransaction.php":{"size":2423,"mtime_ns":1781516938580684919,"hash":"5272a1b08bc5d6f28d5d845e9201780a4804fce789175b7be82001a4102f09bc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Message/SendSmsMessage.php":{"size":495,"mtime_ns":1781871113880839659,"hash":"e37f791352f7f9ab7ededa626d6c3d53fa7675ae4e9cd65f499d5b0f0d8a356f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Provider/KavehNegarProvider.php":{"size":4634,"mtime_ns":1783491549884796725,"hash":"05cafa28a8b14f38d40e13f7139dcac2c2b3a4f87fbf07199bdad5dfd0805733"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Provider/RanginehProvider.php":{"size":2234,"mtime_ns":1782749977746062400,"hash":"e2910a9314c0a63d60a4d5df210a421d12149e64db2550cb58bf021bb84f19c7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Provider/SmsProviderInterface.php":{"size":361,"mtime_ns":1781013608175277472,"hash":"225781d93f9a713aa0a979f12efff07f7805972e287cc1fe11371367bfcc4e43"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Repository/SmsLogRepository.php":{"size":502,"mtime_ns":1781013670673270702,"hash":"66b4158b7f47661bd573f21e65c35e20e22ecbb830736f07091857004868eeb8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Repository/SmsMessageTemplateRepository.php":{"size":752,"mtime_ns":1781888405897787839,"hash":"a6b1523de3a122f8c6dd8e442929ae821b0cc88dab224899c0a8cf100b6247a9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Repository/SmsSettingsRepository.php":{"size":729,"mtime_ns":1781516938580977169,"hash":"c2df1e6cc37ef5422312c0eac75fdea0d42de8e6eb822faa96e7bc5e423be9cf"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Repository/SmsTemplateRepository.php":{"size":789,"mtime_ns":1781013662226415873,"hash":"8da60c0de8613863b8928cb46c6bd846cff26539f158be4a68115ff3a6c68684"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Repository/SmsWalletRepository.php":{"size":911,"mtime_ns":1781516938581096086,"hash":"01a35794369da341601324499da53378a75ab8592d14a32b72d564b44137177d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Repository/SmsWalletTransactionRepository.php":{"size":1325,"mtime_ns":1781516938581213795,"hash":"68b117404c5f1c7c68914a367f9ac656b25cb486daeabb9808a36be205f4de56"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Service/SendSmsHandler.php":{"size":372,"mtime_ns":1781013692820181847,"hash":"f644961f4a1538c1d315e1d6000fcae2d4466975c054685003dc616186614172"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Service/SmsService.php":{"size":4396,"mtime_ns":1783455940747216997,"hash":"22349e84d7bcc71d5c70a286e38f703b30448a5caa66ba9714b8bb805a37f0a3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Service/SmsTextResolver.php":{"size":990,"mtime_ns":1781888419028487399,"hash":"c83ed15618515fd7301a8fd03a409f17232d3d03e917fcda93bf1f72fc70b963"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Service/SmsWalletService.php":{"size":1830,"mtime_ns":1781516938581332837,"hash":"72dc9bef8e8ddc92b4e2053e804407f80ffde9a4b57d1dbd07095d47f6651dc0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Specialty/Controller/SpecialtyController.php":{"size":6336,"mtime_ns":1782844333713927668,"hash":"84c72c8da1f6fc901ef1b8c75accdfed1fb314c943d3b81a1d031c26f79aacf9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Specialty/Entity/Specialty.php":{"size":2698,"mtime_ns":1781085518712241650,"hash":"683f2375f3d9528dd02e9cbfe7bd344ff51208aff0ef02dfed3d576c3460a1f7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Specialty/Repository/SpecialtyRepository.php":{"size":2293,"mtime_ns":1781636247076888517,"hash":"9b991dc48c3a9c42baad98f553ee0fa395c4b596f65e84230420929f3e32e6c0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Staff/Controller/StaffController.php":{"size":5842,"mtime_ns":1781522583734490612,"hash":"8b6ad6acaf1a93214344464c7dcc3b9792720118a1c0963340f639a87de43264"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Staff/Entity/ClinicStaff.php":{"size":4240,"mtime_ns":1781516938581704629,"hash":"95c3df6b577ad88a80af1bec2e17b48c6d7b9f35b1a8f75490d0a1bfbc940fee"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Staff/Repository/ClinicStaffRepository.php":{"size":1179,"mtime_ns":1781516938581849755,"hash":"d83ac7466427c09ca77b63924a66dd5710c8ecc9ba3b6dbdeecc4648940a711b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Subscription/Controller/SubscriptionController.php":{"size":11864,"mtime_ns":1783235518955936576,"hash":"34f7415b9246e4c6bc25a43e9138ca0ac585d5cc664c0b78fe351c6239937a96"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Subscription/Entity/ClinicSubscription.php":{"size":4057,"mtime_ns":1782728407203534324,"hash":"a21caf7417e2a32180b91b4fe18ac8245f2b0aeb8887104b2739771151a37350"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Subscription/Entity/SubscriptionPeriod.php":{"size":3806,"mtime_ns":1782728407203839326,"hash":"0121bf60210628bcbb1cbe89419eddfd71b29c65debdbd3dbce51e2d2632c75b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Subscription/Entity/SubscriptionPlan.php":{"size":3881,"mtime_ns":1783233488170274281,"hash":"707633e0b704ec71df2c5a0d4dc21304aece2e79e95bf4fba01ee0431d5963a8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Subscription/Repository/ClinicSubscriptionRepository.php":{"size":2126,"mtime_ns":1783010796441510739,"hash":"181ff34438c057f8cf22ecb7fa36577841e11a22a389e97e2378d690653be005"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Subscription/Repository/SubscriptionPeriodRepository.php":{"size":954,"mtime_ns":1781516938582865590,"hash":"726666fe5f74b8a9927376e82af264b70b209a4e86d164061eb7a9b1d9440942"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Subscription/Repository/SubscriptionPlanRepository.php":{"size":1280,"mtime_ns":1783234723504837640,"hash":"bf1ff4007b9e8aa2bd0442a5a2bf4f5194828006cf8e3fba99817cdad2dff3c0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Subscription/Service/SubscriptionService.php":{"size":4710,"mtime_ns":1783235508735444591,"hash":"1dd4e13de8685bfb17844898217673ce9dca5e6e8c878296567a8de5a599f1a0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Tag/Controller/TagController.php":{"size":4239,"mtime_ns":1782844396159141068,"hash":"f4aa363cf77d90bfca146bffb70b496661bd3e4822fc2502a6bd390c84b15bc8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Tag/Entity/Tag.php":{"size":1775,"mtime_ns":1781085585665970564,"hash":"cd3edf2f90d5bdd70487b38e085a751cb578a9cb2395086bbe2964e5dbd1996d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Tag/Repository/TagRepository.php":{"size":967,"mtime_ns":1781085592043241382,"hash":"283d4f4300d6202a7ab924d3bf130f7b2d90716a520b6d40ba35edd27cc88059"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/UserProfile/Controller/UserProfileController.php":{"size":12912,"mtime_ns":1782289553079211479,"hash":"9d2e310f94dcbde48859dea9872428189b32d7f415af52e6aa5eb523c446fed7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/UserProfile/Entity/UserProfile.php":{"size":9546,"mtime_ns":1782650883615317561,"hash":"d65393c833dec86f7dae8413a72b3a6cd0cc75f3e7faf36bb02995d72b463bb7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/UserProfile/Repository/UserProfileRepository.php":{"size":1267,"mtime_ns":1782270252112779103,"hash":"d36f160a81c8fa1927ea604fb2c27f0ed0f1b33507d838e28adf9fa1fa3b6fcd"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Billing/BillingCalculatorTest.php":{"size":3007,"mtime_ns":1782214545731907969,"hash":"85b469b70480541f73092cf1593029c76fb703bdaf77f71327a0f25ecffd7924"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/bootstrap.php":{"size":248,"mtime_ns":1781009800080637813,"hash":"57ff9294703e34a685f28cd3c0e46ab54a5dd3f4fe3356c224e3aed0958269d7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tsconfig.json":{"size":423,"mtime_ns":1782729422588693047,"hash":"53fac6b4a0917eecde4dc3efc021cceca3d48600d9cfb58a3d4c946135751c66"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/admin-pwa.md":{"size":9407,"mtime_ns":1781343171405896374,"hash":"f6294cbb97d2ca4465b4f185c394daabb11f6ddacc29c2d471decb04da8c7265"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/admin-ui-kit-redesign.md":{"size":10577,"mtime_ns":1782232921465705417,"hash":"24c6ca8b5c2e6f9b9783d446829be9cd4ffe5c6b550e0754d2d4521555382892"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/admin-user-detail-show-profile.md":{"size":9288,"mtime_ns":1781549990210378142,"hash":"629f80e928f666143a4f251067bb31a4f866773e509f34b6c2d623580424e3aa"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/appointment-detail-enrich.md":{"size":4876,"mtime_ns":1781636247075313849,"hash":"a846f9cb4c0d643d7488873cd7a27a15adf39c8b1a206a371efdd0bedb472612"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/appointment-lock-patient-confirm.md":{"size":16770,"mtime_ns":1781535498213998370,"hash":"0a79349da76f2fe2c50e76e3add06522ea796a255722386426e7b7edf988637e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/appointments-day-of-week.md":{"size":15777,"mtime_ns":1781192992528836012,"hash":"73bc57098ab8816c91d042649840e5d34f5d00f096aa88b4bd3d5b9501b749b4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/appointments-redesign.md":{"size":24082,"mtime_ns":1781173659296708465,"hash":"fe28753bae9a95b192796f18322282909e707d96f00082b8d1ce655b47d2aa2a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/build-homepage.md":{"size":4205,"mtime_ns":1781248910704293609,"hash":"4dda73a4d2f91de3fa5b641c559cf509ba8b87ec4621bf2e8eeedea3f9927412"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/clinic-detail-fixes.md":{"size":3514,"mtime_ns":1781286844618120218,"hash":"2cecd1fb0904f3aff92545007b33eb4bf970efd7b03cff7c53e6ca73dd2ef9e6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/clinic-doctor-deactivate.md":{"size":15114,"mtime_ns":1781257376721043348,"hash":"6b36b95516cd5fafc100a500b72fc98d68992d8cb07c02160a09f827e2fb58e9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/clinic-social-media-field.md":{"size":5746,"mtime_ns":1782034582969356341,"hash":"01a6fc5a55d6357607e36837cd39a6ed646f4097fd4ba944ababf826cd1f0ff4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/clinic-view-doctor-profile.md":{"size":6746,"mtime_ns":1781361314655405808,"hash":"b7d523d90f08ea239fa8b03eae601cf68353be6f45c0192762cabfef28c55e67"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/create-patient-without-signup.md":{"size":5271,"mtime_ns":1782145462624789979,"hash":"5bf24921d4002ea348e38c87cc81bc08ef8e169924787c3c719bac9d3e62d4a4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/create-phase2-tasks.md":{"size":24506,"mtime_ns":1781516938546554807,"hash":"f3d49625dfa644a00f6cd5a582e52d63bfefbd2db875f25164774a71cf345ecd"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/doctor-booking-window-and-month-availability.md":{"size":12511,"mtime_ns":1781535414057585490,"hash":"505938967d29a4e337e18cb22f2a299f97e5e452e05c9b94a9e409c86107f23c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/doctor-clinic-address-access.md":{"size":10705,"mtime_ns":1781362104619727130,"hash":"657c686420a8a45159812178f8a65dbc317591779844dc26b3921c536f92de8c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/doctor-profile-page.md":{"size":8799,"mtime_ns":1781175765248517513,"hash":"f1078372d9fc8eaa9196ec9840ce187d86a27b723a1c218cf872cc4e4ede5d3e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/doctor-social-media-field.md":{"size":6783,"mtime_ns":1782031213435560461,"hash":"072cbab44fe86ab89e7a46724b8631528acdd63ae0c3aee2526ab408e1c021d7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-access-scoping-doctor-clinic-representation.md":{"size":14171,"mtime_ns":1781863132633307507,"hash":"8ad2e8c5d53e8f34d69e1b4fd6ce71775720cee430130043803bc44f903341e8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-auth-token-hardening.md":{"size":12680,"mtime_ns":1781946301827134938,"hash":"a52ecdd96fda0f396864de78704f6c53efb9982debb51f4ea1a4494007f925cd"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-bugs-and-features.md":{"size":20820,"mtime_ns":1781516938546940516,"hash":"c45843d9ef701e2b73f7cd161083ffe23d315d81b68382ed4f9f45feb642c6dd"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-clinic-filter-by-address-location.md":{"size":6683,"mtime_ns":1781674935483152098,"hash":"b5aa923fc81b1ab79f29f7f02401dcfc56b88ce6bbcf0c5e015200000d7ae6d6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-clinic-patient-auto-add.md":{"size":4991,"mtime_ns":1782145525259778908,"hash":"9dcfac3aba7cdb8101c97017973a1bf7e4217f0d8df94b9dcbd1bda10192263b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-doctor-city-via-clinic.md":{"size":5124,"mtime_ns":1782040974660614329,"hash":"a3571d2085a8c4aa6cdc7094b964fbf54281b482a064cbf368f623dc5fda26c4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-doctor-schedule-fields.md":{"size":10822,"mtime_ns":1781523041417094452,"hash":"7ceaad108bd7bcec35b9271f73308586072e8fe12be63b1dc754e5ec902bfa1d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-doctor-search-performance.md":{"size":13253,"mtime_ns":1782046573636729825,"hash":"febfb8452181a0ee429a6c1383b489ca071afe45ffb617b9343e9a406ca02d0b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-guest-doctor-clinic-context-access.md":{"size":9535,"mtime_ns":1781890240620846065,"hash":"dbcabb830aa0a81fc529eb14feeec65afdd979ac4eb7ce31c80eeb22b2166166"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-invitation-accept.md":{"size":4399,"mtime_ns":1781360063617429536,"hash":"2bc99d1a7460fdf5be3711a0add4de54d4ab78a0fc16079680d4da58e4615997"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-profile-in-clinic-context.md":{"size":8367,"mtime_ns":1781365327185378947,"hash":"f063eae11f94b2132d84b0a8472bac1d4d404a2bfbfacb049f0c583f9c586219"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-server-side-mobile-nationalcode-validation.md":{"size":8677,"mtime_ns":1781945049606053409,"hash":"32049409986f11fd29d302dc3e1036cab7172ae9033c3901e0622e8171fda14a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-switch-context-role.md":{"size":7032,"mtime_ns":1781363356184798552,"hash":"74cb88449b93fd682e3ac81a322e1d405d54e111e172758e5b10ca80437e1a3b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/implement-phase2-backend.md":{"size":23991,"mtime_ns":1781516938547317892,"hash":"ba39a2e1ccfbc1a98662ecc71225aa32583a410df8e238dad15de69a62fdb521"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/implement-phase2-frontend.md":{"size":28042,"mtime_ns":1781520442021329832,"hash":"4faf26a0b91c83a3c183e3ed929d5d2dc92e7624549af170165bbf2faa9eec2b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/insurance-pages-subscription-gating.md":{"size":8256,"mtime_ns":1782258337653428004,"hash":"3755a25eb7694c8c1587bfad9e02166c438ab4bd361268126cfe0f3ee553bbb7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/insurance-pricing-and-selects-cleanup.md":{"size":7612,"mtime_ns":1782253591735960479,"hash":"00ca797277e9520885bf056e719721e9d72d97c4000fbd9f8bcd69980a5bd69d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/insurance-visit-pricing.md":{"size":6483,"mtime_ns":1782214545719956341,"hash":"4197cd316ec7560bb084840cd96f82df6d524916d4a4ec4a0f71108c2cdbec6e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/location-clinic-address.md":{"size":15649,"mtime_ns":1781257855652300954,"hash":"c147a47466d89f4591d1efff242e3ec90e1b979463cc2d2ce5f65bd55002b770"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/mark-past-slots-unavailable.md":{"size":7754,"mtime_ns":1781535427967339672,"hash":"51d4e6c59bbcf69395fb0d0a1420f5c47f5c3ea5bf77e95b3180fef5e2081fed"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/multi-role-dashboard.md":{"size":47174,"mtime_ns":1781164462782884121,"hash":"bdbb8f8d4f66f36005c2c7e87f123d905c49048dba266e475c775b73d438b434"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/my-payments-list-endpoint.md":{"size":6964,"mtime_ns":1781539108766134646,"hash":"5c6b5a4fff2796f32393914512d82d2cf18fe1a2bb5c70f7087c6152451e2ce9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/national-code-unique-profile.md":{"size":9589,"mtime_ns":1782270001832720420,"hash":"4bac96e773838ee4ef912cca328f84ce957deb6c594c1a00016b305380c93112"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/new-visit-modal-ux.md":{"size":5602,"mtime_ns":1782145407253133698,"hash":"5ec3558c752110146df788f8f2f85025c4ff17876ace24f8de0b2208013a622b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/patient-record-profile-binding.md":{"size":5004,"mtime_ns":1782145573523412851,"hash":"5195bc67dec077d35f5220df58a5c2ffbb62fd44c881cc9e51d8aa53a08d065b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/payment-test-mode-ui.md":{"size":7973,"mtime_ns":1781516938547896351,"hash":"a37f514022aea65c1e8d35c8855c087e0913c650a642cabdd39f9690577d8cd1"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/payment-unified-status-canceled-and-managed-hosts.md":{"size":11866,"mtime_ns":1781591920505562932,"hash":"32799eaded7c02d109b78be529dc0ecc8b7fc0b500326573428a365e21869b74"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/pre-registration.md":{"size":12415,"mtime_ns":1781252082262696147,"hash":"b1857341551ffad0b98d9d867f3caeeb8924c5b903099e9f2823620efa8eecc6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/profile-birthday-jalali-persist.md":{"size":4796,"mtime_ns":1781597628367003291,"hash":"e90db79d423bcbe97680ffed422228037e2843e8169bb1188237f7f6b6babbd6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/qa-bug-audit.md":{"size":10008,"mtime_ns":1781892497314247088,"hash":"63ca9f918e24b1c15839c13744045e0b8aac212279b5b4fbfa5ae619b7709804"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/rating-multidimensional-and-rich-comments.md":{"size":12831,"mtime_ns":1781557035802767573,"hash":"332d9f393aee67c403841f184f3e6c069edaeb4459b4ee328a9310055f937cef"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/rating-require-recent-confirmed-appointment.md":{"size":9517,"mtime_ns":1781557035802942698,"hash":"305ff640dad68d7e842a5825bbf7a8f4cdb02b145eed8b782c1151db3305632e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/representation-admin-panel-access.md":{"size":16498,"mtime_ns":1781857058512546863,"hash":"72c1500ed688169cfd796adcf9554b63994849119943dba5d5a70883eb5a8dce"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/representation-commission-tax-engine.md":{"size":21994,"mtime_ns":1782292728412115840,"hash":"ca8cb1567b8434a59f5717a4b33c6ea142e69f4d1010df15010081905b556669"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/representation-domain-guard-dashboard-settlement.md":{"size":16314,"mtime_ns":1782304099038050829,"hash":"be8842b5ac2c5a57277b047c4c6ac3f828ae302dc6a94569e8f46760564b90d8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/representation-identity-iban-verification.md":{"size":17082,"mtime_ns":1782399022752193648,"hash":"59271ef71e8e71f9f1bb9dcde1aea41565a2dbef6ed9aa8d35b1e7202c685f38"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/schedule-cancel-expired-appointments.md":{"size":8800,"mtime_ns":1781551622406496621,"hash":"43d63ab1fbae2e6e2d5192d922a09293b1abbadddfe98819e39671dc00e04a99"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/secretary-context-scope.md":{"size":14283,"mtime_ns":1781520442021272248,"hash":"e684ae83cc15db840406769e15852b219ceff63405fe6064bde19263b2fccfdc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/seed-realistic-data.md":{"size":14531,"mtime_ns":1781519566626148059,"hash":"6b2eea6f45404e64d2b8b3998a117e8bada7517c880339af1fc4ff72cd0409d2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/service-insurance-coverage.md":{"size":4046,"mtime_ns":1782214545720279342,"hash":"3ff0f0f6b3a99f5facadc19ce455b27c8cea3020038a1b40bdebda4fdbaf84f5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/service-insurance-per-insurer-coverage.md":{"size":14249,"mtime_ns":1782259799527430466,"hash":"295cae74decafadb2379fac86ac7ac1f420042d715f798d5024b03362560363d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/sms-log-tags.md":{"size":15685,"mtime_ns":1781870909734605934,"hash":"abe301d83cba0655c353e32c6f55a9bf20dc808d033c9f5d1e40f8fa9ad5bd62"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/sms-login.md":{"size":9252,"mtime_ns":1781255737102412820,"hash":"af6300f99ef2e66cad5abf34a421e4c3f2d34995535a907f82aa86cfe4c29b74"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/specialty-doctor-counts.md":{"size":6533,"mtime_ns":1781636247075492016,"hash":"32a97260ea56f3bd9529a034cbb791df59ce29ca60d9966a24d469cb743fee41"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/subscription-gate-ui.md":{"size":17009,"mtime_ns":1781520442075008039,"hash":"81757bb902f7ddb74f51b2aa43612d9c73fbe20abebbc2f046a6014498f9b58f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/sync-user-realname-from-profile.md":{"size":6614,"mtime_ns":1781594222051658800,"hash":"b9ee6559e409596b698b855fe4ff283fac5a062a218b4aea42a3b09d14a8fd0a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/ui-darkmode-polish.md":{"size":9534,"mtime_ns":1781520979984254456,"hash":"9f195ed3dccbf8df6079d978142aac339fa50d0b949526fc1b7b832af151da1a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/ui-ux-pages-redesign.md":{"size":18980,"mtime_ns":1781520442021457666,"hash":"2dce360a15f48c97610df47e5e6fbeea313e39fdc152e0d55bf687ec17784e47"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/user-profile-resolve-by-user-uuid.md":{"size":9637,"mtime_ns":1781537870411647855,"hash":"880cbf5c1bbd64937f4a197a91cdedf9c742bb3910ab2104cfb6c59e8cc7ba0c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/skills/prompt-writer/SKILL.md":{"size":5151,"mtime_ns":1781361052504791267,"hash":"abe2c711bf0a283fe50a70e5180d0ed7c7e10f7b699ceb50b4701485cf7b74bc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/skills/run-prompt/SKILL.md":{"size":9443,"mtime_ns":1781176103482888341,"hash":"bc8c63ca2411b0ed4242f54f4a998590698d1cc62ef9b2661a84668ed1e80689"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/CLAUDE.md":{"size":8393,"mtime_ns":1781551622406854747,"hash":"1712a6a680cb00c102367be014ced75a77306c0c8ac1fbccec95f37ed31cff4e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/TEST_USERS.md":{"size":4101,"mtime_ns":1781520709654384302,"hash":"ae97e1e0de7fdd1d8dccf030c996f155262259cbd648b71d4834436f90827910"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/Architecture_Audit.md":{"size":33583,"mtime_ns":1780948937761931658,"hash":"e79771047616dbb7a604687b92ffcd47f09dc19a112fa51174cc2738a0e5c49b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/ClinicPro_Manual_v2.md":{"size":228782,"mtime_ns":1780944864742215753,"hash":"86c808b50dd3da1c5107e4b6a3a03190f30c643643ad6de4c89b2045f803baee"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/PRD/prd.md":{"size":28619,"mtime_ns":1781520442203119936,"hash":"a1691fe2f87737cd12253bac3bfda2f8feeaabc15a159a8dce6482eea7fd6e8e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/PRD/pre_prd.md":{"size":5454,"mtime_ns":1781516938560096835,"hash":"4736bcde5ba8e7c73405d0e7c31b6e2651b65d475e4cb9a924ae152b799bc4f1"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/admin-ui/ui-design-spec.md":{"size":20687,"mtime_ns":1781024129379257560,"hash":"60176b60869538ed763bfd4b0d02c138481811e62482b73c41693ea5393e8460"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/admin-ui/user-flow.md":{"size":16280,"mtime_ns":1781022482742007613,"hash":"aad348887a0347a4d348eb228959ef9e44099e2c4e60959d0dc06d976ebe7e16"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/README.md":{"size":3621,"mtime_ns":1781158395412841916,"hash":"8ddb00666307b307dcaba4c0b7b4f4c13e5f31502f7d20d5c3a8a82729c606b8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/admin.md":{"size":36438,"mtime_ns":1783663961404615416,"hash":"40f30916ed90294b3c7d20df1c26523ab8a0bc38789dd43e974aa44c45070308"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/appointment-settings.md":{"size":16574,"mtime_ns":1782728407106610964,"hash":"540be837def81a7c24a001654fde543de78f168ba34ed839c6e6fd597ea55ed6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/appointment.md":{"size":16822,"mtime_ns":1782728407107114384,"hash":"7b39650f7266519461983913a0c78e186275d036101a827049dd6f8c3574707e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/auth.md":{"size":20166,"mtime_ns":1783666224687643537,"hash":"962704b45cef9adf358f089e6ca1282c649de48375527eaa85ccecf1ecd9ab63"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/billing.md":{"size":10078,"mtime_ns":1782728407107896681,"hash":"c9f6afebfd6b6f7a7e55bf1d14c8123f9230a99fc566c63aa9cb4d01b6204324"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/blog.md":{"size":5522,"mtime_ns":1782050526553302749,"hash":"fc22dc80387b6c8f477854a19dfe01e496b90b688020325f1df589e0ae5cab8f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/clinic-invitation.md":{"size":9237,"mtime_ns":1781360269658725816,"hash":"50b040f0cc844000cdf24ba7971b4bfe4367e7980413f2dd90d7187a4e0c9991"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/clinic-services.md":{"size":6228,"mtime_ns":1782728407108299892,"hash":"d03260630a54476e8c29c60a2eb6540abb203d81d7656a95fbb1381344ad1a00"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/clinic.md":{"size":15082,"mtime_ns":1783569345777287102,"hash":"969c6a645198cf9b930a5d4fa203adab490ce59bca3460cb410ae040a333cbac"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/dashboard.md":{"size":6099,"mtime_ns":1781516938560827336,"hash":"8368266c4453ba5364ed0787679059288d98527506bf05a44f86b5a31a7e0a6b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/doctor-service.md":{"size":3542,"mtime_ns":1782844893680414173,"hash":"e89e263e5bbc843f579006c3b353fe521d9366fc228515e8a5e596321c8c0c42"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/doctor.md":{"size":14514,"mtime_ns":1783569345777646894,"hash":"71132bf3d0aeee34eae0945736ec23a52638902a186dc8d24c1272b869e4c64c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/insurance.md":{"size":14620,"mtime_ns":1782844893680930170,"hash":"777ea6859a4a038025bff4fd5619e698c213fb174f40b4f41292b07a7bf12dd2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/location.md":{"size":6110,"mtime_ns":1783499999991507683,"hash":"b115b424de4b74d226eb0519d0285a2c6397f9d8e1afdbc4de3b8d9776e00bb7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/patient.md":{"size":11646,"mtime_ns":1782289600489452444,"hash":"37294299886dbe4d8227c8fdc5afea62f50755e0fd42f229eedc58f1a036abb9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/payment.md":{"size":31708,"mtime_ns":1783569345777886644,"hash":"e9d63073d11ef51c3cc5bf4010394485ae27190d29b5997edbd5ade0f9a14617"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/rating.md":{"size":11090,"mtime_ns":1783666791928124714,"hash":"61914c5f9d29060ba157369cf8e82392cc6b094df3f3a1423904c2988b19def9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/representation.md":{"size":23969,"mtime_ns":1783569345778079977,"hash":"fc1f5be7a63295184a69a7c63af90e9d6f03c74dbd27b854f65d72965cac06a9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/secretary.md":{"size":11082,"mtime_ns":1782902968293482660,"hash":"8a4df85eba0a0da8f2a31f07cb8ed2b182bae88bc4530db5c743bd012bc4bbed"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/settlement.md":{"size":9976,"mtime_ns":1782728407112458962,"hash":"ad88d08fd6960cb9bfd932b91def2ad395a50c391f7692e9ec30fa4dab681722"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/sms.md":{"size":21855,"mtime_ns":1783491664293447366,"hash":"c21a4fe093a52c6f4b73e50259282f2f50f30831b19250ab6308d66ce4e2d7b2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/specialty.md":{"size":4869,"mtime_ns":1782844893680226216,"hash":"8f43fadb8c8754ab788dc183df3538096cfffc5d7a542fde683d8fffee10fafb"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/staff.md":{"size":3093,"mtime_ns":1781516938562286131,"hash":"b3690ab9cdd530eb6a0180f96f08a258ccae0c77d31416e80f49a92974eac730"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/subscription.md":{"size":6894,"mtime_ns":1783235773210706870,"hash":"1d6915cccf364cf13b21f3258d454831c311fb1bf1c0c88a295cf5694fff1889"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/tag.md":{"size":3045,"mtime_ns":1782844893681057377,"hash":"4044766bce277cb59476fa2c470b399018dafd94191893c53aca75291de87b7b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/user-profile.md":{"size":7549,"mtime_ns":1782289592597934192,"hash":"5d269afd10ce9174f3ac63fb4fdcf1cb7272564925db2d3f5f7e75df50c42925"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/architecture/insurance-billing-system.md":{"size":22566,"mtime_ns":1782214545723920606,"hash":"afec1678fc22a9caa8f39eb9fac3f934751dcd6a315ac1441f1378193b88ba0b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-10-staff/architecture.md":{"size":4831,"mtime_ns":1781516938563423092,"hash":"589134d822642da7433ffa06823f4e2c79ad74e3feb135df95e581377b01ffd3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-10-staff/database.md":{"size":2045,"mtime_ns":1781516938563622759,"hash":"580ede75d18ef6d8117ef56ab233775e5143bc25de4716cfaf53464bdaeac599"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-10-staff/task.md":{"size":2775,"mtime_ns":1781516938564295343,"hash":"b55eb66cf597d5665d57d79f268a2fc106da8a8e01c18d7f8da2327da6dc7927"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-10-staff/user_flow.md":{"size":3553,"mtime_ns":1781516938564465635,"hash":"c5436837b9320d6cb9e5f50e7e6b7aeaaa8bdb8dc9a68fa4b5f4b22fdd58002a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-11-subscription/architecture.md":{"size":6182,"mtime_ns":1781516938564667844,"hash":"97af6c2e032264f5dd128efc6ec07a4c1c23664f325cba46bc7dca9da57b9578"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-11-subscription/database.md":{"size":4694,"mtime_ns":1781516938564824594,"hash":"3b798be28cfff874d1b09b25429767e7c928e7c0fd9a9db2a9685f429b299299"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-11-subscription/task.md":{"size":5322,"mtime_ns":1781516938564985928,"hash":"46d7f8870c6b9f46071a717d0235dceffd7d25508ca4f69886e5062c8b37d0e1"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-11-subscription/user_flow.md":{"size":5889,"mtime_ns":1781516938565157637,"hash":"d11628bbcd90efc0d3d09961a2ed62fe3707c3f5b60bbbfcc615da3b7180acd4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-12-secretary-completion/architecture.md":{"size":2393,"mtime_ns":1781516938565327637,"hash":"d036ecddd7c889f68aac644919fb9255189de2f82cd62e3933b860bc348d34a2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-12-secretary-completion/database.md":{"size":1646,"mtime_ns":1781516938565469596,"hash":"bb7eaeece88f414ea6253e95b2acbbdbbf74396c5e51b213301593f2aa5d409c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-12-secretary-completion/task.md":{"size":6288,"mtime_ns":1781520442208567994,"hash":"f18a2edba4a0b75fef8e08e155a4cf100b8a98e463acf88d31d506c195f5b27b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-12-secretary-completion/user_flow.md":{"size":3821,"mtime_ns":1781520442059890701,"hash":"72aca8c6bba58695e7e1b63a3aa709d1068753beb31b981c648564fb822e4fec"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-13-clinic-services/architecture.md":{"size":3719,"mtime_ns":1781516938565894180,"hash":"c2c7361b57f654925f2801d0820f78bbbb97dfbd07c808b4ec304f7938139151"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-13-clinic-services/database.md":{"size":2673,"mtime_ns":1781516938566026680,"hash":"de17f21b92fb807651d65288c8539699aad5597b8e541e47c9bce4dd0f97b696"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-13-clinic-services/task.md":{"size":2931,"mtime_ns":1781516938566167056,"hash":"87038a0b3a2f872944d232bcf66eb5fab7676f00a9d29319c082a4b576a1fc40"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-13-clinic-services/user_flow.md":{"size":4046,"mtime_ns":1781516938566343181,"hash":"4bce3394d64f2c1d3441cd2c3ad717670d1c91817b9015db00aa9ae4eead4f66"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-14-sms-panel/architecture.md":{"size":5145,"mtime_ns":1781516938566580015,"hash":"14afd5263c7d520a89f36bbba8c8a1884f88df74d09afe4caf7464025ee25063"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-14-sms-panel/database.md":{"size":3803,"mtime_ns":1781516938567109641,"hash":"2a952887767f9f9811df0c99a9bc2ba9986defd5ea1caf3ed11080ce11c61f1f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-14-sms-panel/task.md":{"size":3454,"mtime_ns":1781516938567288849,"hash":"5badde1225cf74657f886825aaaae8582c1c627570f655ae9f631144bc75d7a9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-14-sms-panel/user_flow.md":{"size":4630,"mtime_ns":1781516938567444933,"hash":"8e4bcbd2fd0a486d4942df7ced8131738816487d2c16f0a05730d4c190a10296"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-15-patient-records/architecture.md":{"size":6622,"mtime_ns":1781516938567688975,"hash":"138a7655a0efa500b4a9a8f829bebbdff35803cb3abfd3da7f4d4f362d7b63c9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-15-patient-records/database.md":{"size":5463,"mtime_ns":1781516938567863767,"hash":"1dceb66c7a12a35660145fdf3bf0bbe4d5b8275f5b45bf86cbba4cf80f64675a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-15-patient-records/task.md":{"size":4809,"mtime_ns":1781516938568156268,"hash":"1222b425e9e9856e291b8fb39c28348287dbafcf7b0a30531c5bab8642d2cb17"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-15-patient-records/user_flow.md":{"size":6283,"mtime_ns":1781516938568370060,"hash":"e28725b4fd619e8e105951b570c0066efb23fd6f378c1939bbe5cfcdad47b2d5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-16-smart-dashboard/architecture.md":{"size":3095,"mtime_ns":1781516938569635604,"hash":"6494802db54a411d47ce102df7a5584c1e7db3482aad69df967bf1ca71c5ba58"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-16-smart-dashboard/database.md":{"size":1971,"mtime_ns":1781516938569893480,"hash":"ec0826918bb413f88d2d989f514b0c75a8cb932d11476d2c6e46908ce87968e8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-16-smart-dashboard/task.md":{"size":2630,"mtime_ns":1781516938570195856,"hash":"19bc98b5866f489ff0cafdb3533f2698de3546aef26ad438d16beb2d7218c859"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-16-smart-dashboard/user_flow.md":{"size":5110,"mtime_ns":1781516938570362314,"hash":"3572f80a2a4741eeaa91c80e9c362bd8ff452c14c4d1f052efad6467db72ce60"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/qa/bug-report-2026-06-20.md":{"size":6123,"mtime_ns":1781932195178136627,"hash":"12f46177c25b3354d11d67086bea1387dfc7c630aa26c3ae766c680f2843640e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/security-audit.md":{"size":17685,"mtime_ns":1781029533522601843,"hash":"a4ff28a805763f65454696132ecea7011101bc37b1b6517222f1c75daf450ab1"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/README.md":{"size":3380,"mtime_ns":1780914526335796118,"hash":"defeedb0410731f689fba5e8e2c6f3e35b8bf9e5e284dad43313a1184b58b1ae"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-01-project-setup/architecture.md":{"size":4379,"mtime_ns":1780948878189677238,"hash":"01cbb020665bc50a95519b010c5cb4bdcda727e5e3b11144854ea69380bba84d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-01-project-setup/database.md":{"size":2777,"mtime_ns":1780913653761675119,"hash":"6ad045e9dcec53f77822e126640dacb6bd22ac3baee94373331ba46567bf37f5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-01-project-setup/implementation_notes.md":{"size":11109,"mtime_ns":1781000268522993445,"hash":"7fcefe550ef23683ee4ed703af2881fb5c985930b4d1a3ab7c93a74ef491bdae"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-01-project-setup/task.md":{"size":15372,"mtime_ns":1780948866192116618,"hash":"311edd5597e787245e16d25b061f5faccd468d3d7a63ebb05bb04e26b3c7218e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-02-authentication/architecture.md":{"size":2897,"mtime_ns":1780913716805987120,"hash":"ee14b45989f69598f9862c975c097e7c3cb720c2bb06967b9787307e7acfe361"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-02-authentication/database.md":{"size":4381,"mtime_ns":1780945850080810308,"hash":"d1ce5e67b210864664df658d7de16fc479948f90164e90c89f53c33ee6de069a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-02-authentication/implementation_notes.md":{"size":4894,"mtime_ns":1780945075278630018,"hash":"8074b8f1bfe41c918b96cb9ab1c78937bf5986feb3ebe9db3c3ca7af88d7dc2e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-02-authentication/task.md":{"size":14847,"mtime_ns":1781000259106649518,"hash":"500d89358f6bf99cb445fcb71f0fe67afc142c3c607ccfb030cbcbea8409883e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-02-authentication/user_flow.md":{"size":2706,"mtime_ns":1780915019246111035,"hash":"03ed965fb14b51c065108f4eeca9672f20e8090195fcc442de5c5c60c950ec10"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-03-user-profile/architecture.md":{"size":2719,"mtime_ns":1780913810512596011,"hash":"1a83b9b76c0687098bffc9471e7fb2c51a97be4939347bd11990d55fc290fbe9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-03-user-profile/database.md":{"size":4620,"mtime_ns":1780945096397670031,"hash":"8d639d843c5d51531781080fa6179168662a5cbd22af7ea828e770823d374c00"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-03-user-profile/implementation_notes.md":{"size":2408,"mtime_ns":1780913848138283491,"hash":"5a60299e3ce86373b2ae7c2e0efdc5fb85b753123cc45bb09e0c9d671d396811"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-03-user-profile/task.md":{"size":2503,"mtime_ns":1780913798113112926,"hash":"f00a38d5a28420b3a8fda800286352a56f0f98b190ec67e57e1d971debae3bef"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-04-blog/architecture.md":{"size":1757,"mtime_ns":1780913877006618619,"hash":"e63b0d01ec3714992eefec62777ee965be7af2a59d55a9e72cf87effac0f4a8f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-04-blog/database.md":{"size":2332,"mtime_ns":1780917970043029189,"hash":"ae2d7fd401bce729cba77a040a613a7f8fe0e9b20e8d4a31eaa970451296a001"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-04-blog/implementation_notes.md":{"size":4727,"mtime_ns":1780945968298846841,"hash":"92f49568f1ecb690bef8287e9455ef0b2ed56d897309ea6b8a580fa667f8a5f6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-04-blog/task.md":{"size":1962,"mtime_ns":1780913865638451815,"hash":"2884592d17fcc3363768f899a4371d0ff2f25bc05bf4ab378647224aac695fc5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-05-doctor/architecture.md":{"size":6624,"mtime_ns":1780915477914900899,"hash":"180c8f1b3163d1c97e3add7912571278ce7d53477095695010024be863743ee8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-05-doctor/database.md":{"size":7593,"mtime_ns":1780917946898365021,"hash":"00d19e027d60b4461e43310d6445f95fab85d7b6ba26ba946e44ea001556b0d0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-05-doctor/implementation_notes.md":{"size":2375,"mtime_ns":1780913973933789015,"hash":"1fa793e81dd07304171c11a760104acd6802dbeec00363618f5d4c1e651668ba"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-05-doctor/task.md":{"size":6294,"mtime_ns":1780946040236355543,"hash":"042d405bfc9f389c3f4031533534485742dabdcfe86b4d753c0cc052a755f1f5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-06-clinic/architecture.md":{"size":1851,"mtime_ns":1780913996728031516,"hash":"6cb465ec4509143b1ff168e629400684e18542a7c1f616f5885f1c4f8be7876f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-06-clinic/database.md":{"size":3657,"mtime_ns":1780926795107362628,"hash":"6ae9c1c5e9c833a0781878a60323428b3388dc46dfdb5620d649371d98c03f36"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-06-clinic/implementation_notes.md":{"size":1042,"mtime_ns":1780914015153456807,"hash":"5bb3da0cf9daf5a64f1316e32f20d5a24d70ae5a639bc0d4b62a2667a6742b19"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-06-clinic/task.md":{"size":5429,"mtime_ns":1780946101876308203,"hash":"709ac2fb057f4d470a55c5e47dc0bbda7f38f6a336622fd93be0e334019ee066"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-08-categories/architecture.md":{"size":1985,"mtime_ns":1780914070674333692,"hash":"b6839bd6197cc3e53162104e0ccddcb4c0dad2d268815ce71e50591dd58dcaea"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-08-categories/database.md":{"size":3623,"mtime_ns":1780917987390393019,"hash":"6a1ac2b1feeec574386ab34b5176b6c069ee3582e7152757e4693e18440d0365"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-08-categories/implementation_notes.md":{"size":1244,"mtime_ns":1780914095217341542,"hash":"fa7fd9bc9193bd89ed8e6438a3538bb8ba6aac5dbc8859735887b8a2a876956a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-08-categories/task.md":{"size":1912,"mtime_ns":1780914058797929168,"hash":"4a40fbf276a9595d6be7409e5b8ec3ce0963f7cff1ae1acdbbd8e2a8962f0f76"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-09-appointment-settings/architecture.md":{"size":3399,"mtime_ns":1780914129817089915,"hash":"b75f451ea0018239fff4ace9a06e486880409d0015582b1aa5f843b4ff14d9ab"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-09-appointment-settings/database.md":{"size":4225,"mtime_ns":1780915919108824849,"hash":"07a565453b405723fef58584dc058518729c7d27e873492d8a3cea7e7de0d690"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-09-appointment-settings/implementation_notes.md":{"size":3094,"mtime_ns":1780945173910875440,"hash":"c75e7608c3765170173b475dc5b2b224c663e6c116cecadf38107efdc86d6878"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-09-appointment-settings/task.md":{"size":2582,"mtime_ns":1780914114135141253,"hash":"48422a947301ff86b51f11c3168ec190bfa7f9dcc10821abd5ce5b9a460979ee"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-09-appointment-settings/user_flow.md":{"size":2191,"mtime_ns":1780914171627644777,"hash":"07b7bc5971ab5201243c5bdf67eb2d111629753dd697034c85e92c96d1008809"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-10-appointment/architecture.md":{"size":1996,"mtime_ns":1780914199549617529,"hash":"289adc397ac626b52b89755bfe8648fab0d7afbbdca30005de728b7697b9a214"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-10-appointment/database.md":{"size":3717,"mtime_ns":1780915937514717817,"hash":"88321d5b96f7d4a6b8e1704430500c45915eb2e259eef363d95f26de72109092"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-10-appointment/implementation_notes.md":{"size":4621,"mtime_ns":1780915380116156578,"hash":"a83b0c475c907a8d8a30ed2d0ca711db33f60fb1e61c202b76bc4731a5bf8243"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-10-appointment/task.md":{"size":8716,"mtime_ns":1780948491117865920,"hash":"da3cd77c8f2c7ad9129a69ccf1f8dc2317dc91a1dd956cf2f042b65361be6395"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-10-appointment/user_flow.md":{"size":1550,"mtime_ns":1780914238340850115,"hash":"9f5dce77e5f9988bba7dfcc621622610a49a42e0b065b884bab56b56661cd84b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-11-insurance/architecture.md":{"size":1127,"mtime_ns":1780914261808559537,"hash":"375e8ddd7ec2c6078760759c4501a4cfbfa68fafd7835fb01fb77ec9e63edae3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-11-insurance/database.md":{"size":1786,"mtime_ns":1780945194993545294,"hash":"d839d386d4403610f52b0415868efd6ee3555dc5b209d13ec923975ec4bb799f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-11-insurance/implementation_notes.md":{"size":682,"mtime_ns":1780914277970139742,"hash":"9f0f9dc9c02d7e8672e66bf856526f7b0ed7956b926665bf807466cb5be8ae97"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-11-insurance/task.md":{"size":1020,"mtime_ns":1780914250465105891,"hash":"6dd946fad62474b45da1077a795263188685817d871a6fe6a7a48686e24d6193"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-12-rating-comment/architecture.md":{"size":2188,"mtime_ns":1780914305970064998,"hash":"5fdcb2df78dd410d0c2d434203efb1e7a932ef9e9a17270a252584779e59f6cb"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-12-rating-comment/database.md":{"size":3810,"mtime_ns":1780915977159314990,"hash":"2fdfac8ae3f0fc238d5398ffcc770d33470901fe1d371043f2762ca15a0c6e50"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-12-rating-comment/implementation_notes.md":{"size":5724,"mtime_ns":1780946157194396377,"hash":"df382ed8eb807a193bfc884447401cd87c9a678f6ecb95a0a246468cc9311851"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-12-rating-comment/task.md":{"size":3935,"mtime_ns":1780946250306428313,"hash":"fa4fc2ef76c08670eae962ffd0a3836d7cce4469bc5f407cebff751c025e5c7b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-13-like/architecture.md":{"size":974,"mtime_ns":1780914349899858832,"hash":"a0adb45cf9f78498055809006e340318b4ca21e6f8627ecbcdcac2205f3f7b29"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-13-like/database.md":{"size":1630,"mtime_ns":1780926837375006318,"hash":"3d670c92b56d80fa1da6b751fda3b776da46ea368106339d1b80dd6012e01d2a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-13-like/implementation_notes.md":{"size":596,"mtime_ns":1780914363412821531,"hash":"d49115b6d3c76aec3c3678cc86c6ef5b394e8e63d96e493479bc79db4cd8558c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-13-like/task.md":{"size":475,"mtime_ns":1780914338292873383,"hash":"0f032e0490838820a0692ba9c0042dadce5a9558d87083874219c84dcde92742"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-14-secretary/architecture.md":{"size":1308,"mtime_ns":1780914379600079656,"hash":"17eba56cf557f9cf9d6300b9946fe25cd348fd937bd20914ba382b1a760112aa"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-14-secretary/database.md":{"size":1827,"mtime_ns":1780926849934970617,"hash":"46384e53c3b5bd73ef416c647833213a49f5eaefdd7a6c63c4227cf54e5e8aa6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-14-secretary/implementation_notes.md":{"size":849,"mtime_ns":1780914395413759232,"hash":"432b4d0ed90802ae1dd2495e54a2493f60f07ca0ca57a7e68734ff493b2c8031"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-14-secretary/task.md":{"size":9039,"mtime_ns":1781000115337852359,"hash":"322eeb47d17aa1d34573f1daab3e4e6aaaa6c89a6c97bb7be08ea4e10c475f16"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-15-payment/architecture.md":{"size":1945,"mtime_ns":1780914418815337658,"hash":"434ff7a1e4e0cb8d175321f3af647ef5276602ed753c9ca9c3c9480a7456d53c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-15-payment/database.md":{"size":5305,"mtime_ns":1780946202243066788,"hash":"86fdf19600fc6c72961d37e60d2f056f9012b1b26d0fddac2a6d31b15295f105"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-15-payment/implementation_notes.md":{"size":3038,"mtime_ns":1780915087810785770,"hash":"1fbc6a5462ddb25a89b765941b2c4eebae1b3c2e62cf5dbf48bc48015b79e6ab"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-15-payment/task.md":{"size":8918,"mtime_ns":1780948846758672237,"hash":"ae564ca5b8f57b3e399f6996c978ed63e5d2425342b6d9dc6eb0b29c90fa2da4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-16-representation/architecture.md":{"size":1957,"mtime_ns":1780915416796818495,"hash":"9ed187252c771e6fbbbc24009d84f0fe52b4c3f565b16413ffd753c16c1793d2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-16-representation/database.md":{"size":2934,"mtime_ns":1780917918423562169,"hash":"bc18f2996973b821a4c393e627028ca7212b1bb769a7faf122fd0b7f4fc4da10"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-16-representation/implementation_notes.md":{"size":4833,"mtime_ns":1780915404939572215,"hash":"b8c731a6b5e06985b3179372e17bf6b678fd4bccf0f2a488cec7b842ecd56798"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-16-representation/task.md":{"size":4814,"mtime_ns":1780948110250153184,"hash":"ecf2f1d6b695c256805cea006ad4ea2c64d4419dba5da0e8a862ddcb78c185d8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-17-sms/database.md":{"size":2141,"mtime_ns":1780945235470226049,"hash":"4ef4177ff9c455909dc4d2d64ef4ee2fd8e1d5eaef1bda53fe9fed7923809e1f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-17-sms/implementation_notes.md":{"size":1864,"mtime_ns":1780945250993937969,"hash":"75cfb72ca7fff3f679ed78b75fb7cc251344cba57d46d4926a1ff24c61a18193"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-17-sms/task.md":{"size":14473,"mtime_ns":1781000201191461921,"hash":"b4a1a494a5417c78db3a85dc80fa158db77860e74eee9337fb15a5f5052f829f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-18-settlement/database.md":{"size":3780,"mtime_ns":1780948101369445086,"hash":"8c43bfccc6aafad28eebd86afc5b32f56ca6db3dc081b796567f4c95824df146"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-18-settlement/task.md":{"size":4116,"mtime_ns":1780948080182510614,"hash":"33696ec512d7848300e8575d2a387e09a90153045860fed8b8f2c5632b6592f1"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docker/entrypoint.sh":{"size":1468,"mtime_ns":1782633219516893494,"hash":"48c33a7c55c256a65ba4c089893e1112aea5b1320c9dc6b46f4eadb865b68ae4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docker/frontend-domains.json":{"size":2348,"mtime_ns":1782410142646593892,"hash":"dc12d68e32830d446995ea2a8cf98fe0bc24e15d4b6b0b27dd5b97dc84b06568"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docker/gen-cors-env.php":{"size":1933,"mtime_ns":1783423497551393748,"hash":"a8e8a22c1e371890913e78f210ab6cbf36b0f47220e4fabad8c874c284af29ee"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docker/healthcheck.sh":{"size":443,"mtime_ns":1782647901237410548,"hash":"b4d2a6f75f334c832e9a015b4e296f3fb9210f128b2b1b40bfe74abf6e6babc5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260628133044.php":{"size":1747,"mtime_ns":1782728407177086438,"hash":"5c24097f68a7696b4ae58ba6df68b6ace4f508b1f0ebf3e964fff23661c8ea0a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260628134241.php":{"size":1159,"mtime_ns":1782728407177374107,"hash":"c31886c1f10dd25296b56fb7ba336f1fc45aa45d6627ab6bdb148f18d49872ee"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260628152738.php":{"size":1873,"mtime_ns":1782728407177652192,"hash":"d7a00a9e505a45fe1056cde539a8cbefcb42f67a0c3755427d77ba12959e0c4c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260628153625.php":{"size":882,"mtime_ns":1782728407177952152,"hash":"b314e4f194586cb9b4037fb48ab8400a307ce428def8108b94616a263e24e238"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260628153855.php":{"size":1146,"mtime_ns":1782728407179127785,"hash":"1ec80db45af56adf7be93c412e0165c70fb629dde2ccc09b06a3452a66c52c05"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260628165710.php":{"size":809,"mtime_ns":1782728407179735539,"hash":"cca05740bf26d1540b361283f5a140aeb446bd717250615b7ed040977788dab6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260628173151.php":{"size":1639,"mtime_ns":1782728407180333627,"hash":"b8bbe9ad2ce3faae637534db20bfc455e288bc2c5fb3a1b9a10f4a29db2432aa"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Command/CreateAdminCommand.php":{"size":2428,"mtime_ns":1782649564990017265,"hash":"2fd1cffeb4d8299abb1a5fda3d9f29a08c882ff6e66781dffbc038ff675906c8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Service/TenantInsuranceCleanupService.php":{"size":1874,"mtime_ns":1782728407197355450,"hash":"19f366c81466bfebfd37cd2310f8602b243cf5111e51308892e196b7d5a7dc4e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/ApiTestCase.php":{"size":2923,"mtime_ns":1782728407205043418,"hash":"6ec92ce7ac31774fec6ceb5e33a073d6cdbe06044221f38e4939f99270fe8bfb"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Appointment/AppointmentExpiryServiceTest.php":{"size":2163,"mtime_ns":1782728407205393295,"hash":"5586072347e23a24fddaa187efeb93d702697b7cdd1a399909239684cf371372"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Appointment/AppointmentSettingsListOwnershipTest.php":{"size":1592,"mtime_ns":1782728407205827923,"hash":"1ffb3b0a89f531658a75520df810efc7e18022e106a75d885d92986d62ba74e7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Appointment/BookingScopeTest.php":{"size":1653,"mtime_ns":1782728407206108967,"hash":"395161c96b8a660dab252a12c063090de94131b66d672c3b8804d70800327451"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Appointment/DateOverrideOwnershipTest.php":{"size":1259,"mtime_ns":1782728407206489928,"hash":"10dfd3691f16464f1d16a317942a53046f5369260a74ce133960d1b1f30218aa"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Appointment/ScheduleOwnershipTest.php":{"size":1721,"mtime_ns":1782728407206779055,"hash":"f935dde55aaa34b8c10780019e1c8ee7f5733c602874cc951411737dc9691329"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Appointment/SlotUniquenessTest.php":{"size":2475,"mtime_ns":1782728407206954431,"hash":"0168f3c381e9da2663e2cf118fd67f5b90d2ea6e4e96433e3d05a567248961f4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Audit/LowTierFixesTest.php":{"size":1517,"mtime_ns":1782728407207202432,"hash":"6d65ac794b959d7b177dfd5ed9792082e5f79a073b0cda79be8503b689edc907"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Auth/RefreshTokenTest.php":{"size":1924,"mtime_ns":1782728407207460101,"hash":"745716b0c8627a1f72fed9305b2dc70af84c14ed015ff3341bd3c6422ea63c87"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Auth/SendCodeMobileRateLimitTest.php":{"size":1421,"mtime_ns":1782728407207651102,"hash":"f069f1c427ffbeb082d3777ae8da34e031e940e4a0c79e5da4e80708345890aa"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Billing/ClaimAmountBoundsTest.php":{"size":1863,"mtime_ns":1782728407207878645,"hash":"0b7551406b5b0c2fe47812614e3edbf359b72ef3c0f16b12466e387c5bdbb041"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Billing/ClaimsListNPlusOneTest.php":{"size":1782,"mtime_ns":1782728407208062397,"hash":"dcf666e9d1a149bf85e0ef7869083bceec48bd8ba95958292878d73f7e330467"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Billing/ClaimsListPaginationTest.php":{"size":1215,"mtime_ns":1782728407208282107,"hash":"3d81e096e779dc685eed5920d7fef419ebf2c96e96794ae8d6222daeb0dea7e3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/ClinicService/ServiceItemDeleteCleanupTest.php":{"size":1598,"mtime_ns":1782728407208527691,"hash":"f9809dce56ba099731d9fbf6e1da781c18acc49a758537002868a7db3efad7b1"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/ClinicService/ServiceItemStaffOwnershipTest.php":{"size":1464,"mtime_ns":1782728407208738276,"hash":"e8b808423b34ee5471e7d00407f94ed22593e06ed6c4e674f92e972ed0e8718f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Database/UniqueConstraintsTest.php":{"size":2595,"mtime_ns":1782728407208978278,"hash":"aeaae84730fbdecfb8337f25283653d3867d3cf50332e7bea917c946672c97cd"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Doctor/ClinicDoctorListNPlusOneTest.php":{"size":2457,"mtime_ns":1782728407209223988,"hash":"705820b9d1590cf2f642e6ee7391a651536104c92acf39f261e2df71516ed55a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Doctor/DoctorAddressOwnershipTest.php":{"size":1313,"mtime_ns":1782728407209479490,"hash":"8fde8b4d6db03191fc8d650bf86fa6962956b504013b76a55c4e5ae791e47c38"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Doctrine/RepositoryClassMappingTest.php":{"size":1573,"mtime_ns":1782728407209727575,"hash":"5289139754fae16d85a09fcff134ceef249968876f029c180f36b1c7d53bf5d5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Insurance/DoctorInsuranceOwnershipTest.php":{"size":1486,"mtime_ns":1782728407209989701,"hash":"9231aaeffd13bf27869e74186679ddd38d1f6ebc9c52d36a8dad9b589bea3ad0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Insurance/ServiceCoverageNPlusOneTest.php":{"size":3714,"mtime_ns":1782728407210225203,"hash":"dd8ffa7d6329453fa49a9403b95a13556ad08dd318c89733a202d9d6c8ecfa4f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Insurance/TenantInsuranceCleanupTest.php":{"size":3021,"mtime_ns":1782728407210448121,"hash":"986643979f19f6a7ee71127782524852eb9eb163b77db793253e95b8df534675"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Payment/PaymentCallbackAmountTest.php":{"size":3356,"mtime_ns":1782728407210719081,"hash":"1b32d36a573652e1860ae2ceaf20ead7eee9cef0c204c9d4875ce8926849e278"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Rating/CommentListNPlusOneTest.php":{"size":3794,"mtime_ns":1782728407210931374,"hash":"473c67b119935570a66ab5e75cc36311f04ce314729e75bf44fd337bacbc4535"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Rating/CommentPaginationTest.php":{"size":1836,"mtime_ns":1782728407211216876,"hash":"7d11e7ba342faf3c69e5844c1adab2aa7583b201737d16e0724d9233d00ad1e6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Representation/RepresentationCommissionTest.php":{"size":2548,"mtime_ns":1782728407211506878,"hash":"26b9f23b2462b30adea512eeb07f92f4db597a60c0ed3610a4169bd22f7c6c26"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Secretary/SecretaryListNPlusOneTest.php":{"size":1592,"mtime_ns":1782728407211848922,"hash":"bce8c0d2597c3641885ba9322eb03bada116d979e3bd7a0b4c90d5208fdd620c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Settlement/FinancialBreakdownIntegrityTest.php":{"size":1173,"mtime_ns":1782728407212105424,"hash":"3e987494345d3a7c1cc90de7b27bfcac7bc45bb54e8fa0a7a3f790bdfa406aaf"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Settlement/SettlementListPaginationTest.php":{"size":957,"mtime_ns":1782728407212820054,"hash":"74501df43886dc66c5fe19f849549a2194644dc948d94856f97d0af17c0d179c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Settlement/WalletTransactionsPaginationTest.php":{"size":1087,"mtime_ns":1782728407213026555,"hash":"8df4dfce9a91d73297d88f22e047a4127fee2b00e2fe1bc8f43eed2ff805fae9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/ErrorCodesTest.php":{"size":1547,"mtime_ns":1782728407213280973,"hash":"bf392c01cd7a70c25efe7c4ad59ffdb4579b1216576d58393c3a965524360f0c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Smoke/InfraSmokeTest.php":{"size":1444,"mtime_ns":1782728407213624767,"hash":"d8d4a8c5688d7ed7168570bfc39c3cf038e2c43324498dff3239f5668afa0a1f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/doctrine_object_manager.php":{"size":479,"mtime_ns":1782728407213800685,"hash":"7a99fb0ab55d30b31cdebe923546775d6372a0aa6e731b409c37fb8f98671f5d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/admin-spa-adapt-backend-audit.md":{"size":8798,"mtime_ns":1782728407083687268,"hash":"f7e83133c40658496827e06f6182a995ccaff35018d83b7ee8aa32aba25a03fb"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/coolify-docker-production-hardening.md":{"size":13443,"mtime_ns":1782647901236299599,"hash":"74228033d085f739ed39f615762ad721c6b3678122d0afc3f988676c4b514589"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/coolify-symfony-deploy.md":{"size":18877,"mtime_ns":1782409236333930026,"hash":"a81d0aa4535ae4be51f69d47c5101f7a72415654ded3889e01f1baf98718715a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/full-backend-audit.md":{"size":11545,"mtime_ns":1782728407084760233,"hash":"448fb57a5fdadd9bb3176b1570c0421b6459bbf2a5bd69bd4154246ae0c61285"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/home-landing-copy-and-mobile.md":{"size":12400,"mtime_ns":1783500476952532681,"hash":"761c1d9fe055e628d59a006628f52163f49f6cc3499b6d7480baa67386ae8b88"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/split-db-redis-to-coolify-resources.md":{"size":12357,"mtime_ns":1782632977626228125,"hash":"6d87685ede07fb029b01d211fa82bdb7311bde9eb31ee9869992e6c49da5c75f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/DEPLOY.md":{"size":11539,"mtime_ns":1782647901238565498,"hash":"39797d5439fd4fd0fd19ae7a5b033febf0fbf6b58d07fdd1750d3aa2799b9163"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/audit-backlog.md":{"size":19190,"mtime_ns":1782728407113021215,"hash":"63afb7aaff2eb3113700644ab9bbfa07562ccec38cba4c77c0f21cd9acb98706"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/deploy/coolify.md":{"size":10378,"mtime_ns":1782410984792896284,"hash":"f1d06d336c14b8df1530ec41dd80021b40e7113be0895504f9dda70b112a1cdf"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Controller/SeoController.php":{"size":1860,"mtime_ns":1782728407203067196,"hash":"df1028d7b1b294928a318cc7c27de5ca99b00d583d81ef6f400494c22380b6a6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/liara.json":{"size":638,"mtime_ns":1782743447395127690,"hash":"337416608afe2e6e989bfd903bb5bca1e977e6f8eb5cc02ca05a46bbda53edc4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/liara_pre_build.sh":{"size":559,"mtime_ns":1782735663785720587,"hash":"d9b9232a0f115eb1d752c2b149a5224ea030fd04d3c92ab964d53a6701d5e0a7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/liara_pre_start.sh":{"size":1063,"mtime_ns":1782747838542662883,"hash":"c5d143014bb281d056f6c286cf66faa4894b059584cceeacd150b01648cbde52"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/admin-spa-test-suite.md":{"size":19691,"mtime_ns":1782728407084188354,"hash":"73ad644cede4254811fab6f825750f127edb1b5f08b8bad25b99b85c097a9556"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/deploy-liara-docker.md":{"size":14106,"mtime_ns":1782732118990034632,"hash":"1a5f6f8bba054ea974f99dc5c01aeb19ed1cf612c3fd18a700bc03beaded2b5d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/deploy-liara-php.md":{"size":13353,"mtime_ns":1782735439025822952,"hash":"39f30d7c6d20b1869f5f06b2b532071e94b264f4bddf248c3cf84c62159ed86c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/deploy-liara-php.md":{"size":10664,"mtime_ns":1782736008651392836,"hash":"65c93d7d9e14dd468b75c5c81dee1ae6438d267253e8ad295953d3746d68d250"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/deploy-liara.md":{"size":8919,"mtime_ns":1782732335270881309,"hash":"ade1392f7cf72c544736a765b03140858e45cc5f12a480cd03ba4628af17e84b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260629161536.php":{"size":1115,"mtime_ns":1782749766472631367,"hash":"c0e9b10f345c3d894d27267c90618903fab9693fd4be3542a755fbed3787fcba"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Logging/AppLog.php":{"size":1707,"mtime_ns":1782749711194459630,"hash":"5b3237552e7ae040e5a3b2a289e8fc0f0518a1df84553665ea214efd36c2321d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Logging/AppLogRepository.php":{"size":1042,"mtime_ns":1782929739410604413,"hash":"1ea5a9d3ace2fce4b476ccb2b0954b06f3d4c364fa9e7aa9d77c25a8a6631d1c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Logging/DbLogger.php":{"size":3546,"mtime_ns":1782749810227775663,"hash":"4d5328c774fe4619eb75f9de434173ae4a4b5ca53f7729383399b12c2a222805"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Admin/AdminLogsTest.php":{"size":3156,"mtime_ns":1783664104075507029,"hash":"c7f6f6958ff7097db77960d3d29e72ba9563bcf13fad264ccbd8af92b989dc5d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/DbLoggerTest.php":{"size":1768,"mtime_ns":1782749879165982208,"hash":"48db5c733cc7e02a8a226fc4ed552cd5282c91d400dc72b32f3f122c127033bf"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/project-wide-logging.md":{"size":14450,"mtime_ns":1782749549958444881,"hash":"3970d300cb4b804fed477773b47b653edb7aa3754b8cefd0e3f7d31a49417e6f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Controller/CategoryImportController.php":{"size":3511,"mtime_ns":1782843840412881578,"hash":"721aecace95083433388fa4205e063cb45867b202d5430f44c1b0bbb1faa4465"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Category/CategoryImportTest.php":{"size":5536,"mtime_ns":1783499837163827969,"hash":"d80eb9b3053cccc4a29926832b4839ea7d17ac6fbdcb342dfd251b2130bd1c41"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/category-import.md":{"size":5741,"mtime_ns":1783500035987979007,"hash":"48be2043d1b5dfe9b37580383626be174696d5735c51486220080c10b89dd5b5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/seed/cities.json":{"size":50422,"mtime_ns":1783500944157597451,"hash":"473d523b14d8547b6262421099146299a580664c5ac61082eb835a4c1c18462a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/seed/doctor_services.json":{"size":46716,"mtime_ns":1782843868777989827,"hash":"3a5610d926bb9581c868449c387e80feef104aec7c9bdc6ed39835e87c287015"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/seed/provinces.json":{"size":4364,"mtime_ns":1782843868770610383,"hash":"c28e9c29f212ac946af73f8122b545bd3761766ebc2c8e0a47567ef6a9fc5197"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/seed/specialties.json":{"size":18764,"mtime_ns":1782843868775505763,"hash":"9bcf8a9b8f83e159a290b14c13b17b485185812c9e53ef62df4e33f84b216e47"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Command/SeedCategoriesCommand.php":{"size":2775,"mtime_ns":1782843891881834765,"hash":"13a71e6dab76fcb921270b6e2f996145b78e3c09d69b38592612a879707d87dc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php":{"size":11859,"mtime_ns":1783499652565190714,"hash":"90101a086fb74c753ac6f26202ac1f850a6dda487f46fe489d456458596c6487"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/production-fixes-cors-payment-gateways.md":{"size":15490,"mtime_ns":1782896794174529460,"hash":"4a016b326e836f770e919fd1f5d3bf3f5f70fc4dd7aa9676c198e9b7e63f7b91"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/qa-full-system-audit.md":{"size":15299,"mtime_ns":1782894418024832296,"hash":"8cccd87e3d45acefda119c2e63b85e013e60943b2524a9bc2e9b62074c9bb9f2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/secretary-welcome-sms.md":{"size":8951,"mtime_ns":1782902722286387081,"hash":"05b7b6fbd16251df4d8049e99a7692e0fe3245c4f8ad6f0188e7f0b79fb92f4d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/sms-settings-apikey-env-only.md":{"size":16545,"mtime_ns":1782893768608578413,"hash":"dada8658d0861aa23bbca638f3f832a420d16699a71a02d2dc6358bac834538e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/qa/full-system-audit-report.md":{"size":18928,"mtime_ns":1782896060811421986,"hash":"0053ebf6c21b4a5da087f668332ebdacbceef6a781cd3767155d08647b165b9d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Logging/Command/PruneLogsCommand.php":{"size":866,"mtime_ns":1782929791849281801,"hash":"e80ac76c51bb7ac78fe69679cbe82454f65f5ba6b35d3b3c3a01260698c35c6d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Logging/LogPruneService.php":{"size":883,"mtime_ns":1782929784989711179,"hash":"9fe084116ccdb7a551ccae4c8d48626f7370549ae386e31c112cb579d8647ba6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Logging/Message/PruneLogsMessage.php":{"size":73,"mtime_ns":1782929786004422877,"hash":"d060dc486c8bcd48d507d001c65b68f4e3b84eb5cdccede2272bcfd2437ca142"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Logging/MessageHandler/PruneLogsHandler.php":{"size":463,"mtime_ns":1782929788291896556,"hash":"20acb36c09cd00f50865c9d8bd04f8234eb0a76285a744e34d5cd2e50e3f4eaf"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260702063537.php":{"size":651,"mtime_ns":1782974183036403270,"hash":"2d3311a9342c690139154fabd01bcf942f32b1533612dbdf7de677ee04dc34db"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/admin-ios-safari-css-fallbacks.md":{"size":9046,"mtime_ns":1782975691974719871,"hash":"48e210b06690285c3db657ab7a964830ecfc5d826e7624eb0a64df550fdccdca"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260702115209.php":{"size":962,"mtime_ns":1782993164666143613,"hash":"821f2b858cff251eebc74ac92b4b9263c24dbaffaa34e05b03b2324186bbeb08"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Entity/PaymentLog.php":{"size":2358,"mtime_ns":1783010796435723748,"hash":"14cb8d07e807806c11ce8602cae3bcd05b3d639dd8698c78f262136fced58b37"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Gateway/GatewayFactory.php":{"size":3532,"mtime_ns":1783010796436002206,"hash":"587b83007d7a8d0ac0d45c6a3c8108d3e0dde9568168144061e182fa1f7767c7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Gateway/PaymentRefundResult.php":{"size":331,"mtime_ns":1783010796438108203,"hash":"2bc320c00a5049780d14735c7ff72b376159b6535e94c3993ae15d43ad72e548"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Repository/PaymentLogRepository.php":{"size":577,"mtime_ns":1782993118701194485,"hash":"06bcfbcd017b77e4ad6f855cc6f3184bf863fe3f29641fca8c4a8d4f48bf6be8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Service/PaymentManager.php":{"size":20348,"mtime_ns":1783569345780853355,"hash":"8f5af952c994559d4ca21e87957017826685729dd8b5c5bf59c3c9b3c3b02287"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Payment/MellatGatewayTest.php":{"size":735,"mtime_ns":1782984645104304163,"hash":"94d88c7055fe1be78f52d3dcc56078b62bbad4a24a1d7c5ffad6f86e9d5e2c7e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/admin-mobile-responsive.md":{"size":11674,"mtime_ns":1783014366933033009,"hash":"852ccdcc3659967ca4aab8059adec237b69e5fb8416d951b052cdf7eb647f9a2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/admin-payment-refund-reversal.md":{"size":15214,"mtime_ns":1783010796431742588,"hash":"e55052916115c1c67bcbd5ee1f39be8454ab3eb77d82902f271f52433da4951d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/doctor-appointment-notification-sms.md":{"size":7985,"mtime_ns":1783012880392028526,"hash":"16f20ad212e905030ddb53ae8899b9b185eee3bf094ef7782437156a83808f2e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/doctor-experience-activity-date.md":{"size":12376,"mtime_ns":1782978755921887105,"hash":"062541c7937a458a5c0aa4245699f9b6c5343cdc7551aebf36af5e3c1ca95b2e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-admin-modal-and-calendar.md":{"size":9611,"mtime_ns":1782979774560814821,"hash":"fe83975f003f964e3ae9fc1ac9c0b5354ce8cf02fe51ef3dfaee6b3a766a2452"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-doctors-list-location-filter.md":{"size":12852,"mtime_ns":1782977589946540539,"hash":"cba39cdd0c017cb66792a6c4707e1cd9f060c8c03e9f7b16878a0ddae96a616d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/mellat-production-soap.md":{"size":11655,"mtime_ns":1783010796432002379,"hash":"57bef1c36673ed6135d976b61ae551e590fb757e403fcfce8475ad4950ffabe6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/mellat-sandbox-gateway.md":{"size":13487,"mtime_ns":1783010796432293420,"hash":"de2aec27fbadc4dd88f1587822b349985073b32d1c9f09f54642f3d56a21fffa"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/payment-flow-architecture.md":{"size":13171,"mtime_ns":1782992901105315211,"hash":"9ae4872e0ca49d602b246c6c04e97dc6476a3fbbc4bf29c43dee8cca84e8307e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/payment-single-flow-consolidation.md":{"size":12823,"mtime_ns":1782994765480242696,"hash":"4e04a45a73afaa8b4a0c80552519e5cd1dbc641f1b9dbe8e2d70bdb974c37111"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/sms-price-and-wallet-settings.md":{"size":9735,"mtime_ns":1782998857276789821,"hash":"cbb79a9bd90c62fcd753606137f8d384a1cdbb47164c4879400c93919dae09bc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260703085828.php":{"size":867,"mtime_ns":1783069119205310313,"hash":"c627a3c2239ef4caae61a87ac9b189d97886576d9f151b3b64ece5f8e5c5e325"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260705070546.php":{"size":1214,"mtime_ns":1783235160126438474,"hash":"4e02d6033fc62b44eddabfdedabfcecea984630a43bf651af2eb3620a617ee9f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260705072835.php":{"size":2428,"mtime_ns":1783236836060491368,"hash":"5a3681228a5349171fba0c11c024024e75a40d303f6d2695cfa9096a48d8b21c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260705081716.php":{"size":2217,"mtime_ns":1783239466992612707,"hash":"053bcd79fc331f32d94a31317b83fbb4925d3ed129e9f974c935e74925186c68"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Sms/SmsServiceLookupOnlyTest.php":{"size":5242,"mtime_ns":1783456125443604411,"hash":"e6a7bc771a3d4c785af5c6b7db13dca677e1953b2cfb26e604cb353c2e5a6bd4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/clinic-pro-promo-video.md":{"size":10920,"mtime_ns":1783245223582403990,"hash":"61af8b73d12e2eeb2acfa40fd359218d83e1a7eb2187a8dbf881c70c761ac9f9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/currency-toman-display-admin.md":{"size":8321,"mtime_ns":1783060267941162529,"hash":"90c735ff59081e8af302d91dadf9eed20d877f17154cfc1df58c1852bb82f1a5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/expired-appointment-blocks-payment.md":{"size":10679,"mtime_ns":1783059494354544687,"hash":"94824beb21147a04f6d699242d4dd586127ba983fb48d74e73919a2b125b64a2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-modal-portal-positioning.md":{"size":8120,"mtime_ns":1783189568446030666,"hash":"8b407ba218adf3d2dd670f58379fe3ad658b0df9b6c5a45cbf6d54323d4449ff"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/otp-sms-site-name.md":{"size":9080,"mtime_ns":1783070793009698214,"hash":"300c3b5f55738ef62b573163272078d6ac3d5ac0d61393dc9bfbcb75532781f1"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/otp-via-kavenegar-lookup.md":{"size":10815,"mtime_ns":1783151621410073439,"hash":"116fabb2150ad9157f2a59c6b42ab8af4c4100c6b0bfffa8a48a84db50da6d1d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/sms-lookup-only.md":{"size":9841,"mtime_ns":1783421842166664361,"hash":"32a4e3ffaacba3c1a02652cd46380ec298569d36b6938495ff858175e31e9332"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/sms-verify-lookup-templates.md":{"size":17062,"mtime_ns":1783236336652480520,"hash":"d891097629add975bb30ebf1770536544a2df95270359c4fd75471e43be0ff7a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/DependencyInjection/CorsRegexEnvProcessor.php":{"size":1417,"mtime_ns":1783423339918379070,"hash":"610d9a1710e853a246efd84e13cf20944b9d921d162d4d6e50315e8185d34dc5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/CorsRegexEnvProcessorTest.php":{"size":2522,"mtime_ns":1783423530411102164,"hash":"6eca57bd6f1e720d0c8649acded03d3a6f5434544bfb6f6cafaab3e462d542ea"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/cors-regex-from-hosts-coolify-safe.md":{"size":10867,"mtime_ns":1783423233682261850,"hash":"f48fd368e9e878730fe06cfb0a6d201125d6ec0939166dd3e75eeac6c1eda620"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260707202553.php":{"size":786,"mtime_ns":1783455961508537079,"hash":"bb677fe6041e10d486539f4125654adbad48125481c892c44ded8f61452409ec"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Sms/KavehNegarProviderTest.php":{"size":1952,"mtime_ns":1783491609892729695,"hash":"4527c1eeebd79828e19e57ab6b2aa32a144401c40ac10e593f585a00d7e8e9bb"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/coolify-restart-diagnosis-hardening.md":{"size":8796,"mtime_ns":1783497150563049693,"hash":"06e591a50e6b36a2a999a2b3feea53abde66a2edf84f49cebaa7a9da7d0d3cb9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-kavenegar-sms-errors.md":{"size":10465,"mtime_ns":1783491468913393002,"hash":"911e63cefac9708e7170a804ded38638a265a94c2b8f8d7381ead7ba35f7c30c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-prod-soap-extension.md":{"size":6219,"mtime_ns":1783490610538563465,"hash":"9dd5ff799a5932287ed13efd8533b8bd3a2a564db90c20584bfa4890fc6fd6a6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/ops-restarts.md":{"size":12951,"mtime_ns":1783528554195114238,"hash":"a9cf9bc5f68122f8b077138ee8ee76916407a34814806989fa09192962701bd3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260708083446.php":{"size":766,"mtime_ns":1783499693032278579,"hash":"1df2d053159ae991d2efe948e1cbc5e8f5f4a349f9c61fa850cd0a252f57db23"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/collect-diagnostics.sh":{"size":2232,"mtime_ns":1783528559094529355,"hash":"4986640559d6ef107162eedd9eea40a6134b0e8f8e44b35d362a96001b735648"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/server-down-oom-diagnosis.md":{"size":9569,"mtime_ns":1783520770245126273,"hash":"c79306d1d395019b2c945cb8bc26443f1d1a311c82adbca67cd6a53ef6021586"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260709033925.php":{"size":2446,"mtime_ns":1783569345800595414,"hash":"7dc79782c05c144c5319c483ceb318f55afe334c70bdda309cd42f109ef5d352"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Representation/Controller/SiteContextController.php":{"size":2168,"mtime_ns":1783569345800759789,"hash":"987af1ca119180771f6305de4886ee6b0bc49477020e7f9151578d36ffae67cf"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Representation/Service/DomainContext.php":{"size":672,"mtime_ns":1783569345800949456,"hash":"60331aef5f3b52906723ceb6426e968c83172cf728cd8ee8dc098c837fcf1da4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Representation/Service/DomainContextResolver.php":{"size":2984,"mtime_ns":1783571733722936912,"hash":"2b1328889662faa34649c8cccf7c424668eda9ca86179063773ab8b2ff100d0f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Representation/DomainCommissionTest.php":{"size":6122,"mtime_ns":1783571798429778759,"hash":"b1532c1bace1c311a535123c1ce71cd6d3970d33c870fd6aea2909d60bd826a0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/representation-multi-city-domain-commission.md":{"size":13329,"mtime_ns":1783569345800353081,"hash":"55853bb2d2c79fee977be9361d34d981b536c81547093f6e65da782c763388ed"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Command/SeedDemoDataCommand.php":{"size":42655,"mtime_ns":1783570794260767694,"hash":"0eba4d7c312a02ad5745899831c77d4cf3227353770f79e95f11d99fbc6178a3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/seed-demo-data.md":{"size":13515,"mtime_ns":1783570038522232126,"hash":"0d123d7758cafa22feb9cfc8b42976710f2a1234cc684bfb18ca8ed5b65b2865"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Captcha/AltchaService.php":{"size":2842,"mtime_ns":1783666097113032594,"hash":"d98e311e0268ef2b6015b051d42bfedaaf9afa0a2850d7842f1e0d7600916f4a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Captcha/CaptchaController.php":{"size":821,"mtime_ns":1783666097113509634,"hash":"b1602ecd3be5e3c1e29eb2f66b7beb9f991e5d7ac487e72e0c6bf6cf640a3879"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Captcha/CaptchaGuard.php":{"size":945,"mtime_ns":1783666097114071341,"hash":"0849c4c39bf752e5f94477e82ef9080245cde06f6fc59bac80a5b5a0f0f7eecc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/AltchaServiceTest.php":{"size":3236,"mtime_ns":1783666097115496172,"hash":"63d566ddb57c57860dce114a2fa5575f83877ad50bcdaace4d2f31648f83aa6c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/Captcha/CaptchaFlowTest.php":{"size":1524,"mtime_ns":1783666097116539419,"hash":"63bfddb2b2dd14542521febeda5cc3584ed8c08eb27e1983dfeb1657154b3f7f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/altcha-captcha-integration.md":{"size":13652,"mtime_ns":1783666097111438097,"hash":"c435895b86893a68c87144f4f70cb4e75f26bfbfc99390769c837c450dfb3a21"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/captcha.md":{"size":3390,"mtime_ns":1783666775683166430,"hash":"db00decdd07f5ce818cae523811ea83bb924334ebf86272b975dfec118027095"}} \ No newline at end of file diff --git a/graphify-out/graph.json b/graphify-out/graph.json index dd19ff55..bde47b5d 100644 --- a/graphify-out/graph.json +++ b/graphify-out/graph.json @@ -240,7 +240,7 @@ "source_location": "L1", "_origin": "ast", "id": "components_tenantinsurancecontracts", - "community": 8, + "community": 71, "norm_label": "tenantinsurancecontracts.tsx" }, { @@ -250,7 +250,7 @@ "source_location": "L9", "_origin": "ast", "id": "components_tenantinsurancecontracts_contract", - "community": 8, + "community": 71, "norm_label": "contract" }, { @@ -260,7 +260,7 @@ "source_location": "L20", "_origin": "ast", "id": "components_tenantinsurancecontracts_insuranceoption", - "community": 8, + "community": 71, "norm_label": "insuranceoption" }, { @@ -270,7 +270,7 @@ "source_location": "L26", "_origin": "ast", "id": "components_tenantinsurancecontracts_kind_label", - "community": 8, + "community": 71, "norm_label": "kind_label" }, { @@ -280,7 +280,7 @@ "source_location": "L31", "_origin": "ast", "id": "components_tenantinsurancecontracts_tenantinsurancecontracts", - "community": 8, + "community": 71, "norm_label": "tenantinsurancecontracts()" }, { @@ -310,7 +310,7 @@ "source_location": "L1", "_origin": "ast", "id": "layout_sidebar", - "community": 0, + "community": 8, "norm_label": "sidebar.tsx" }, { @@ -320,7 +320,7 @@ "source_location": "L33", "_origin": "ast", "id": "layout_sidebar_sectionitem", - "community": 0, + "community": 8, "norm_label": "sectionitem" }, { @@ -330,7 +330,7 @@ "source_location": "L39", "_origin": "ast", "id": "layout_sidebar_section", - "community": 0, + "community": 8, "norm_label": "section" }, { @@ -340,7 +340,7 @@ "source_location": "L41", "_origin": "ast", "id": "layout_sidebar_buildsections", - "community": 0, + "community": 8, "norm_label": "buildsections()" }, { @@ -350,7 +350,7 @@ "source_location": "L420", "_origin": "ast", "id": "layout_sidebar_role_labels", - "community": 0, + "community": 8, "norm_label": "role_labels" }, { @@ -360,7 +360,7 @@ "source_location": "L429", "_origin": "ast", "id": "layout_sidebar_hues", - "community": 0, + "community": 8, "norm_label": "hues" }, { @@ -370,7 +370,7 @@ "source_location": "L431", "_origin": "ast", "id": "layout_sidebar_avatarbg", - "community": 0, + "community": 8, "norm_label": "avatarbg()" }, { @@ -380,7 +380,7 @@ "source_location": "L436", "_origin": "ast", "id": "layout_sidebar_props", - "community": 0, + "community": 8, "norm_label": "props" }, { @@ -390,7 +390,7 @@ "source_location": "L441", "_origin": "ast", "id": "layout_sidebar_sidebar", - "community": 0, + "community": 8, "norm_label": "sidebar()" }, { @@ -413,6 +413,46 @@ "community": 8, "norm_label": "topbar()" }, + { + "label": "Altcha.tsx", + "file_type": "code", + "source_file": "assets/admin/components/ui/Altcha.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "ui_altcha", + "community": 367, + "norm_label": "altcha.tsx" + }, + { + "label": "AltchaProps", + "file_type": "code", + "source_file": "assets/admin/components/ui/Altcha.tsx", + "source_location": "L8", + "_origin": "ast", + "id": "ui_altcha_altchaprops", + "community": 367, + "norm_label": "altchaprops" + }, + { + "label": "IntrinsicElements", + "file_type": "code", + "source_file": "assets/admin/components/ui/Altcha.tsx", + "source_location": "L16", + "_origin": "ast", + "id": "ui_altcha_intrinsicelements", + "community": 367, + "norm_label": "intrinsicelements" + }, + { + "label": "Altcha()", + "file_type": "code", + "source_file": "assets/admin/components/ui/Altcha.tsx", + "source_location": "L24", + "_origin": "ast", + "id": "ui_altcha_altcha", + "community": 367, + "norm_label": "altcha()" + }, { "label": "AppointmentStatusDropdown.tsx", "file_type": "code", @@ -420,7 +460,7 @@ "source_location": "L1", "_origin": "ast", "id": "ui_appointmentstatusdropdown", - "community": 49, + "community": 13, "norm_label": "appointmentstatusdropdown.tsx" }, { @@ -430,7 +470,7 @@ "source_location": "L8", "_origin": "ast", "id": "ui_appointmentstatusdropdown_status_meta", - "community": 49, + "community": 13, "norm_label": "status_meta" }, { @@ -440,7 +480,7 @@ "source_location": "L18", "_origin": "ast", "id": "ui_appointmentstatusdropdown_transitions", - "community": 49, + "community": 13, "norm_label": "transitions" }, { @@ -450,7 +490,7 @@ "source_location": "L23", "_origin": "ast", "id": "ui_appointmentstatusdropdown_props", - "community": 49, + "community": 13, "norm_label": "props" }, { @@ -460,7 +500,7 @@ "source_location": "L30", "_origin": "ast", "id": "ui_appointmentstatusdropdown_appointmentstatusdropdown", - "community": 49, + "community": 13, "norm_label": "appointmentstatusdropdown()" }, { @@ -470,7 +510,7 @@ "source_location": "L1", "_origin": "ast", "id": "ui_confirmdialog", - "community": 41, + "community": 19, "norm_label": "confirmdialog.tsx" }, { @@ -480,7 +520,7 @@ "source_location": "L5", "_origin": "ast", "id": "ui_confirmdialog_props", - "community": 41, + "community": 19, "norm_label": "props" }, { @@ -490,7 +530,7 @@ "source_location": "L17", "_origin": "ast", "id": "ui_confirmdialog_confirmdialog", - "community": 41, + "community": 19, "norm_label": "confirmdialog()" }, { @@ -500,7 +540,7 @@ "source_location": "L1", "_origin": "ast", "id": "ui_datatable", - "community": 41, + "community": 19, "norm_label": "datatable.tsx" }, { @@ -510,7 +550,7 @@ "source_location": "L4", "_origin": "ast", "id": "ui_datatable_column", - "community": 41, + "community": 19, "norm_label": "column" }, { @@ -520,7 +560,7 @@ "source_location": "L12", "_origin": "ast", "id": "ui_datatable_props", - "community": 41, + "community": 19, "norm_label": "props" }, { @@ -530,7 +570,7 @@ "source_location": "L28", "_origin": "ast", "id": "ui_datatable_skeletonrow", - "community": 41, + "community": 19, "norm_label": "skeletonrow()" }, { @@ -540,7 +580,7 @@ "source_location": "L40", "_origin": "ast", "id": "ui_datatable_datatable", - "community": 41, + "community": 19, "norm_label": "datatable()" }, { @@ -550,7 +590,7 @@ "source_location": "L1", "_origin": "ast", "id": "ui_featuregate", - "community": 0, + "community": 8, "norm_label": "featuregate.tsx" }, { @@ -560,7 +600,7 @@ "source_location": "L6", "_origin": "ast", "id": "ui_featuregate_featuregateprops", - "community": 0, + "community": 8, "norm_label": "featuregateprops" }, { @@ -570,7 +610,7 @@ "source_location": "L11", "_origin": "ast", "id": "ui_featuregate_featuregate", - "community": 0, + "community": 8, "norm_label": "featuregate()" }, { @@ -700,7 +740,7 @@ "source_location": "L1", "_origin": "ast", "id": "ui_notificationmobilecard", - "community": 301, + "community": 13, "norm_label": "notificationmobilecard.tsx" }, { @@ -710,7 +750,7 @@ "source_location": "L8", "_origin": "ast", "id": "ui_notificationmobilecard_notificationmobiledata", - "community": 301, + "community": 13, "norm_label": "notificationmobiledata" }, { @@ -720,7 +760,7 @@ "source_location": "L12", "_origin": "ast", "id": "ui_notificationmobilecard_props", - "community": 301, + "community": 13, "norm_label": "props" }, { @@ -730,7 +770,7 @@ "source_location": "L16", "_origin": "ast", "id": "ui_notificationmobilecard_notificationmobilecard", - "community": 301, + "community": 13, "norm_label": "notificationmobilecard()" }, { @@ -780,7 +820,7 @@ "source_location": "L1", "_origin": "ast", "id": "ui_pagination", - "community": 41, + "community": 19, "norm_label": "pagination.tsx" }, { @@ -790,7 +830,7 @@ "source_location": "L5", "_origin": "ast", "id": "ui_pagination_props", - "community": 41, + "community": 19, "norm_label": "props" }, { @@ -980,7 +1020,7 @@ "source_location": "L1", "_origin": "ast", "id": "ui_portal", - "community": 71, + "community": 301, "norm_label": "portal.tsx" }, { @@ -990,7 +1030,7 @@ "source_location": "L4", "_origin": "ast", "id": "ui_portal_portal", - "community": 71, + "community": 301, "norm_label": "portal()" }, { @@ -1060,7 +1100,7 @@ "source_location": "L1", "_origin": "ast", "id": "ui_pwainstallbanner", - "community": 0, + "community": 661, "norm_label": "pwainstallbanner.tsx" }, { @@ -1070,7 +1110,7 @@ "source_location": "L5", "_origin": "ast", "id": "ui_pwainstallbanner_pwainstallbanner", - "community": 0, + "community": 661, "norm_label": "pwainstallbanner()" }, { @@ -1080,7 +1120,7 @@ "source_location": "L1", "_origin": "ast", "id": "ui_pwalogincard", - "community": 0, + "community": 661, "norm_label": "pwalogincard.tsx" }, { @@ -1090,7 +1130,7 @@ "source_location": "L6", "_origin": "ast", "id": "ui_pwalogincard_detectios", - "community": 0, + "community": 661, "norm_label": "detectios()" }, { @@ -1100,7 +1140,7 @@ "source_location": "L10", "_origin": "ast", "id": "ui_pwalogincard_pwalogincard", - "community": 0, + "community": 661, "norm_label": "pwalogincard()" }, { @@ -1110,7 +1150,7 @@ "source_location": "L1", "_origin": "ast", "id": "ui_searchableselect", - "community": 8, + "community": 71, "norm_label": "searchableselect.tsx" }, { @@ -1120,7 +1160,7 @@ "source_location": "L5", "_origin": "ast", "id": "ui_searchableselect_selectoption", - "community": 8, + "community": 71, "norm_label": "selectoption" }, { @@ -1130,7 +1170,7 @@ "source_location": "L10", "_origin": "ast", "id": "ui_searchableselect_props", - "community": 8, + "community": 71, "norm_label": "props" }, { @@ -1140,7 +1180,7 @@ "source_location": "L23", "_origin": "ast", "id": "ui_searchableselect_searchableselect", - "community": 8, + "community": 71, "norm_label": "searchableselect()" }, { @@ -1150,7 +1190,7 @@ "source_location": "L1", "_origin": "ast", "id": "ui_statcard", - "community": 674, + "community": 21, "norm_label": "statcard.tsx" }, { @@ -1160,7 +1200,7 @@ "source_location": "L3", "_origin": "ast", "id": "ui_statcard_stattone", - "community": 674, + "community": 21, "norm_label": "stattone" }, { @@ -1170,7 +1210,7 @@ "source_location": "L5", "_origin": "ast", "id": "ui_statcard_tone", - "community": 674, + "community": 21, "norm_label": "tone" }, { @@ -1180,7 +1220,7 @@ "source_location": "L12", "_origin": "ast", "id": "ui_statcard_props", - "community": 674, + "community": 21, "norm_label": "props" }, { @@ -1190,7 +1230,7 @@ "source_location": "L19", "_origin": "ast", "id": "ui_statcard_statcard", - "community": 674, + "community": 21, "norm_label": "statcard()" }, { @@ -1280,7 +1320,7 @@ "source_location": "L71", "_origin": "ast", "id": "ui_statusbadge_activebadge", - "community": 41, + "community": 19, "norm_label": "activebadge()" }, { @@ -1290,7 +1330,7 @@ "source_location": "L1", "_origin": "ast", "id": "ui_ui_test", - "community": 41, + "community": 19, "norm_label": "ui.test.tsx" }, { @@ -1300,7 +1340,7 @@ "source_location": "L1", "_origin": "ast", "id": "hooks_hooks_test", - "community": 0, + "community": 13, "norm_label": "hooks.test.tsx" }, { @@ -1310,7 +1350,7 @@ "source_location": "L16", "_origin": "ast", "id": "hooks_hooks_test_get", - "community": 0, + "community": 13, "norm_label": "get" }, { @@ -1320,7 +1360,7 @@ "source_location": "L1", "_origin": "ast", "id": "hooks_usepaymentconfig", - "community": 490, + "community": 13, "norm_label": "usepaymentconfig.ts" }, { @@ -1330,7 +1370,7 @@ "source_location": "L5", "_origin": "ast", "id": "hooks_usepaymentconfig_paymentgatewayinfo", - "community": 490, + "community": 13, "norm_label": "paymentgatewayinfo" }, { @@ -1340,7 +1380,7 @@ "source_location": "L10", "_origin": "ast", "id": "hooks_usepaymentconfig_paymentconfig", - "community": 490, + "community": 13, "norm_label": "paymentconfig" }, { @@ -1360,7 +1400,7 @@ "source_location": "L1", "_origin": "ast", "id": "hooks_usepwainstall", - "community": 0, + "community": 661, "norm_label": "usepwainstall.ts" }, { @@ -1370,7 +1410,7 @@ "source_location": "L3", "_origin": "ast", "id": "hooks_usepwainstall_beforeinstallpromptevent", - "community": 0, + "community": 661, "norm_label": "beforeinstallpromptevent" }, { @@ -1380,7 +1420,7 @@ "source_location": "L10", "_origin": "ast", "id": "hooks_usepwainstall_usepwainstall", - "community": 0, + "community": 661, "norm_label": "usepwainstall()" }, { @@ -1390,7 +1430,7 @@ "source_location": "L1", "_origin": "ast", "id": "hooks_usesubscription", - "community": 0, + "community": 8, "norm_label": "usesubscription.ts" }, { @@ -1400,7 +1440,7 @@ "source_location": "L7", "_origin": "ast", "id": "hooks_usesubscription_usesubscription", - "community": 0, + "community": 8, "norm_label": "usesubscription()" }, { @@ -1570,7 +1610,7 @@ "source_location": "L122", "_origin": "ast", "id": "lib_api_apiresponse", - "community": 41, + "community": 19, "norm_label": "apiresponse" }, { @@ -1580,7 +1620,7 @@ "source_location": "L128", "_origin": "ast", "id": "lib_api_paginatedresponse", - "community": 41, + "community": 19, "norm_label": "paginatedresponse" }, { @@ -1700,7 +1740,7 @@ "source_location": "L33", "_origin": "ast", "id": "lib_utils_formatdatetime", - "community": 63, + "community": 225, "norm_label": "formatdatetime()" }, { @@ -2340,7 +2380,7 @@ "source_location": "L1", "_origin": "ast", "id": "pages_blogspage", - "community": 41, + "community": 19, "norm_label": "blogspage.tsx" }, { @@ -2350,7 +2390,7 @@ "source_location": "L14", "_origin": "ast", "id": "pages_blogspage_status_filters", - "community": 41, + "community": 19, "norm_label": "status_filters" }, { @@ -2360,7 +2400,7 @@ "source_location": "L20", "_origin": "ast", "id": "pages_blogspage_blogspage", - "community": 41, + "community": 19, "norm_label": "blogspage()" }, { @@ -3140,7 +3180,7 @@ "source_location": "L1", "_origin": "ast", "id": "pages_clinicspage", - "community": 71, + "community": 0, "norm_label": "clinicspage.tsx" }, { @@ -3150,7 +3190,7 @@ "source_location": "L25", "_origin": "ast", "id": "pages_clinicspage_hues_list", - "community": 71, + "community": 0, "norm_label": "hues_list" }, { @@ -3160,7 +3200,7 @@ "source_location": "L27", "_origin": "ast", "id": "pages_clinicspage_addschema", - "community": 71, + "community": 0, "norm_label": "addschema" }, { @@ -3170,7 +3210,7 @@ "source_location": "L32", "_origin": "ast", "id": "pages_clinicspage_addform", - "community": 71, + "community": 0, "norm_label": "addform" }, { @@ -3180,7 +3220,7 @@ "source_location": "L34", "_origin": "ast", "id": "pages_clinicspage_clinicspage", - "community": 71, + "community": 0, "norm_label": "clinicspage()" }, { @@ -3190,7 +3230,7 @@ "source_location": "L1", "_origin": "ast", "id": "pages_commentspage", - "community": 41, + "community": 19, "norm_label": "commentspage.tsx" }, { @@ -3200,7 +3240,7 @@ "source_location": "L14", "_origin": "ast", "id": "pages_commentspage_filters", - "community": 41, + "community": 19, "norm_label": "filters" }, { @@ -3210,7 +3250,7 @@ "source_location": "L20", "_origin": "ast", "id": "pages_commentspage_commentspage", - "community": 41, + "community": 19, "norm_label": "commentspage()" }, { @@ -4380,7 +4420,7 @@ "source_location": "L1", "_origin": "ast", "id": "pages_doctorformpage", - "community": 8, + "community": 0, "norm_label": "doctorformpage.tsx" }, { @@ -4390,7 +4430,7 @@ "source_location": "L23", "_origin": "ast", "id": "pages_doctorformpage_specialtyoption", - "community": 8, + "community": 0, "norm_label": "specialtyoption" }, { @@ -4400,7 +4440,7 @@ "source_location": "L27", "_origin": "ast", "id": "pages_doctorformpage_schema", - "community": 8, + "community": 0, "norm_label": "schema" }, { @@ -4410,7 +4450,7 @@ "source_location": "L35", "_origin": "ast", "id": "pages_doctorformpage_formvalues", - "community": 8, + "community": 0, "norm_label": "formvalues" }, { @@ -4420,7 +4460,7 @@ "source_location": "L39", "_origin": "ast", "id": "pages_doctorformpage_degree_options", - "community": 8, + "community": 0, "norm_label": "degree_options" }, { @@ -4430,7 +4470,7 @@ "source_location": "L46", "_origin": "ast", "id": "pages_doctorformpage_gender_options", - "community": 8, + "community": 0, "norm_label": "gender_options" }, { @@ -4440,7 +4480,7 @@ "source_location": "L53", "_origin": "ast", "id": "pages_doctorformpage_field", - "community": 8, + "community": 0, "norm_label": "field()" }, { @@ -4450,7 +4490,7 @@ "source_location": "L76", "_origin": "ast", "id": "pages_doctorformpage_selectedentry", - "community": 8, + "community": 0, "norm_label": "selectedentry" }, { @@ -4460,7 +4500,7 @@ "source_location": "L78", "_origin": "ast", "id": "pages_doctorformpage_specialtypicker", - "community": 8, + "community": 0, "norm_label": "specialtypicker()" }, { @@ -4470,7 +4510,7 @@ "source_location": "L258", "_origin": "ast", "id": "pages_doctorformpage_doctorformpage", - "community": 8, + "community": 0, "norm_label": "doctorformpage()" }, { @@ -4480,7 +4520,7 @@ "source_location": "L442", "_origin": "ast", "id": "pages_doctorformpage_sectionheader", - "community": 8, + "community": 0, "norm_label": "sectionheader()" }, { @@ -4510,7 +4550,7 @@ "source_location": "L1", "_origin": "ast", "id": "pages_doctorspage", - "community": 8, + "community": 0, "norm_label": "doctorspage.tsx" }, { @@ -4520,7 +4560,7 @@ "source_location": "L20", "_origin": "ast", "id": "pages_doctorspage_admindoctor", - "community": 8, + "community": 0, "norm_label": "admindoctor" }, { @@ -4530,7 +4570,7 @@ "source_location": "L36", "_origin": "ast", "id": "pages_doctorspage_doctorstats", - "community": 8, + "community": 0, "norm_label": "doctorstats" }, { @@ -4540,7 +4580,7 @@ "source_location": "L44", "_origin": "ast", "id": "pages_doctorspage_specialtyoption", - "community": 8, + "community": 0, "norm_label": "specialtyoption" }, { @@ -4550,7 +4590,7 @@ "source_location": "L52", "_origin": "ast", "id": "pages_doctorspage_hues_list", - "community": 8, + "community": 0, "norm_label": "hues_list" }, { @@ -4560,7 +4600,7 @@ "source_location": "L54", "_origin": "ast", "id": "pages_doctorspage_degree_badge", - "community": 8, + "community": 0, "norm_label": "degree_badge" }, { @@ -4570,7 +4610,7 @@ "source_location": "L61", "_origin": "ast", "id": "pages_doctorspage_degree_label", - "community": 8, + "community": 0, "norm_label": "degree_label" }, { @@ -4580,7 +4620,7 @@ "source_location": "L68", "_origin": "ast", "id": "pages_doctorspage_doctoravatar", - "community": 8, + "community": 0, "norm_label": "doctoravatar()" }, { @@ -4590,7 +4630,7 @@ "source_location": "L92", "_origin": "ast", "id": "pages_doctorspage_doctorspage", - "community": 8, + "community": 0, "norm_label": "doctorspage()" }, { @@ -4600,7 +4640,7 @@ "source_location": "L1", "_origin": "ast", "id": "pages_financialreportpage", - "community": 41, + "community": 19, "norm_label": "financialreportpage.tsx" }, { @@ -4610,7 +4650,7 @@ "source_location": "L9", "_origin": "ast", "id": "pages_financialreportpage_breakdown", - "community": 41, + "community": 19, "norm_label": "breakdown" }, { @@ -4620,7 +4660,7 @@ "source_location": "L28", "_origin": "ast", "id": "pages_financialreportpage_summary", - "community": 41, + "community": 19, "norm_label": "summary" }, { @@ -4630,7 +4670,7 @@ "source_location": "L36", "_origin": "ast", "id": "pages_financialreportpage_source_label", - "community": 41, + "community": 19, "norm_label": "source_label" }, { @@ -4640,7 +4680,7 @@ "source_location": "L41", "_origin": "ast", "id": "pages_financialreportpage_financialreportpage", - "community": 41, + "community": 19, "norm_label": "financialreportpage()" }, { @@ -4740,7 +4780,7 @@ "source_location": "L1", "_origin": "ast", "id": "pages_logspage", - "community": 41, + "community": 19, "norm_label": "logspage.tsx" }, { @@ -4750,7 +4790,7 @@ "source_location": "L14", "_origin": "ast", "id": "pages_logspage_level_meta", - "community": 41, + "community": 19, "norm_label": "level_meta" }, { @@ -4760,7 +4800,7 @@ "source_location": "L25", "_origin": "ast", "id": "pages_logspage_level_filter_options", - "community": 41, + "community": 19, "norm_label": "level_filter_options" }, { @@ -4770,7 +4810,7 @@ "source_location": "L32", "_origin": "ast", "id": "pages_logspage_tab", - "community": 41, + "community": 19, "norm_label": "tab" }, { @@ -4780,7 +4820,7 @@ "source_location": "L34", "_origin": "ast", "id": "pages_logspage_logspage", - "community": 63, + "community": 225, "norm_label": "logspage()" }, { @@ -4790,7 +4830,7 @@ "source_location": "L223", "_origin": "ast", "id": "pages_logspage_retentionsettings", - "community": 41, + "community": 19, "norm_label": "retentionsettings()" }, { @@ -5050,7 +5090,7 @@ "source_location": "L1432", "_origin": "ast", "id": "pages_mypatientspage_sessionrow", - "community": 63, + "community": 225, "norm_label": "sessionrow()" }, { @@ -5080,7 +5120,7 @@ "source_location": "L1", "_origin": "ast", "id": "pages_mysecretariespage", - "community": 0, + "community": 8, "norm_label": "mysecretariespage.tsx" }, { @@ -5090,7 +5130,7 @@ "source_location": "L32", "_origin": "ast", "id": "pages_mysecretariespage_default_permissions", - "community": 0, + "community": 8, "norm_label": "default_permissions" }, { @@ -5100,7 +5140,7 @@ "source_location": "L44", "_origin": "ast", "id": "pages_mysecretariespage_permsection", - "community": 0, + "community": 8, "norm_label": "permsection" }, { @@ -5110,7 +5150,7 @@ "source_location": "L46", "_origin": "ast", "id": "pages_mysecretariespage_permission_labels", - "community": 0, + "community": 8, "norm_label": "permission_labels" }, { @@ -5120,7 +5160,7 @@ "source_location": "L86", "_origin": "ast", "id": "pages_mysecretariespage_all_actions", - "community": 0, + "community": 8, "norm_label": "all_actions" }, { @@ -5130,7 +5170,7 @@ "source_location": "L94", "_origin": "ast", "id": "pages_mysecretariespage_action_headers", - "community": 0, + "community": 8, "norm_label": "action_headers" }, { @@ -5140,7 +5180,7 @@ "source_location": "L103", "_origin": "ast", "id": "pages_mysecretariespage_permissionsmatrix", - "community": 0, + "community": 8, "norm_label": "permissionsmatrix()" }, { @@ -5150,7 +5190,7 @@ "source_location": "L247", "_origin": "ast", "id": "pages_mysecretariespage_createschema", - "community": 0, + "community": 8, "norm_label": "createschema" }, { @@ -5160,7 +5200,7 @@ "source_location": "L251", "_origin": "ast", "id": "pages_mysecretariespage_createform", - "community": 0, + "community": 8, "norm_label": "createform" }, { @@ -5170,7 +5210,7 @@ "source_location": "L253", "_origin": "ast", "id": "pages_mysecretariespage_clinicdoctor", - "community": 0, + "community": 8, "norm_label": "clinicdoctor" }, { @@ -5180,7 +5220,7 @@ "source_location": "L260", "_origin": "ast", "id": "pages_mysecretariespage_mysecretariespage", - "community": 0, + "community": 8, "norm_label": "mysecretariespage()" }, { @@ -5300,7 +5340,7 @@ "source_location": "L1", "_origin": "ast", "id": "pages_paymentdetailpage", - "community": 63, + "community": 225, "norm_label": "paymentdetailpage.tsx" }, { @@ -5310,7 +5350,7 @@ "source_location": "L14", "_origin": "ast", "id": "pages_paymentdetailpage_payment_type_labels", - "community": 63, + "community": 225, "norm_label": "payment_type_labels" }, { @@ -5320,7 +5360,7 @@ "source_location": "L20", "_origin": "ast", "id": "pages_paymentdetailpage_inforow", - "community": 63, + "community": 225, "norm_label": "inforow()" }, { @@ -5330,7 +5370,7 @@ "source_location": "L29", "_origin": "ast", "id": "pages_paymentdetailpage_paymentdetailpage", - "community": 63, + "community": 225, "norm_label": "paymentdetailpage()" }, { @@ -5340,7 +5380,7 @@ "source_location": "L1", "_origin": "ast", "id": "pages_paymentspage", - "community": 41, + "community": 19, "norm_label": "paymentspage.tsx" }, { @@ -5350,7 +5390,7 @@ "source_location": "L16", "_origin": "ast", "id": "pages_paymentspage_status_filters", - "community": 41, + "community": 19, "norm_label": "status_filters" }, { @@ -5360,7 +5400,7 @@ "source_location": "L25", "_origin": "ast", "id": "pages_paymentspage_paymentspage", - "community": 41, + "community": 19, "norm_label": "paymentspage()" }, { @@ -5370,7 +5410,7 @@ "source_location": "L1", "_origin": "ast", "id": "pages_preregistrationspage", - "community": 71, + "community": 301, "norm_label": "preregistrationspage.tsx" }, { @@ -5380,7 +5420,7 @@ "source_location": "L13", "_origin": "ast", "id": "pages_preregistrationspage_preregistration", - "community": 71, + "community": 301, "norm_label": "preregistration" }, { @@ -5390,7 +5430,7 @@ "source_location": "L24", "_origin": "ast", "id": "pages_preregistrationspage_empty", - "community": 71, + "community": 301, "norm_label": "empty" }, { @@ -5400,7 +5440,7 @@ "source_location": "L26", "_origin": "ast", "id": "pages_preregistrationspage_type_meta", - "community": 71, + "community": 301, "norm_label": "type_meta" }, { @@ -5410,7 +5450,7 @@ "source_location": "L32", "_origin": "ast", "id": "pages_preregistrationspage_status_meta", - "community": 71, + "community": 301, "norm_label": "status_meta" }, { @@ -5420,7 +5460,7 @@ "source_location": "L38", "_origin": "ast", "id": "pages_preregistrationspage_status_tabs", - "community": 71, + "community": 301, "norm_label": "status_tabs" }, { @@ -5430,7 +5470,7 @@ "source_location": "L45", "_origin": "ast", "id": "pages_preregistrationspage_preregistrationspage", - "community": 71, + "community": 301, "norm_label": "preregistrationspage()" }, { @@ -5440,7 +5480,7 @@ "source_location": "L1", "_origin": "ast", "id": "pages_ratingspage", - "community": 41, + "community": 19, "norm_label": "ratingspage.tsx" }, { @@ -5450,7 +5490,7 @@ "source_location": "L14", "_origin": "ast", "id": "pages_ratingspage_stars", - "community": 41, + "community": 19, "norm_label": "stars()" }, { @@ -5460,7 +5500,7 @@ "source_location": "L27", "_origin": "ast", "id": "pages_ratingspage_ratingspage", - "community": 41, + "community": 19, "norm_label": "ratingspage()" }, { @@ -5500,7 +5540,7 @@ "source_location": "L1", "_origin": "ast", "id": "pages_representationfinancepage", - "community": 21, + "community": 63, "norm_label": "representationfinancepage.tsx" }, { @@ -5510,7 +5550,7 @@ "source_location": "L12", "_origin": "ast", "id": "pages_representationfinancepage_financerow", - "community": 21, + "community": 63, "norm_label": "financerow" }, { @@ -5520,7 +5560,7 @@ "source_location": "L24", "_origin": "ast", "id": "pages_representationfinancepage_rangekey", - "community": 21, + "community": 63, "norm_label": "rangekey" }, { @@ -5530,7 +5570,7 @@ "source_location": "L26", "_origin": "ast", "id": "pages_representationfinancepage_rangefrom", - "community": 21, + "community": 63, "norm_label": "rangefrom()" }, { @@ -5540,7 +5580,7 @@ "source_location": "L34", "_origin": "ast", "id": "pages_representationfinancepage_ranges", - "community": 21, + "community": 63, "norm_label": "ranges" }, { @@ -5550,7 +5590,7 @@ "source_location": "L41", "_origin": "ast", "id": "pages_representationfinancepage_representationfinancepage", - "community": 21, + "community": 63, "norm_label": "representationfinancepage()" }, { @@ -5710,7 +5750,7 @@ "source_location": "L1", "_origin": "ast", "id": "pages_representationspage", - "community": 41, + "community": 19, "norm_label": "representationspage.tsx" }, { @@ -5720,7 +5760,7 @@ "source_location": "L22", "_origin": "ast", "id": "pages_representationspage_schema", - "community": 41, + "community": 19, "norm_label": "schema" }, { @@ -5730,7 +5770,7 @@ "source_location": "L30", "_origin": "ast", "id": "pages_representationspage_formdata", - "community": 41, + "community": 19, "norm_label": "formdata" }, { @@ -5740,7 +5780,7 @@ "source_location": "L32", "_origin": "ast", "id": "pages_representationspage_representationspage", - "community": 41, + "community": 19, "norm_label": "representationspage()" }, { @@ -5750,7 +5790,7 @@ "source_location": "L1", "_origin": "ast", "id": "pages_secretariespage", - "community": 41, + "community": 19, "norm_label": "secretariespage.tsx" }, { @@ -5760,7 +5800,7 @@ "source_location": "L15", "_origin": "ast", "id": "pages_secretariespage_default_permissions", - "community": 41, + "community": 19, "norm_label": "default_permissions" }, { @@ -5770,7 +5810,7 @@ "source_location": "L22", "_origin": "ast", "id": "pages_secretariespage_permsection", - "community": 41, + "community": 19, "norm_label": "permsection" }, { @@ -5780,7 +5820,7 @@ "source_location": "L24", "_origin": "ast", "id": "pages_secretariespage_permission_labels", - "community": 41, + "community": 19, "norm_label": "permission_labels" }, { @@ -5790,7 +5830,7 @@ "source_location": "L61", "_origin": "ast", "id": "pages_secretariespage_permissionsmatrix", - "community": 41, + "community": 19, "norm_label": "permissionsmatrix()" }, { @@ -5800,7 +5840,7 @@ "source_location": "L122", "_origin": "ast", "id": "pages_secretariespage_secretariespage", - "community": 41, + "community": 19, "norm_label": "secretariespage()" }, { @@ -5980,7 +6020,7 @@ "source_location": "L1", "_origin": "ast", "id": "pages_settlementdetailpage", - "community": 63, + "community": 0, "norm_label": "settlementdetailpage.tsx" }, { @@ -5990,7 +6030,7 @@ "source_location": "L14", "_origin": "ast", "id": "pages_settlementdetailpage_settlementdetail", - "community": 63, + "community": 0, "norm_label": "settlementdetail" }, { @@ -6000,7 +6040,7 @@ "source_location": "L30", "_origin": "ast", "id": "pages_settlementdetailpage_row", - "community": 63, + "community": 0, "norm_label": "row()" }, { @@ -6010,7 +6050,7 @@ "source_location": "L39", "_origin": "ast", "id": "pages_settlementdetailpage_settlementdetailpage", - "community": 63, + "community": 0, "norm_label": "settlementdetailpage()" }, { @@ -6020,7 +6060,7 @@ "source_location": "L1", "_origin": "ast", "id": "pages_settlementspage", - "community": 41, + "community": 19, "norm_label": "settlementspage.tsx" }, { @@ -6030,7 +6070,7 @@ "source_location": "L16", "_origin": "ast", "id": "pages_settlementspage_status_filters", - "community": 41, + "community": 19, "norm_label": "status_filters" }, { @@ -6140,7 +6180,7 @@ "source_location": "L117", "_origin": "ast", "id": "pages_smspage_smspage", - "community": 19, + "community": 225, "norm_label": "smspage()" }, { @@ -6150,7 +6190,7 @@ "source_location": "L1", "_origin": "ast", "id": "pages_smswalletpage", - "community": 490, + "community": 71, "norm_label": "smswalletpage.tsx" }, { @@ -6160,7 +6200,7 @@ "source_location": "L23", "_origin": "ast", "id": "pages_smswalletpage_chargeschema", - "community": 490, + "community": 71, "norm_label": "chargeschema" }, { @@ -6170,7 +6210,7 @@ "source_location": "L26", "_origin": "ast", "id": "pages_smswalletpage_chargeform", - "community": 490, + "community": 71, "norm_label": "chargeform" }, { @@ -6180,7 +6220,7 @@ "source_location": "L28", "_origin": "ast", "id": "pages_smswalletpage_empty_logs", - "community": 490, + "community": 71, "norm_label": "empty_logs" }, { @@ -6190,7 +6230,7 @@ "source_location": "L30", "_origin": "ast", "id": "pages_smswalletpage_reminder_hour_options", - "community": 490, + "community": 71, "norm_label": "reminder_hour_options" }, { @@ -6200,7 +6240,7 @@ "source_location": "L32", "_origin": "ast", "id": "pages_smswalletpage_post_visit_vars", - "community": 490, + "community": 71, "norm_label": "post_visit_vars" }, { @@ -6210,7 +6250,7 @@ "source_location": "L39", "_origin": "ast", "id": "pages_smswalletpage_smswalletpageinner", - "community": 490, + "community": 63, "norm_label": "smswalletpageinner()" }, { @@ -6220,7 +6260,7 @@ "source_location": "L566", "_origin": "ast", "id": "pages_smswalletpage_smswalletpage", - "community": 490, + "community": 71, "norm_label": "smswalletpage()" }, { @@ -6230,7 +6270,7 @@ "source_location": "L1", "_origin": "ast", "id": "pages_staffpage", - "community": 41, + "community": 19, "norm_label": "staffpage.tsx" }, { @@ -6240,7 +6280,7 @@ "source_location": "L18", "_origin": "ast", "id": "pages_staffpage_schema", - "community": 41, + "community": 19, "norm_label": "schema" }, { @@ -6250,7 +6290,7 @@ "source_location": "L25", "_origin": "ast", "id": "pages_staffpage_staffformdata", - "community": 41, + "community": 19, "norm_label": "staffformdata" }, { @@ -6260,7 +6300,7 @@ "source_location": "L27", "_origin": "ast", "id": "pages_staffpage_empty", - "community": 41, + "community": 19, "norm_label": "empty" }, { @@ -6270,7 +6310,7 @@ "source_location": "L29", "_origin": "ast", "id": "pages_staffpage_staffpage", - "community": 41, + "community": 19, "norm_label": "staffpage()" }, { @@ -6280,7 +6320,7 @@ "source_location": "L246", "_origin": "ast", "id": "pages_staffpage_staffformfields", - "community": 41, + "community": 19, "norm_label": "staffformfields()" }, { @@ -6340,7 +6380,7 @@ "source_location": "L1", "_origin": "ast", "id": "pages_userdetailpage", - "community": 367, + "community": 225, "norm_label": "userdetailpage.tsx" }, { @@ -6350,7 +6390,7 @@ "source_location": "L22", "_origin": "ast", "id": "pages_userdetailpage_adminuserdetail", - "community": 367, + "community": 225, "norm_label": "adminuserdetail" }, { @@ -6360,7 +6400,7 @@ "source_location": "L35", "_origin": "ast", "id": "pages_userdetailpage_userprofiledata", - "community": 367, + "community": 225, "norm_label": "userprofiledata" }, { @@ -6370,7 +6410,7 @@ "source_location": "L53", "_origin": "ast", "id": "pages_userdetailpage_gender_labels", - "community": 367, + "community": 225, "norm_label": "gender_labels" }, { @@ -6380,7 +6420,7 @@ "source_location": "L54", "_origin": "ast", "id": "pages_userdetailpage_marital_labels", - "community": 367, + "community": 225, "norm_label": "marital_labels" }, { @@ -6390,7 +6430,7 @@ "source_location": "L57", "_origin": "ast", "id": "pages_userdetailpage_medical_sections", - "community": 367, + "community": 225, "norm_label": "medical_sections" }, { @@ -6400,7 +6440,7 @@ "source_location": "L73", "_origin": "ast", "id": "pages_userdetailpage_role_meta", - "community": 367, + "community": 225, "norm_label": "role_meta" }, { @@ -6410,7 +6450,7 @@ "source_location": "L81", "_origin": "ast", "id": "pages_userdetailpage_role_map", - "community": 367, + "community": 225, "norm_label": "role_map" }, { @@ -6420,7 +6460,7 @@ "source_location": "L89", "_origin": "ast", "id": "pages_userdetailpage_getprimaryrole", - "community": 367, + "community": 225, "norm_label": "getprimaryrole()" }, { @@ -6430,7 +6470,7 @@ "source_location": "L97", "_origin": "ast", "id": "pages_userdetailpage_avatar_colors", - "community": 367, + "community": 225, "norm_label": "avatar_colors" }, { @@ -6440,7 +6480,7 @@ "source_location": "L105", "_origin": "ast", "id": "pages_userdetailpage_bigavatar", - "community": 367, + "community": 225, "norm_label": "bigavatar()" }, { @@ -6450,7 +6490,7 @@ "source_location": "L116", "_origin": "ast", "id": "pages_userdetailpage_infocard", - "community": 367, + "community": 225, "norm_label": "infocard()" }, { @@ -6460,7 +6500,7 @@ "source_location": "L152", "_origin": "ast", "id": "pages_userdetailpage_editschema", - "community": 367, + "community": 225, "norm_label": "editschema" }, { @@ -6470,7 +6510,7 @@ "source_location": "L157", "_origin": "ast", "id": "pages_userdetailpage_editform", - "community": 367, + "community": 225, "norm_label": "editform" }, { @@ -6480,7 +6520,7 @@ "source_location": "L161", "_origin": "ast", "id": "pages_userdetailpage_changerolemodal", - "community": 367, + "community": 225, "norm_label": "changerolemodal()" }, { @@ -6490,7 +6530,7 @@ "source_location": "L201", "_origin": "ast", "id": "pages_userdetailpage_userdetailpage", - "community": 367, + "community": 225, "norm_label": "userdetailpage()" }, { @@ -6890,7 +6930,7 @@ "source_location": "L40", "_origin": "ast", "id": "types_index_clinic", - "community": 71, + "community": 0, "norm_label": "clinic" }, { @@ -6950,7 +6990,7 @@ "source_location": "L115", "_origin": "ast", "id": "types_index_payment", - "community": 63, + "community": 19, "norm_label": "payment" }, { @@ -7130,7 +7170,7 @@ "source_location": "L312", "_origin": "ast", "id": "types_index_secretary", - "community": 41, + "community": 19, "norm_label": "secretary" }, { @@ -7140,7 +7180,7 @@ "source_location": "L323", "_origin": "ast", "id": "types_index_secretarypermissions", - "community": 41, + "community": 19, "norm_label": "secretarypermissions" }, { @@ -7160,7 +7200,7 @@ "source_location": "L355", "_origin": "ast", "id": "types_index_clinicstaff", - "community": 41, + "community": 19, "norm_label": "clinicstaff" }, { @@ -7230,7 +7270,7 @@ "source_location": "L434", "_origin": "ast", "id": "types_index_smswalletbalance", - "community": 490, + "community": 71, "norm_label": "smswalletbalance" }, { @@ -7240,7 +7280,7 @@ "source_location": "L440", "_origin": "ast", "id": "types_index_smswalletlog", - "community": 490, + "community": 71, "norm_label": "smswalletlog" }, { @@ -7250,7 +7290,7 @@ "source_location": "L448", "_origin": "ast", "id": "types_index_smssettings", - "community": 490, + "community": 71, "norm_label": "smssettings" }, { @@ -7514,11 +7554,21 @@ "norm_label": "ext-soap" }, { - "label": "doctrine/doctrine-bundle", + "label": "altcha-org/altcha", "file_type": "code", "source_file": "composer.json", "source_location": "L13", "_origin": "ast", + "id": "composer_require_altcha_org_altcha", + "community": 34, + "norm_label": "altcha-org/altcha" + }, + { + "label": "doctrine/doctrine-bundle", + "file_type": "code", + "source_file": "composer.json", + "source_location": "L14", + "_origin": "ast", "id": "composer_require_doctrine_doctrine_bundle", "community": 34, "norm_label": "doctrine/doctrine-bundle" @@ -7527,7 +7577,7 @@ "label": "doctrine/doctrine-migrations-bundle", "file_type": "code", "source_file": "composer.json", - "source_location": "L14", + "source_location": "L15", "_origin": "ast", "id": "composer_require_doctrine_doctrine_migrations_bundle", "community": 34, @@ -7537,7 +7587,7 @@ "label": "doctrine/orm", "file_type": "code", "source_file": "composer.json", - "source_location": "L15", + "source_location": "L16", "_origin": "ast", "id": "composer_require_doctrine_orm", "community": 34, @@ -7547,7 +7597,7 @@ "label": "lexik/jwt-authentication-bundle", "file_type": "code", "source_file": "composer.json", - "source_location": "L16", + "source_location": "L17", "_origin": "ast", "id": "composer_require_lexik_jwt_authentication_bundle", "community": 34, @@ -7557,7 +7607,7 @@ "label": "nelmio/api-doc-bundle", "file_type": "code", "source_file": "composer.json", - "source_location": "L17", + "source_location": "L18", "_origin": "ast", "id": "composer_require_nelmio_api_doc_bundle", "community": 34, @@ -7567,7 +7617,7 @@ "label": "nelmio/cors-bundle", "file_type": "code", "source_file": "composer.json", - "source_location": "L18", + "source_location": "L19", "_origin": "ast", "id": "composer_require_nelmio_cors_bundle", "community": 34, @@ -7577,7 +7627,7 @@ "label": "symfony/asset", "file_type": "code", "source_file": "composer.json", - "source_location": "L19", + "source_location": "L20", "_origin": "ast", "id": "composer_require_symfony_asset", "community": 34, @@ -7587,7 +7637,7 @@ "label": "symfony/cache", "file_type": "code", "source_file": "composer.json", - "source_location": "L20", + "source_location": "L21", "_origin": "ast", "id": "composer_require_symfony_cache", "community": 34, @@ -7597,7 +7647,7 @@ "label": "symfony/console", "file_type": "code", "source_file": "composer.json", - "source_location": "L21", + "source_location": "L22", "_origin": "ast", "id": "composer_require_symfony_console", "community": 34, @@ -7607,7 +7657,7 @@ "label": "symfony/dotenv", "file_type": "code", "source_file": "composer.json", - "source_location": "L22", + "source_location": "L23", "_origin": "ast", "id": "composer_require_symfony_dotenv", "community": 34, @@ -7617,7 +7667,7 @@ "label": "symfony/flex", "file_type": "code", "source_file": "composer.json", - "source_location": "L23", + "source_location": "L24", "_origin": "ast", "id": "composer_require_symfony_flex", "community": 34, @@ -7627,7 +7677,7 @@ "label": "symfony/framework-bundle", "file_type": "code", "source_file": "composer.json", - "source_location": "L24", + "source_location": "L25", "_origin": "ast", "id": "composer_require_symfony_framework_bundle", "community": 34, @@ -7637,7 +7687,7 @@ "label": "symfony/http-client", "file_type": "code", "source_file": "composer.json", - "source_location": "L25", + "source_location": "L26", "_origin": "ast", "id": "composer_require_symfony_http_client", "community": 34, @@ -7647,7 +7697,7 @@ "label": "symfony/messenger", "file_type": "code", "source_file": "composer.json", - "source_location": "L26", + "source_location": "L27", "_origin": "ast", "id": "composer_require_symfony_messenger", "community": 34, @@ -7657,7 +7707,7 @@ "label": "symfony/property-access", "file_type": "code", "source_file": "composer.json", - "source_location": "L27", + "source_location": "L28", "_origin": "ast", "id": "composer_require_symfony_property_access", "community": 34, @@ -7667,7 +7717,7 @@ "label": "symfony/property-info", "file_type": "code", "source_file": "composer.json", - "source_location": "L28", + "source_location": "L29", "_origin": "ast", "id": "composer_require_symfony_property_info", "community": 34, @@ -7677,7 +7727,7 @@ "label": "symfony/rate-limiter", "file_type": "code", "source_file": "composer.json", - "source_location": "L29", + "source_location": "L30", "_origin": "ast", "id": "composer_require_symfony_rate_limiter", "community": 34, @@ -7687,7 +7737,7 @@ "label": "symfony/redis-messenger", "file_type": "code", "source_file": "composer.json", - "source_location": "L30", + "source_location": "L31", "_origin": "ast", "id": "composer_require_symfony_redis_messenger", "community": 34, @@ -7697,7 +7747,7 @@ "label": "symfony/runtime", "file_type": "code", "source_file": "composer.json", - "source_location": "L31", + "source_location": "L32", "_origin": "ast", "id": "composer_require_symfony_runtime", "community": 34, @@ -7707,7 +7757,7 @@ "label": "symfony/scheduler", "file_type": "code", "source_file": "composer.json", - "source_location": "L32", + "source_location": "L33", "_origin": "ast", "id": "composer_require_symfony_scheduler", "community": 34, @@ -7717,7 +7767,7 @@ "label": "symfony/security-bundle", "file_type": "code", "source_file": "composer.json", - "source_location": "L33", + "source_location": "L34", "_origin": "ast", "id": "composer_require_symfony_security_bundle", "community": 34, @@ -7727,7 +7777,7 @@ "label": "symfony/serializer", "file_type": "code", "source_file": "composer.json", - "source_location": "L34", + "source_location": "L35", "_origin": "ast", "id": "composer_require_symfony_serializer", "community": 34, @@ -7737,7 +7787,7 @@ "label": "symfony/twig-bundle", "file_type": "code", "source_file": "composer.json", - "source_location": "L35", + "source_location": "L36", "_origin": "ast", "id": "composer_require_symfony_twig_bundle", "community": 34, @@ -7747,7 +7797,7 @@ "label": "symfony/uid", "file_type": "code", "source_file": "composer.json", - "source_location": "L36", + "source_location": "L37", "_origin": "ast", "id": "composer_require_symfony_uid", "community": 34, @@ -7757,7 +7807,7 @@ "label": "symfony/ux-react", "file_type": "code", "source_file": "composer.json", - "source_location": "L37", + "source_location": "L38", "_origin": "ast", "id": "composer_require_symfony_ux_react", "community": 34, @@ -7767,7 +7817,7 @@ "label": "symfony/validator", "file_type": "code", "source_file": "composer.json", - "source_location": "L38", + "source_location": "L39", "_origin": "ast", "id": "composer_require_symfony_validator", "community": 34, @@ -7777,7 +7827,7 @@ "label": "symfony/webpack-encore-bundle", "file_type": "code", "source_file": "composer.json", - "source_location": "L39", + "source_location": "L40", "_origin": "ast", "id": "composer_require_symfony_webpack_encore_bundle", "community": 34, @@ -7787,7 +7837,7 @@ "label": "symfony/yaml", "file_type": "code", "source_file": "composer.json", - "source_location": "L40", + "source_location": "L41", "_origin": "ast", "id": "composer_require_symfony_yaml", "community": 34, @@ -7797,7 +7847,7 @@ "label": "twig/twig", "file_type": "code", "source_file": "composer.json", - "source_location": "L41", + "source_location": "L42", "_origin": "ast", "id": "composer_require_twig_twig", "community": 34, @@ -7807,7 +7857,7 @@ "label": "zircote/swagger-php", "file_type": "code", "source_file": "composer.json", - "source_location": "L42", + "source_location": "L43", "_origin": "ast", "id": "composer_require_zircote_swagger_php", "community": 34, @@ -7817,7 +7867,7 @@ "label": "config", "file_type": "code", "source_file": "composer.json", - "source_location": "L44", + "source_location": "L45", "_origin": "ast", "id": "composer_config", "community": 369, @@ -7827,7 +7877,7 @@ "label": "allow-plugins", "file_type": "code", "source_file": "composer.json", - "source_location": "L45", + "source_location": "L46", "_origin": "ast", "id": "composer_config_allow_plugins", "community": 369, @@ -7837,7 +7887,7 @@ "label": "php-http/discovery", "file_type": "code", "source_file": "composer.json", - "source_location": "L46", + "source_location": "L47", "_origin": "ast", "id": "composer_allow_plugins_php_http_discovery", "community": 369, @@ -7847,7 +7897,7 @@ "label": "symfony/flex", "file_type": "code", "source_file": "composer.json", - "source_location": "L47", + "source_location": "L48", "_origin": "ast", "id": "composer_allow_plugins_symfony_flex", "community": 369, @@ -7857,7 +7907,7 @@ "label": "symfony/runtime", "file_type": "code", "source_file": "composer.json", - "source_location": "L48", + "source_location": "L49", "_origin": "ast", "id": "composer_allow_plugins_symfony_runtime", "community": 369, @@ -7867,7 +7917,7 @@ "label": "bump-after-update", "file_type": "code", "source_file": "composer.json", - "source_location": "L50", + "source_location": "L51", "_origin": "ast", "id": "composer_config_bump_after_update", "community": 369, @@ -7877,7 +7927,7 @@ "label": "sort-packages", "file_type": "code", "source_file": "composer.json", - "source_location": "L51", + "source_location": "L52", "_origin": "ast", "id": "composer_config_sort_packages", "community": 369, @@ -7887,7 +7937,7 @@ "label": "autoload", "file_type": "code", "source_file": "composer.json", - "source_location": "L53", + "source_location": "L54", "_origin": "ast", "id": "composer_autoload", "community": 163, @@ -7897,7 +7947,7 @@ "label": "psr-4", "file_type": "code", "source_file": "composer.json", - "source_location": "L54", + "source_location": "L55", "_origin": "ast", "id": "composer_autoload_psr_4", "community": 163, @@ -7907,7 +7957,7 @@ "label": "App\\\\", "file_type": "code", "source_file": "composer.json", - "source_location": "L55", + "source_location": "L56", "_origin": "ast", "id": "composer_psr_4_app", "community": 163, @@ -7917,7 +7967,7 @@ "label": "autoload-dev", "file_type": "code", "source_file": "composer.json", - "source_location": "L58", + "source_location": "L59", "_origin": "ast", "id": "composer_autoload_dev", "community": 163, @@ -7927,7 +7977,7 @@ "label": "psr-4", "file_type": "code", "source_file": "composer.json", - "source_location": "L59", + "source_location": "L60", "_origin": "ast", "id": "composer_autoload_dev_psr_4", "community": 163, @@ -7937,7 +7987,7 @@ "label": "App\\\\Tests\\\\", "file_type": "code", "source_file": "composer.json", - "source_location": "L60", + "source_location": "L61", "_origin": "ast", "id": "composer_psr_4_app_tests", "community": 163, @@ -7947,7 +7997,7 @@ "label": "replace", "file_type": "code", "source_file": "composer.json", - "source_location": "L63", + "source_location": "L64", "_origin": "ast", "id": "composer_replace", "community": 298, @@ -7957,7 +8007,7 @@ "label": "symfony/polyfill-ctype", "file_type": "code", "source_file": "composer.json", - "source_location": "L64", + "source_location": "L65", "_origin": "ast", "id": "composer_replace_symfony_polyfill_ctype", "community": 298, @@ -7967,7 +8017,7 @@ "label": "symfony/polyfill-iconv", "file_type": "code", "source_file": "composer.json", - "source_location": "L65", + "source_location": "L66", "_origin": "ast", "id": "composer_replace_symfony_polyfill_iconv", "community": 298, @@ -7977,7 +8027,7 @@ "label": "symfony/polyfill-php72", "file_type": "code", "source_file": "composer.json", - "source_location": "L66", + "source_location": "L67", "_origin": "ast", "id": "composer_replace_symfony_polyfill_php72", "community": 298, @@ -7987,7 +8037,7 @@ "label": "symfony/polyfill-php73", "file_type": "code", "source_file": "composer.json", - "source_location": "L67", + "source_location": "L68", "_origin": "ast", "id": "composer_replace_symfony_polyfill_php73", "community": 298, @@ -7997,7 +8047,7 @@ "label": "symfony/polyfill-php74", "file_type": "code", "source_file": "composer.json", - "source_location": "L68", + "source_location": "L69", "_origin": "ast", "id": "composer_replace_symfony_polyfill_php74", "community": 298, @@ -8007,7 +8057,7 @@ "label": "symfony/polyfill-php80", "file_type": "code", "source_file": "composer.json", - "source_location": "L69", + "source_location": "L70", "_origin": "ast", "id": "composer_replace_symfony_polyfill_php80", "community": 298, @@ -8017,7 +8067,7 @@ "label": "symfony/polyfill-php81", "file_type": "code", "source_file": "composer.json", - "source_location": "L70", + "source_location": "L71", "_origin": "ast", "id": "composer_replace_symfony_polyfill_php81", "community": 298, @@ -8027,7 +8077,7 @@ "label": "symfony/polyfill-php82", "file_type": "code", "source_file": "composer.json", - "source_location": "L71", + "source_location": "L72", "_origin": "ast", "id": "composer_replace_symfony_polyfill_php82", "community": 298, @@ -8037,7 +8087,7 @@ "label": "scripts", "file_type": "code", "source_file": "composer.json", - "source_location": "L73", + "source_location": "L74", "_origin": "ast", "id": "composer_scripts", "community": 394, @@ -8047,7 +8097,7 @@ "label": "auto-scripts", "file_type": "code", "source_file": "composer.json", - "source_location": "L74", + "source_location": "L75", "_origin": "ast", "id": "composer_scripts_auto_scripts", "community": 394, @@ -8057,7 +8107,7 @@ "label": "cache:clear", "file_type": "code", "source_file": "composer.json", - "source_location": "L75", + "source_location": "L76", "_origin": "ast", "id": "composer_auto_scripts_cache_clear", "community": 394, @@ -8067,7 +8117,7 @@ "label": "assets:install %PUBLIC_DIR%", "file_type": "code", "source_file": "composer.json", - "source_location": "L76", + "source_location": "L77", "_origin": "ast", "id": "composer_auto_scripts_assets_install_public_dir", "community": 394, @@ -8077,7 +8127,7 @@ "label": "post-install-cmd", "file_type": "code", "source_file": "composer.json", - "source_location": "L78", + "source_location": "L79", "_origin": "ast", "id": "composer_scripts_post_install_cmd", "community": 394, @@ -8087,7 +8137,7 @@ "label": "post-update-cmd", "file_type": "code", "source_file": "composer.json", - "source_location": "L81", + "source_location": "L82", "_origin": "ast", "id": "composer_scripts_post_update_cmd", "community": 394, @@ -8097,7 +8147,7 @@ "label": "conflict", "file_type": "code", "source_file": "composer.json", - "source_location": "L85", + "source_location": "L86", "_origin": "ast", "id": "composer_conflict", "community": 163, @@ -8107,7 +8157,7 @@ "label": "symfony/symfony", "file_type": "code", "source_file": "composer.json", - "source_location": "L86", + "source_location": "L87", "_origin": "ast", "id": "composer_conflict_symfony_symfony", "community": 163, @@ -8117,47 +8167,47 @@ "label": "extra", "file_type": "code", "source_file": "composer.json", - "source_location": "L88", + "source_location": "L89", "_origin": "ast", "id": "composer_extra", - "community": 692, + "community": 163, "norm_label": "extra" }, { "label": "symfony", "file_type": "code", "source_file": "composer.json", - "source_location": "L89", + "source_location": "L90", "_origin": "ast", "id": "composer_extra_symfony", - "community": 692, + "community": 163, "norm_label": "symfony" }, { "label": "allow-contrib", "file_type": "code", "source_file": "composer.json", - "source_location": "L90", + "source_location": "L91", "_origin": "ast", "id": "composer_symfony_allow_contrib", - "community": 692, + "community": 163, "norm_label": "allow-contrib" }, { "label": "require", "file_type": "code", "source_file": "composer.json", - "source_location": "L91", + "source_location": "L92", "_origin": "ast", "id": "composer_symfony_require", - "community": 692, + "community": 163, "norm_label": "require" }, { "label": "require-dev", "file_type": "code", "source_file": "composer.json", - "source_location": "L94", + "source_location": "L95", "_origin": "ast", "id": "composer_require_dev", "community": 299, @@ -8167,7 +8217,7 @@ "label": "phpstan/phpstan", "file_type": "code", "source_file": "composer.json", - "source_location": "L95", + "source_location": "L96", "_origin": "ast", "id": "composer_require_dev_phpstan_phpstan", "community": 299, @@ -8177,7 +8227,7 @@ "label": "phpstan/phpstan-doctrine", "file_type": "code", "source_file": "composer.json", - "source_location": "L96", + "source_location": "L97", "_origin": "ast", "id": "composer_require_dev_phpstan_phpstan_doctrine", "community": 299, @@ -8187,7 +8237,7 @@ "label": "phpstan/phpstan-symfony", "file_type": "code", "source_file": "composer.json", - "source_location": "L97", + "source_location": "L98", "_origin": "ast", "id": "composer_require_dev_phpstan_phpstan_symfony", "community": 299, @@ -8197,7 +8247,7 @@ "label": "phpunit/phpunit", "file_type": "code", "source_file": "composer.json", - "source_location": "L98", + "source_location": "L99", "_origin": "ast", "id": "composer_require_dev_phpunit_phpunit", "community": 299, @@ -8207,7 +8257,7 @@ "label": "symfony/browser-kit", "file_type": "code", "source_file": "composer.json", - "source_location": "L99", + "source_location": "L100", "_origin": "ast", "id": "composer_require_dev_symfony_browser_kit", "community": 299, @@ -8217,7 +8267,7 @@ "label": "symfony/css-selector", "file_type": "code", "source_file": "composer.json", - "source_location": "L100", + "source_location": "L101", "_origin": "ast", "id": "composer_require_dev_symfony_css_selector", "community": 299, @@ -8227,7 +8277,7 @@ "label": "symfony/debug-bundle", "file_type": "code", "source_file": "composer.json", - "source_location": "L101", + "source_location": "L102", "_origin": "ast", "id": "composer_require_dev_symfony_debug_bundle", "community": 299, @@ -8237,7 +8287,7 @@ "label": "symfony/maker-bundle", "file_type": "code", "source_file": "composer.json", - "source_location": "L102", + "source_location": "L103", "_origin": "ast", "id": "composer_require_dev_symfony_maker_bundle", "community": 299, @@ -10050,7 +10100,7 @@ "source_location": "L1", "_origin": "ast", "id": "migrations_version20260611075829", - "community": 399, + "community": 606, "norm_label": "version20260611075829.php" }, { @@ -10060,7 +10110,7 @@ "source_location": "L13", "_origin": "ast", "id": "migrations_version20260611075829_version20260611075829", - "community": 399, + "community": 606, "norm_label": "version20260611075829" }, { @@ -10070,7 +10120,7 @@ "source_location": "L15", "_origin": "ast", "id": "migrations_version20260611075829_version20260611075829_getdescription", - "community": 399, + "community": 606, "norm_label": ".getdescription()" }, { @@ -10080,7 +10130,7 @@ "source_location": "L20", "_origin": "ast", "id": "migrations_version20260611075829_version20260611075829_up", - "community": 399, + "community": 606, "norm_label": ".up()" }, { @@ -10090,7 +10140,7 @@ "source_location": "L20", "_origin": "ast", "id": "migrations_version20260611075829_php_schema", - "community": 399, + "community": 606, "norm_label": "schema" }, { @@ -10100,7 +10150,7 @@ "source_location": "L50", "_origin": "ast", "id": "migrations_version20260611075829_version20260611075829_down", - "community": 399, + "community": 606, "norm_label": ".down()" }, { @@ -11790,7 +11840,7 @@ "source_location": "L1", "_origin": "ast", "id": "migrations_version20260623173907", - "community": 451, + "community": 600, "norm_label": "version20260623173907.php" }, { @@ -11800,7 +11850,7 @@ "source_location": "L13", "_origin": "ast", "id": "migrations_version20260623173907_version20260623173907", - "community": 451, + "community": 600, "norm_label": "version20260623173907" }, { @@ -11810,7 +11860,7 @@ "source_location": "L15", "_origin": "ast", "id": "migrations_version20260623173907_version20260623173907_getdescription", - "community": 451, + "community": 600, "norm_label": ".getdescription()" }, { @@ -11820,7 +11870,7 @@ "source_location": "L20", "_origin": "ast", "id": "migrations_version20260623173907_version20260623173907_up", - "community": 451, + "community": 600, "norm_label": ".up()" }, { @@ -11830,7 +11880,7 @@ "source_location": "L20", "_origin": "ast", "id": "migrations_version20260623173907_php_schema", - "community": 451, + "community": 600, "norm_label": "schema" }, { @@ -11840,7 +11890,7 @@ "source_location": "L26", "_origin": "ast", "id": "migrations_version20260623173907_version20260623173907_down", - "community": 451, + "community": 600, "norm_label": ".down()" }, { @@ -12510,7 +12560,7 @@ "source_location": "L1", "_origin": "ast", "id": "migrations_version20260628165710", - "community": 625, + "community": 399, "norm_label": "version20260628165710.php" }, { @@ -12520,7 +12570,7 @@ "source_location": "L13", "_origin": "ast", "id": "migrations_version20260628165710_version20260628165710", - "community": 625, + "community": 399, "norm_label": "version20260628165710" }, { @@ -12530,7 +12580,7 @@ "source_location": "L15", "_origin": "ast", "id": "migrations_version20260628165710_version20260628165710_getdescription", - "community": 625, + "community": 399, "norm_label": ".getdescription()" }, { @@ -12540,7 +12590,7 @@ "source_location": "L20", "_origin": "ast", "id": "migrations_version20260628165710_version20260628165710_up", - "community": 625, + "community": 399, "norm_label": ".up()" }, { @@ -12550,7 +12600,7 @@ "source_location": "L20", "_origin": "ast", "id": "migrations_version20260628165710_php_schema", - "community": 625, + "community": 399, "norm_label": "schema" }, { @@ -12560,7 +12610,7 @@ "source_location": "L26", "_origin": "ast", "id": "migrations_version20260628165710_version20260628165710_down", - "community": 625, + "community": 399, "norm_label": ".down()" }, { @@ -13624,11 +13674,21 @@ "norm_label": "@types/leaflet" }, { - "label": "jalaali-js", + "label": "altcha", "file_type": "code", "source_file": "package.json", "source_location": "L42", "_origin": "ast", + "id": "package_dependencies_altcha", + "community": 367, + "norm_label": "altcha" + }, + { + "label": "jalaali-js", + "file_type": "code", + "source_file": "package.json", + "source_location": "L43", + "_origin": "ast", "id": "package_dependencies_jalaali_js", "community": 81, "norm_label": "jalaali-js" @@ -13637,7 +13697,7 @@ "label": "leaflet", "file_type": "code", "source_file": "package.json", - "source_location": "L43", + "source_location": "L44", "_origin": "ast", "id": "package_dependencies_leaflet", "community": 81, @@ -13647,7 +13707,7 @@ "label": "react", "file_type": "code", "source_file": "package.json", - "source_location": "L44", + "source_location": "L45", "_origin": "ast", "id": "package_dependencies_react", "community": 81, @@ -13657,7 +13717,7 @@ "label": "react-dom", "file_type": "code", "source_file": "package.json", - "source_location": "L45", + "source_location": "L46", "_origin": "ast", "id": "package_dependencies_react_dom", "community": 81, @@ -13667,7 +13727,7 @@ "label": "react-easy-crop", "file_type": "code", "source_file": "package.json", - "source_location": "L46", + "source_location": "L47", "_origin": "ast", "id": "package_dependencies_react_easy_crop", "community": 81, @@ -13677,7 +13737,7 @@ "label": "react-hook-form", "file_type": "code", "source_file": "package.json", - "source_location": "L47", + "source_location": "L48", "_origin": "ast", "id": "package_dependencies_react_hook_form", "community": 81, @@ -13687,7 +13747,7 @@ "label": "react-hot-toast", "file_type": "code", "source_file": "package.json", - "source_location": "L48", + "source_location": "L49", "_origin": "ast", "id": "package_dependencies_react_hot_toast", "community": 81, @@ -13697,7 +13757,7 @@ "label": "react-leaflet", "file_type": "code", "source_file": "package.json", - "source_location": "L49", + "source_location": "L50", "_origin": "ast", "id": "package_dependencies_react_leaflet", "community": 81, @@ -13707,7 +13767,7 @@ "label": "react-router-dom", "file_type": "code", "source_file": "package.json", - "source_location": "L50", + "source_location": "L51", "_origin": "ast", "id": "package_dependencies_react_router_dom", "community": 81, @@ -13717,7 +13777,7 @@ "label": "react-select", "file_type": "code", "source_file": "package.json", - "source_location": "L51", + "source_location": "L52", "_origin": "ast", "id": "package_dependencies_react_select", "community": 81, @@ -13727,7 +13787,7 @@ "label": "recharts", "file_type": "code", "source_file": "package.json", - "source_location": "L52", + "source_location": "L53", "_origin": "ast", "id": "package_dependencies_recharts", "community": 81, @@ -13737,7 +13797,7 @@ "label": "sonner", "file_type": "code", "source_file": "package.json", - "source_location": "L53", + "source_location": "L54", "_origin": "ast", "id": "package_dependencies_sonner", "community": 81, @@ -13747,7 +13807,7 @@ "label": "zod", "file_type": "code", "source_file": "package.json", - "source_location": "L54", + "source_location": "L55", "_origin": "ast", "id": "package_dependencies_zod", "community": 81, @@ -13757,7 +13817,7 @@ "label": "zustand", "file_type": "code", "source_file": "package.json", - "source_location": "L55", + "source_location": "L56", "_origin": "ast", "id": "package_dependencies_zustand", "community": 81, @@ -13767,7 +13827,7 @@ "label": "license", "file_type": "code", "source_file": "package.json", - "source_location": "L57", + "source_location": "L58", "_origin": "ast", "id": "package_license", "community": 498, @@ -13777,7 +13837,7 @@ "label": "private", "file_type": "code", "source_file": "package.json", - "source_location": "L58", + "source_location": "L59", "_origin": "ast", "id": "package_private", "community": 498, @@ -13787,7 +13847,7 @@ "label": "scripts", "file_type": "code", "source_file": "package.json", - "source_location": "L59", + "source_location": "L60", "_origin": "ast", "id": "package_scripts", "community": 498, @@ -13797,7 +13857,7 @@ "label": "dev-server", "file_type": "code", "source_file": "package.json", - "source_location": "L60", + "source_location": "L61", "_origin": "ast", "id": "package_scripts_dev_server", "community": 498, @@ -13807,7 +13867,7 @@ "label": "dev", "file_type": "code", "source_file": "package.json", - "source_location": "L61", + "source_location": "L62", "_origin": "ast", "id": "package_scripts_dev", "community": 498, @@ -13817,7 +13877,7 @@ "label": "watch", "file_type": "code", "source_file": "package.json", - "source_location": "L62", + "source_location": "L63", "_origin": "ast", "id": "package_scripts_watch", "community": 498, @@ -13827,7 +13887,7 @@ "label": "build", "file_type": "code", "source_file": "package.json", - "source_location": "L63", + "source_location": "L64", "_origin": "ast", "id": "package_scripts_build", "community": 498, @@ -13837,7 +13897,7 @@ "label": "test", "file_type": "code", "source_file": "package.json", - "source_location": "L64", + "source_location": "L65", "_origin": "ast", "id": "package_scripts_test", "community": 498, @@ -13847,7 +13907,7 @@ "label": "test:watch", "file_type": "code", "source_file": "package.json", - "source_location": "L65", + "source_location": "L66", "_origin": "ast", "id": "package_scripts_test_watch", "community": 498, @@ -13857,7 +13917,7 @@ "label": "test:cov", "file_type": "code", "source_file": "package.json", - "source_location": "L66", + "source_location": "L67", "_origin": "ast", "id": "package_scripts_test_cov", "community": 498, @@ -14190,7 +14250,7 @@ "source_location": "L390", "_origin": "ast", "id": "controller_adminapicontroller_adminapicontroller_createdoctor", - "community": 20, + "community": 685, "norm_label": ".createdoctor()" }, { @@ -14210,7 +14270,7 @@ "source_location": "L504", "_origin": "ast", "id": "controller_adminapicontroller_adminapicontroller_createclinic", - "community": 20, + "community": 685, "norm_label": ".createclinic()" }, { @@ -16610,7 +16670,7 @@ "source_location": "L1", "_origin": "ast", "id": "service_appointmentexpiryservice", - "community": 182, + "community": 732, "norm_label": "appointmentexpiryservice.php" }, { @@ -16620,7 +16680,7 @@ "source_location": "L10", "_origin": "ast", "id": "service_appointmentexpiryservice_appointmentexpiryservice", - "community": 182, + "community": 732, "norm_label": "appointmentexpiryservice" }, { @@ -16630,7 +16690,7 @@ "source_location": "L12", "_origin": "ast", "id": "service_appointmentexpiryservice_appointmentexpiryservice_construct", - "community": 182, + "community": 732, "norm_label": ".__construct()" }, { @@ -16640,7 +16700,7 @@ "source_location": "L23", "_origin": "ast", "id": "service_appointmentexpiryservice_appointmentexpiryservice_expirestale", - "community": 182, + "community": 732, "norm_label": ".expirestale()" }, { @@ -16877,7 +16937,7 @@ "label": "AuthController", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", - "source_location": "L26", + "source_location": "L27", "_origin": "ast", "id": "controller_authcontroller_authcontroller", "community": 318, @@ -16887,7 +16947,7 @@ "label": ".__construct()", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", - "source_location": "L29", + "source_location": "L30", "_origin": "ast", "id": "controller_authcontroller_authcontroller_construct", "community": 318, @@ -16897,7 +16957,7 @@ "label": ".login()", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", - "source_location": "L49", + "source_location": "L51", "_origin": "ast", "id": "controller_authcontroller_authcontroller_login", "community": 318, @@ -16907,7 +16967,7 @@ "label": "JsonResponse", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", - "source_location": "L49", + "source_location": "L51", "_origin": "ast", "id": "src_auth_controller_authcontroller_php_jsonresponse", "community": 318, @@ -16917,7 +16977,7 @@ "label": ".sendCode()", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", - "source_location": "L107", + "source_location": "L109", "_origin": "ast", "id": "controller_authcontroller_authcontroller_sendcode", "community": 318, @@ -16927,7 +16987,7 @@ "label": "Request", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", - "source_location": "L107", + "source_location": "L109", "_origin": "ast", "id": "src_auth_controller_authcontroller_php_request", "community": 318, @@ -16937,7 +16997,7 @@ "label": ".verifyCode()", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", - "source_location": "L163", + "source_location": "L167", "_origin": "ast", "id": "controller_authcontroller_authcontroller_verifycode", "community": 318, @@ -16947,7 +17007,7 @@ "label": ".register()", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", - "source_location": "L221", + "source_location": "L225", "_origin": "ast", "id": "controller_authcontroller_authcontroller_register", "community": 318, @@ -16957,7 +17017,7 @@ "label": ".issueToken()", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", - "source_location": "L298", + "source_location": "L304", "_origin": "ast", "id": "controller_authcontroller_authcontroller_issuetoken", "community": 318, @@ -16967,7 +17027,7 @@ "label": ".otpLogin()", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", - "source_location": "L371", + "source_location": "L377", "_origin": "ast", "id": "controller_authcontroller_authcontroller_otplogin", "community": 318, @@ -16977,7 +17037,7 @@ "label": ".resetPassword()", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", - "source_location": "L395", + "source_location": "L403", "_origin": "ast", "id": "controller_authcontroller_authcontroller_resetpassword", "community": 318, @@ -16987,7 +17047,7 @@ "label": ".refreshToken()", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", - "source_location": "L423", + "source_location": "L433", "_origin": "ast", "id": "controller_authcontroller_authcontroller_refreshtoken", "community": 318, @@ -16997,7 +17057,7 @@ "label": ".userInfo()", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", - "source_location": "L496", + "source_location": "L506", "_origin": "ast", "id": "controller_authcontroller_authcontroller_userinfo", "community": 318, @@ -17007,7 +17067,7 @@ "label": "User", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", - "source_location": "L496", + "source_location": "L506", "_origin": "ast", "id": "src_auth_controller_authcontroller_php_user", "community": 318, @@ -17017,7 +17077,7 @@ "label": ".switchContext()", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", - "source_location": "L582", + "source_location": "L592", "_origin": "ast", "id": "controller_authcontroller_authcontroller_switchcontext", "community": 318, @@ -17027,7 +17087,7 @@ "label": ".enforceLimit()", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", - "source_location": "L635", + "source_location": "L645", "_origin": "ast", "id": "controller_authcontroller_authcontroller_enforcelimit", "community": 318, @@ -17037,7 +17097,7 @@ "label": "RateLimiterFactory", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", - "source_location": "L635", + "source_location": "L645", "_origin": "ast", "id": "ratelimiterfactory", "community": 318, @@ -17047,7 +17107,7 @@ "label": ".resolvePrimaryRole()", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", - "source_location": "L644", + "source_location": "L654", "_origin": "ast", "id": "controller_authcontroller_authcontroller_resolveprimaryrole", "community": 318, @@ -17057,7 +17117,7 @@ "label": ".buildAvailableContexts()", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", - "source_location": "L655", + "source_location": "L665", "_origin": "ast", "id": "controller_authcontroller_authcontroller_buildavailablecontexts", "community": 318, @@ -17067,7 +17127,7 @@ "label": ".findContextByDbUuid()", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", - "source_location": "L728", + "source_location": "L738", "_origin": "ast", "id": "controller_authcontroller_authcontroller_findcontextbydbuuid", "community": 318, @@ -17077,7 +17137,7 @@ "label": ".buildDbKey()", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", - "source_location": "L738", + "source_location": "L748", "_origin": "ast", "id": "controller_authcontroller_authcontroller_builddbkey", "community": 318, @@ -17087,7 +17147,7 @@ "label": ".logout()", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", - "source_location": "L743", + "source_location": "L753", "_origin": "ast", "id": "controller_authcontroller_authcontroller_logout", "community": 318, @@ -17097,7 +17157,7 @@ "label": ".sessionToken()", "file_type": "code", "source_file": "src/Auth/Controller/AuthController.php", - "source_location": "L787", + "source_location": "L797", "_origin": "ast", "id": "controller_authcontroller_authcontroller_sessiontoken", "community": 318, @@ -17227,7 +17287,7 @@ "label": "PreRegistrationController", "file_type": "code", "source_file": "src/Auth/Controller/PreRegistrationController.php", - "source_location": "L25", + "source_location": "L26", "_origin": "ast", "id": "controller_preregistrationcontroller_preregistrationcontroller", "community": 300, @@ -17237,7 +17297,7 @@ "label": ".__construct()", "file_type": "code", "source_file": "src/Auth/Controller/PreRegistrationController.php", - "source_location": "L28", + "source_location": "L29", "_origin": "ast", "id": "controller_preregistrationcontroller_preregistrationcontroller_construct", "community": 300, @@ -17247,7 +17307,7 @@ "label": ".submit()", "file_type": "code", "source_file": "src/Auth/Controller/PreRegistrationController.php", - "source_location": "L40", + "source_location": "L42", "_origin": "ast", "id": "controller_preregistrationcontroller_preregistrationcontroller_submit", "community": 300, @@ -17257,7 +17317,7 @@ "label": "Request", "file_type": "code", "source_file": "src/Auth/Controller/PreRegistrationController.php", - "source_location": "L40", + "source_location": "L42", "_origin": "ast", "id": "src_auth_controller_preregistrationcontroller_php_request", "community": 300, @@ -17267,7 +17327,7 @@ "label": "JsonResponse", "file_type": "code", "source_file": "src/Auth/Controller/PreRegistrationController.php", - "source_location": "L40", + "source_location": "L42", "_origin": "ast", "id": "src_auth_controller_preregistrationcontroller_php_jsonresponse", "community": 300, @@ -17277,7 +17337,7 @@ "label": ".list()", "file_type": "code", "source_file": "src/Auth/Controller/PreRegistrationController.php", - "source_location": "L76", + "source_location": "L80", "_origin": "ast", "id": "controller_preregistrationcontroller_preregistrationcontroller_list", "community": 300, @@ -17287,7 +17347,7 @@ "label": ".approve()", "file_type": "code", "source_file": "src/Auth/Controller/PreRegistrationController.php", - "source_location": "L104", + "source_location": "L108", "_origin": "ast", "id": "controller_preregistrationcontroller_preregistrationcontroller_approve", "community": 300, @@ -17297,7 +17357,7 @@ "label": ".reject()", "file_type": "code", "source_file": "src/Auth/Controller/PreRegistrationController.php", - "source_location": "L174", + "source_location": "L178", "_origin": "ast", "id": "controller_preregistrationcontroller_preregistrationcontroller_reject", "community": 300, @@ -18320,7 +18380,7 @@ "source_location": "L1", "_origin": "ast", "id": "service_otpservice", - "community": 661, + "community": 595, "norm_label": "otpservice.php" }, { @@ -19660,7 +19720,7 @@ "source_location": "L1", "_origin": "ast", "id": "repository_invoiceitemrepository", - "community": 53, + "community": 674, "norm_label": "invoiceitemrepository.php" }, { @@ -19670,7 +19730,7 @@ "source_location": "L9", "_origin": "ast", "id": "repository_invoiceitemrepository_invoiceitemrepository", - "community": 53, + "community": 674, "norm_label": "invoiceitemrepository" }, { @@ -19680,7 +19740,7 @@ "source_location": "L11", "_origin": "ast", "id": "repository_invoiceitemrepository_invoiceitemrepository_construct", - "community": 53, + "community": 674, "norm_label": ".__construct()" }, { @@ -19690,7 +19750,7 @@ "source_location": "L11", "_origin": "ast", "id": "src_billing_repository_invoiceitemrepository_php_managerregistry", - "community": 53, + "community": 674, "norm_label": "managerregistry" }, { @@ -19700,7 +19760,7 @@ "source_location": "L16", "_origin": "ast", "id": "repository_invoiceitemrepository_invoiceitemrepository_save", - "community": 53, + "community": 674, "norm_label": ".save()" }, { @@ -19710,7 +19770,7 @@ "source_location": "L16", "_origin": "ast", "id": "src_billing_repository_invoiceitemrepository_php_invoiceitem", - "community": 53, + "community": 674, "norm_label": "invoiceitem" }, { @@ -19720,7 +19780,7 @@ "source_location": "L29", "_origin": "ast", "id": "repository_invoiceitemrepository_invoiceitemrepository_detailsforids", - "community": 53, + "community": 674, "norm_label": ".detailsforids()" }, { @@ -19810,7 +19870,7 @@ "source_location": "L1", "_origin": "ast", "id": "service_billingcalculator", - "community": 727, + "community": 30, "norm_label": "billingcalculator.php" }, { @@ -19820,7 +19880,7 @@ "source_location": "L9", "_origin": "ast", "id": "service_billingcalculator_billingcalculator", - "community": 727, + "community": 30, "norm_label": "billingcalculator" }, { @@ -19830,7 +19890,7 @@ "source_location": "L15", "_origin": "ast", "id": "service_billingcalculator_billingcalculator_calculateitem", - "community": 727, + "community": 30, "norm_label": ".calculateitem()" }, { @@ -19840,7 +19900,7 @@ "source_location": "L15", "_origin": "ast", "id": "money", - "community": 727, + "community": 30, "norm_label": "money" }, { @@ -19850,7 +19910,7 @@ "source_location": "L15", "_origin": "ast", "id": "src_billing_service_billingcalculator_php_coveragerule", - "community": 727, + "community": 30, "norm_label": "coveragerule" }, { @@ -19860,7 +19920,7 @@ "source_location": "L15", "_origin": "ast", "id": "src_billing_service_billingcalculator_php_sharebreakdown", - "community": 727, + "community": 30, "norm_label": "sharebreakdown" }, { @@ -19960,7 +20020,7 @@ "source_location": "L1", "_origin": "ast", "id": "service_invoiceservice", - "community": 725, + "community": 30, "norm_label": "invoiceservice.php" }, { @@ -19970,7 +20030,7 @@ "source_location": "L13", "_origin": "ast", "id": "service_invoiceservice_invoiceservice", - "community": 725, + "community": 30, "norm_label": "invoiceservice" }, { @@ -19980,7 +20040,7 @@ "source_location": "L15", "_origin": "ast", "id": "service_invoiceservice_invoiceservice_construct", - "community": 725, + "community": 30, "norm_label": ".__construct()" }, { @@ -19990,7 +20050,7 @@ "source_location": "L27", "_origin": "ast", "id": "service_invoiceservice_invoiceservice_createfromsession", - "community": 725, + "community": 30, "norm_label": ".createfromsession()" }, { @@ -20000,7 +20060,7 @@ "source_location": "L27", "_origin": "ast", "id": "src_billing_service_invoiceservice_php_patientsession", - "community": 725, + "community": 30, "norm_label": "patientsession" }, { @@ -20010,7 +20070,7 @@ "source_location": "L27", "_origin": "ast", "id": "src_billing_service_invoiceservice_php_invoice", - "community": 725, + "community": 30, "norm_label": "invoice" }, { @@ -20020,7 +20080,7 @@ "source_location": "L72", "_origin": "ast", "id": "service_invoiceservice_invoiceservice_finalize", - "community": 725, + "community": 30, "norm_label": ".finalize()" }, { @@ -24000,7 +24060,7 @@ "source_location": "L1", "_origin": "ast", "id": "repository_siteconfigrepository", - "community": 53, + "community": 692, "norm_label": "siteconfigrepository.php" }, { @@ -24010,7 +24070,7 @@ "source_location": "L9", "_origin": "ast", "id": "repository_siteconfigrepository_siteconfigrepository", - "community": 53, + "community": 692, "norm_label": "siteconfigrepository" }, { @@ -24020,7 +24080,7 @@ "source_location": "L35", "_origin": "ast", "id": "repository_siteconfigrepository_siteconfigrepository_construct", - "community": 53, + "community": 692, "norm_label": ".__construct()" }, { @@ -24030,7 +24090,7 @@ "source_location": "L35", "_origin": "ast", "id": "src_config_repository_siteconfigrepository_php_managerregistry", - "community": 53, + "community": 692, "norm_label": "managerregistry" }, { @@ -24040,7 +24100,7 @@ "source_location": "L40", "_origin": "ast", "id": "repository_siteconfigrepository_siteconfigrepository_get", - "community": 53, + "community": 692, "norm_label": ".get()" }, { @@ -24050,7 +24110,7 @@ "source_location": "L49", "_origin": "ast", "id": "repository_siteconfigrepository_siteconfigrepository_getall", - "community": 53, + "community": 692, "norm_label": ".getall()" }, { @@ -24060,7 +24120,7 @@ "source_location": "L65", "_origin": "ast", "id": "repository_siteconfigrepository_siteconfigrepository_set", - "community": 53, + "community": 692, "norm_label": ".set()" }, { @@ -25840,7 +25900,7 @@ "source_location": "L1", "_origin": "ast", "id": "repository_doctorservicerepository", - "community": 577, + "community": 4, "norm_label": "doctorservicerepository.php" }, { @@ -25850,7 +25910,7 @@ "source_location": "L9", "_origin": "ast", "id": "repository_doctorservicerepository_doctorservicerepository", - "community": 577, + "community": 4, "norm_label": "doctorservicerepository" }, { @@ -25860,7 +25920,7 @@ "source_location": "L11", "_origin": "ast", "id": "repository_doctorservicerepository_doctorservicerepository_construct", - "community": 577, + "community": 4, "norm_label": ".__construct()" }, { @@ -25870,7 +25930,7 @@ "source_location": "L11", "_origin": "ast", "id": "src_doctorservice_repository_doctorservicerepository_php_managerregistry", - "community": 577, + "community": 4, "norm_label": "managerregistry" }, { @@ -25880,7 +25940,7 @@ "source_location": "L17", "_origin": "ast", "id": "repository_doctorservicerepository_doctorservicerepository_findactive", - "community": 577, + "community": 4, "norm_label": ".findactive()" }, { @@ -25890,7 +25950,7 @@ "source_location": "L31", "_origin": "ast", "id": "repository_doctorservicerepository_doctorservicerepository_save", - "community": 577, + "community": 4, "norm_label": ".save()" }, { @@ -25900,7 +25960,7 @@ "source_location": "L31", "_origin": "ast", "id": "doctorservice", - "community": 577, + "community": 4, "norm_label": "doctorservice" }, { @@ -25910,7 +25970,7 @@ "source_location": "L37", "_origin": "ast", "id": "repository_doctorservicerepository_doctorservicerepository_remove", - "community": 577, + "community": 4, "norm_label": ".remove()" }, { @@ -27430,7 +27490,7 @@ "source_location": "L1", "_origin": "ast", "id": "service_tenantinsurancecleanupservice", - "community": 618, + "community": 169, "norm_label": "tenantinsurancecleanupservice.php" }, { @@ -27440,7 +27500,7 @@ "source_location": "L17", "_origin": "ast", "id": "service_tenantinsurancecleanupservice_tenantinsurancecleanupservice", - "community": 618, + "community": 169, "norm_label": "tenantinsurancecleanupservice" }, { @@ -27450,7 +27510,7 @@ "source_location": "L19", "_origin": "ast", "id": "service_tenantinsurancecleanupservice_tenantinsurancecleanupservice_construct", - "community": 618, + "community": 169, "norm_label": ".__construct()" }, { @@ -27460,7 +27520,7 @@ "source_location": "L21", "_origin": "ast", "id": "service_tenantinsurancecleanupservice_tenantinsurancecleanupservice_purgeforentity", - "community": 618, + "community": 169, "norm_label": ".purgeforentity()" }, { @@ -28500,7 +28560,7 @@ "source_location": "L1", "_origin": "ast", "id": "repository_provincerepository", - "community": 348, + "community": 53, "norm_label": "provincerepository.php" }, { @@ -28510,7 +28570,7 @@ "source_location": "L9", "_origin": "ast", "id": "repository_provincerepository_provincerepository", - "community": 348, + "community": 53, "norm_label": "provincerepository" }, { @@ -28520,7 +28580,7 @@ "source_location": "L11", "_origin": "ast", "id": "repository_provincerepository_provincerepository_construct", - "community": 348, + "community": 53, "norm_label": ".__construct()" }, { @@ -28530,7 +28590,7 @@ "source_location": "L11", "_origin": "ast", "id": "src_location_repository_provincerepository_php_managerregistry", - "community": 348, + "community": 53, "norm_label": "managerregistry" }, { @@ -28540,7 +28600,7 @@ "source_location": "L17", "_origin": "ast", "id": "repository_provincerepository_provincerepository_findactive", - "community": 348, + "community": 53, "norm_label": ".findactive()" }, { @@ -28550,7 +28610,7 @@ "source_location": "L27", "_origin": "ast", "id": "repository_provincerepository_provincerepository_save", - "community": 348, + "community": 53, "norm_label": ".save()" }, { @@ -28560,7 +28620,7 @@ "source_location": "L27", "_origin": "ast", "id": "src_location_repository_provincerepository_php_province", - "community": 348, + "community": 53, "norm_label": "province" }, { @@ -28570,7 +28630,7 @@ "source_location": "L33", "_origin": "ast", "id": "repository_provincerepository_provincerepository_remove", - "community": 348, + "community": 53, "norm_label": ".remove()" }, { @@ -29730,7 +29790,7 @@ "source_location": "L1", "_origin": "ast", "id": "service_patientservice", - "community": 708, + "community": 30, "norm_label": "patientservice.php" }, { @@ -29740,7 +29800,7 @@ "source_location": "L22", "_origin": "ast", "id": "service_patientservice_patientservice", - "community": 708, + "community": 30, "norm_label": "patientservice" }, { @@ -29750,7 +29810,7 @@ "source_location": "L24", "_origin": "ast", "id": "service_patientservice_patientservice_construct", - "community": 708, + "community": 30, "norm_label": ".__construct()" }, { @@ -29760,7 +29820,7 @@ "source_location": "L45", "_origin": "ast", "id": "service_patientservice_patientservice_calculatefinalprice", - "community": 708, + "community": 30, "norm_label": ".calculatefinalprice()" }, { @@ -29770,7 +29830,7 @@ "source_location": "L77", "_origin": "ast", "id": "service_patientservice_patientservice_autocreateonappointmentconfirm", - "community": 708, + "community": 30, "norm_label": ".autocreateonappointmentconfirm()" }, { @@ -29780,7 +29840,7 @@ "source_location": "L77", "_origin": "ast", "id": "src_patient_service_patientservice_php_appointment", - "community": 708, + "community": 30, "norm_label": "appointment" }, { @@ -29790,7 +29850,7 @@ "source_location": "L102", "_origin": "ast", "id": "service_patientservice_patientservice_autocreateforentity", - "community": 708, + "community": 30, "norm_label": ".autocreateforentity()" }, { @@ -29800,7 +29860,7 @@ "source_location": "L120", "_origin": "ast", "id": "service_patientservice_patientservice_createsession", - "community": 708, + "community": 30, "norm_label": ".createsession()" }, { @@ -29810,7 +29870,7 @@ "source_location": "L120", "_origin": "ast", "id": "src_patient_service_patientservice_php_patientrecord", - "community": 708, + "community": 30, "norm_label": "patientrecord" }, { @@ -29820,7 +29880,7 @@ "source_location": "L120", "_origin": "ast", "id": "src_patient_service_patientservice_php_patientsession", - "community": 708, + "community": 30, "norm_label": "patientsession" }, { @@ -30460,7 +30520,7 @@ "source_location": "L1", "_origin": "ast", "id": "gateway_gatewayfactory", - "community": 709, + "community": 206, "norm_label": "gatewayfactory.php" }, { @@ -30470,7 +30530,7 @@ "source_location": "L14", "_origin": "ast", "id": "gateway_gatewayfactory_gatewayfactory", - "community": 709, + "community": 206, "norm_label": "gatewayfactory" }, { @@ -30480,7 +30540,7 @@ "source_location": "L25", "_origin": "ast", "id": "gateway_gatewayfactory_gatewayfactory_construct", - "community": 709, + "community": 206, "norm_label": ".__construct()" }, { @@ -30490,7 +30550,7 @@ "source_location": "L25", "_origin": "ast", "id": "mellatgateway", - "community": 275, + "community": 206, "norm_label": "mellatgateway" }, { @@ -30500,7 +30560,7 @@ "source_location": "L25", "_origin": "ast", "id": "sepgateway", - "community": 709, + "community": 206, "norm_label": "sepgateway" }, { @@ -30510,7 +30570,7 @@ "source_location": "L37", "_origin": "ast", "id": "gateway_gatewayfactory_gatewayfactory_istestmode", - "community": 709, + "community": 206, "norm_label": ".istestmode()" }, { @@ -30520,7 +30580,7 @@ "source_location": "L43", "_origin": "ast", "id": "gateway_gatewayfactory_gatewayfactory_ismellatsandbox", - "community": 709, + "community": 206, "norm_label": ".ismellatsandbox()" }, { @@ -30530,7 +30590,7 @@ "source_location": "L52", "_origin": "ast", "id": "gateway_gatewayfactory_gatewayfactory_resolve", - "community": 709, + "community": 206, "norm_label": ".resolve()" }, { @@ -30550,7 +30610,7 @@ "source_location": "L68", "_origin": "ast", "id": "gateway_gatewayfactory_gatewayfactory_isenabled", - "community": 709, + "community": 206, "norm_label": ".isenabled()" }, { @@ -30560,7 +30620,7 @@ "source_location": "L80", "_origin": "ast", "id": "gateway_gatewayfactory_gatewayfactory_activegateways", - "community": 709, + "community": 206, "norm_label": ".activegateways()" }, { @@ -30570,7 +30630,7 @@ "source_location": "L1", "_origin": "ast", "id": "gateway_mellatgateway", - "community": 606, + "community": 596, "norm_label": "mellatgateway.php" }, { @@ -30840,7 +30900,7 @@ "source_location": "L364", "_origin": "ast", "id": "gateway_mellatgateway_mellatgateway_time", - "community": 182, + "community": 16, "norm_label": ".time()" }, { @@ -31150,7 +31210,7 @@ "source_location": "L1", "_origin": "ast", "id": "gateway_sepgateway", - "community": 606, + "community": 206, "norm_label": "sepgateway.php" }, { @@ -32690,7 +32750,7 @@ "source_location": "L1", "_origin": "ast", "id": "repository_raterepository", - "community": 22, + "community": 577, "norm_label": "raterepository.php" }, { @@ -32700,7 +32760,7 @@ "source_location": "L11", "_origin": "ast", "id": "repository_raterepository_raterepository", - "community": 22, + "community": 577, "norm_label": "raterepository" }, { @@ -32710,7 +32770,7 @@ "source_location": "L13", "_origin": "ast", "id": "repository_raterepository_raterepository_construct", - "community": 22, + "community": 577, "norm_label": ".__construct()" }, { @@ -32720,7 +32780,7 @@ "source_location": "L13", "_origin": "ast", "id": "src_rating_repository_raterepository_php_managerregistry", - "community": 22, + "community": 577, "norm_label": "managerregistry" }, { @@ -32730,7 +32790,7 @@ "source_location": "L15", "_origin": "ast", "id": "repository_raterepository_raterepository_findbyuseranddoctor", - "community": 22, + "community": 577, "norm_label": ".findbyuseranddoctor()" }, { @@ -32740,7 +32800,7 @@ "source_location": "L15", "_origin": "ast", "id": "src_rating_repository_raterepository_php_user", - "community": 22, + "community": 577, "norm_label": "user" }, { @@ -32750,7 +32810,7 @@ "source_location": "L15", "_origin": "ast", "id": "src_rating_repository_raterepository_php_doctor", - "community": 22, + "community": 577, "norm_label": "doctor" }, { @@ -32760,7 +32820,7 @@ "source_location": "L15", "_origin": "ast", "id": "rate", - "community": 22, + "community": 577, "norm_label": "rate" }, { @@ -32770,7 +32830,7 @@ "source_location": "L22", "_origin": "ast", "id": "repository_raterepository_raterepository_getaggregate", - "community": 22, + "community": 577, "norm_label": ".getaggregate()" }, { @@ -32780,7 +32840,7 @@ "source_location": "L53", "_origin": "ast", "id": "repository_raterepository_raterepository_save", - "community": 22, + "community": 577, "norm_label": ".save()" }, { @@ -35653,6 +35713,186 @@ "community": 482, "norm_label": ".settle()" }, + { + "label": "AltchaService.php", + "file_type": "code", + "source_file": "src/Shared/Captcha/AltchaService.php", + "source_location": "L1", + "_origin": "ast", + "id": "captcha_altchaservice", + "community": 367, + "norm_label": "altchaservice.php" + }, + { + "label": "AltchaService", + "file_type": "code", + "source_file": "src/Shared/Captcha/AltchaService.php", + "source_location": "L17", + "_origin": "ast", + "id": "captcha_altchaservice_altchaservice", + "community": 367, + "norm_label": "altchaservice" + }, + { + "label": "Altcha", + "file_type": "code", + "source_file": "src/Shared/Captcha/AltchaService.php", + "source_location": "L19", + "_origin": "ast", + "id": "altcha", + "community": 367, + "norm_label": "altcha" + }, + { + "label": ".__construct()", + "file_type": "code", + "source_file": "src/Shared/Captcha/AltchaService.php", + "source_location": "L21", + "_origin": "ast", + "id": "captcha_altchaservice_altchaservice_construct", + "community": 367, + "norm_label": ".__construct()" + }, + { + "label": ".enabled()", + "file_type": "code", + "source_file": "src/Shared/Captcha/AltchaService.php", + "source_location": "L31", + "_origin": "ast", + "id": "captcha_altchaservice_altchaservice_enabled", + "community": 367, + "norm_label": ".enabled()" + }, + { + "label": ".createChallenge()", + "file_type": "code", + "source_file": "src/Shared/Captcha/AltchaService.php", + "source_location": "L41", + "_origin": "ast", + "id": "captcha_altchaservice_altchaservice_createchallenge", + "community": 367, + "norm_label": ".createchallenge()" + }, + { + "label": ".verifySolution()", + "file_type": "code", + "source_file": "src/Shared/Captcha/AltchaService.php", + "source_location": "L61", + "_origin": "ast", + "id": "captcha_altchaservice_altchaservice_verifysolution", + "community": 367, + "norm_label": ".verifysolution()" + }, + { + "label": ".consumeOnce()", + "file_type": "code", + "source_file": "src/Shared/Captcha/AltchaService.php", + "source_location": "L74", + "_origin": "ast", + "id": "captcha_altchaservice_altchaservice_consumeonce", + "community": 367, + "norm_label": ".consumeonce()" + }, + { + "label": "CaptchaController.php", + "file_type": "code", + "source_file": "src/Shared/Captcha/CaptchaController.php", + "source_location": "L1", + "_origin": "ast", + "id": "captcha_captchacontroller", + "community": 108, + "norm_label": "captchacontroller.php" + }, + { + "label": "CaptchaController", + "file_type": "code", + "source_file": "src/Shared/Captcha/CaptchaController.php", + "source_location": "L10", + "_origin": "ast", + "id": "captcha_captchacontroller_captchacontroller", + "community": 108, + "norm_label": "captchacontroller" + }, + { + "label": ".__construct()", + "file_type": "code", + "source_file": "src/Shared/Captcha/CaptchaController.php", + "source_location": "L13", + "_origin": "ast", + "id": "captcha_captchacontroller_captchacontroller_construct", + "community": 108, + "norm_label": ".__construct()" + }, + { + "label": ".challenge()", + "file_type": "code", + "source_file": "src/Shared/Captcha/CaptchaController.php", + "source_location": "L15", + "_origin": "ast", + "id": "captcha_captchacontroller_captchacontroller_challenge", + "community": 108, + "norm_label": ".challenge()" + }, + { + "label": "JsonResponse", + "file_type": "code", + "source_file": "src/Shared/Captcha/CaptchaController.php", + "source_location": "L15", + "_origin": "ast", + "id": "src_shared_captcha_captchacontroller_php_jsonresponse", + "community": 108, + "norm_label": "jsonresponse" + }, + { + "label": "CaptchaGuard.php", + "file_type": "code", + "source_file": "src/Shared/Captcha/CaptchaGuard.php", + "source_location": "L1", + "_origin": "ast", + "id": "captcha_captchaguard", + "community": 709, + "norm_label": "captchaguard.php" + }, + { + "label": "CaptchaGuard", + "file_type": "code", + "source_file": "src/Shared/Captcha/CaptchaGuard.php", + "source_location": "L16", + "_origin": "ast", + "id": "captcha_captchaguard_captchaguard", + "community": 709, + "norm_label": "captchaguard" + }, + { + "label": ".__construct()", + "file_type": "code", + "source_file": "src/Shared/Captcha/CaptchaGuard.php", + "source_location": "L18", + "_origin": "ast", + "id": "captcha_captchaguard_captchaguard_construct", + "community": 709, + "norm_label": ".__construct()" + }, + { + "label": ".assertValid()", + "file_type": "code", + "source_file": "src/Shared/Captcha/CaptchaGuard.php", + "source_location": "L20", + "_origin": "ast", + "id": "captcha_captchaguard_captchaguard_assertvalid", + "community": 709, + "norm_label": ".assertvalid()" + }, + { + "label": "Request", + "file_type": "code", + "source_file": "src/Shared/Captcha/CaptchaGuard.php", + "source_location": "L20", + "_origin": "ast", + "id": "src_shared_captcha_captchaguard_php_request", + "community": 709, + "norm_label": "request" + }, { "label": "SeedDemoDataCommand.php", "file_type": "code", @@ -35917,7 +36157,7 @@ "label": ".message()", "file_type": "code", "source_file": "src/Shared/Constant/ErrorCodes.php", - "source_location": "L103", + "source_location": "L106", "_origin": "ast", "id": "constant_errorcodes_errorcodes_message", "community": 380, @@ -36160,7 +36400,7 @@ "source_location": "L1", "_origin": "ast", "id": "dependencyinjection_corsregexenvprocessor", - "community": 720, + "community": 561, "norm_label": "corsregexenvprocessor.php" }, { @@ -36170,7 +36410,7 @@ "source_location": "L15", "_origin": "ast", "id": "dependencyinjection_corsregexenvprocessor_corsregexenvprocessor", - "community": 720, + "community": 561, "norm_label": "corsregexenvprocessor" }, { @@ -36180,7 +36420,7 @@ "source_location": "", "_origin": "ast", "id": "envvarprocessorinterface", - "community": 720, + "community": 561, "norm_label": "envvarprocessorinterface" }, { @@ -36190,7 +36430,7 @@ "source_location": "L17", "_origin": "ast", "id": "dependencyinjection_corsregexenvprocessor_corsregexenvprocessor_getenv", - "community": 720, + "community": 561, "norm_label": ".getenv()" }, { @@ -36200,7 +36440,7 @@ "source_location": "L17", "_origin": "ast", "id": "closure", - "community": 720, + "community": 561, "norm_label": "closure" }, { @@ -36210,7 +36450,7 @@ "source_location": "L37", "_origin": "ast", "id": "dependencyinjection_corsregexenvprocessor_corsregexenvprocessor_getprovidedtypes", - "community": 720, + "community": 561, "norm_label": ".getprovidedtypes()" }, { @@ -36480,7 +36720,7 @@ "source_location": "L1", "_origin": "ast", "id": "logging_applog", - "community": 713, + "community": 16, "norm_label": "applog.php" }, { @@ -36490,7 +36730,7 @@ "source_location": "L8", "_origin": "ast", "id": "logging_applog_applog", - "community": 713, + "community": 16, "norm_label": "applog" }, { @@ -36500,7 +36740,7 @@ "source_location": "L37", "_origin": "ast", "id": "logging_applog_applog_construct", - "community": 713, + "community": 16, "norm_label": ".__construct()" }, { @@ -36510,7 +36750,7 @@ "source_location": "L47", "_origin": "ast", "id": "logging_applog_applog_toarray", - "community": 713, + "community": 16, "norm_label": ".toarray()" }, { @@ -36660,7 +36900,7 @@ "source_location": "", "_origin": "ast", "id": "loggerinterface", - "community": 606, + "community": 596, "norm_label": "loggerinterface" }, { @@ -36790,7 +37030,7 @@ "source_location": "L1", "_origin": "ast", "id": "logging_logpruneservice", - "community": 182, + "community": 732, "norm_label": "logpruneservice.php" }, { @@ -36800,7 +37040,7 @@ "source_location": "L11", "_origin": "ast", "id": "logging_logpruneservice_logpruneservice", - "community": 182, + "community": 732, "norm_label": "logpruneservice" }, { @@ -36810,7 +37050,7 @@ "source_location": "L13", "_origin": "ast", "id": "logging_logpruneservice_logpruneservice_construct", - "community": 182, + "community": 732, "norm_label": ".__construct()" }, { @@ -36820,7 +37060,7 @@ "source_location": "L19", "_origin": "ast", "id": "logging_logpruneservice_logpruneservice_prunebyretention", - "community": 182, + "community": 732, "norm_label": ".prunebyretention()" }, { @@ -36930,7 +37170,7 @@ "source_location": "L1", "_origin": "ast", "id": "service_apiirservice", - "community": 606, + "community": 596, "norm_label": "apiirservice.php" }, { @@ -37360,7 +37600,7 @@ "source_location": "L1", "_origin": "ast", "id": "controller_smsmessagecontroller", - "community": 485, + "community": 559, "norm_label": "smsmessagecontroller.php" }, { @@ -37370,7 +37610,7 @@ "source_location": "L18", "_origin": "ast", "id": "controller_smsmessagecontroller_smsmessagecontroller", - "community": 485, + "community": 559, "norm_label": "smsmessagecontroller" }, { @@ -37380,7 +37620,7 @@ "source_location": "L22", "_origin": "ast", "id": "controller_smsmessagecontroller_smsmessagecontroller_construct", - "community": 485, + "community": 559, "norm_label": ".__construct()" }, { @@ -37390,7 +37630,7 @@ "source_location": "L26", "_origin": "ast", "id": "controller_smsmessagecontroller_smsmessagecontroller_list", - "community": 485, + "community": 559, "norm_label": ".list()" }, { @@ -37400,7 +37640,7 @@ "source_location": "L26", "_origin": "ast", "id": "src_sms_controller_smsmessagecontroller_php_jsonresponse", - "community": 485, + "community": 559, "norm_label": "jsonresponse" }, { @@ -37410,7 +37650,7 @@ "source_location": "L57", "_origin": "ast", "id": "controller_smsmessagecontroller_smsmessagecontroller_update", - "community": 485, + "community": 559, "norm_label": ".update()" }, { @@ -37420,7 +37660,7 @@ "source_location": "L57", "_origin": "ast", "id": "src_sms_controller_smsmessagecontroller_php_request", - "community": 485, + "community": 559, "norm_label": "request" }, { @@ -37710,7 +37950,7 @@ "source_location": "L1", "_origin": "ast", "id": "entity_smsmessagetemplate", - "community": 407, + "community": 210, "norm_label": "smsmessagetemplate.php" }, { @@ -38330,7 +38570,7 @@ "source_location": "L1", "_origin": "ast", "id": "entity_smswallet", - "community": 182, + "community": 16, "norm_label": "smswallet.php" }, { @@ -38340,7 +38580,7 @@ "source_location": "L8", "_origin": "ast", "id": "entity_smswallet_smswallet", - "community": 182, + "community": 16, "norm_label": "smswallet" }, { @@ -38350,7 +38590,7 @@ "source_location": "L33", "_origin": "ast", "id": "entity_smswallet_smswallet_construct", - "community": 182, + "community": 16, "norm_label": ".__construct()" }, { @@ -38360,7 +38600,7 @@ "source_location": "L41", "_origin": "ast", "id": "entity_smswallet_smswallet_getid", - "community": 182, + "community": 16, "norm_label": ".getid()" }, { @@ -38370,7 +38610,7 @@ "source_location": "L42", "_origin": "ast", "id": "entity_smswallet_smswallet_getentitytype", - "community": 182, + "community": 16, "norm_label": ".getentitytype()" }, { @@ -38380,7 +38620,7 @@ "source_location": "L43", "_origin": "ast", "id": "entity_smswallet_smswallet_getentityid", - "community": 182, + "community": 16, "norm_label": ".getentityid()" }, { @@ -38390,7 +38630,7 @@ "source_location": "L44", "_origin": "ast", "id": "entity_smswallet_smswallet_getbalancerials", - "community": 182, + "community": 16, "norm_label": ".getbalancerials()" }, { @@ -38400,7 +38640,7 @@ "source_location": "L46", "_origin": "ast", "id": "entity_smswallet_smswallet_credit", - "community": 182, + "community": 16, "norm_label": ".credit()" }, { @@ -38410,7 +38650,7 @@ "source_location": "L52", "_origin": "ast", "id": "entity_smswallet_smswallet_debit", - "community": 182, + "community": 16, "norm_label": ".debit()" }, { @@ -38570,7 +38810,7 @@ "source_location": "L1", "_origin": "ast", "id": "provider_kavehnegarprovider", - "community": 606, + "community": 596, "norm_label": "kavehnegarprovider.php" }, { @@ -38670,7 +38910,7 @@ "source_location": "L1", "_origin": "ast", "id": "provider_ranginehprovider", - "community": 606, + "community": 596, "norm_label": "ranginehprovider.php" }, { @@ -38680,7 +38920,7 @@ "source_location": "L8", "_origin": "ast", "id": "provider_ranginehprovider_ranginehprovider", - "community": 606, + "community": 596, "norm_label": "ranginehprovider" }, { @@ -38690,7 +38930,7 @@ "source_location": "L12", "_origin": "ast", "id": "provider_ranginehprovider_ranginehprovider_construct", - "community": 606, + "community": 596, "norm_label": ".__construct()" }, { @@ -38700,7 +38940,7 @@ "source_location": "L21", "_origin": "ast", "id": "provider_ranginehprovider_ranginehprovider_getname", - "community": 606, + "community": 596, "norm_label": ".getname()" }, { @@ -38710,7 +38950,7 @@ "source_location": "L23", "_origin": "ast", "id": "provider_ranginehprovider_ranginehprovider_send", - "community": 606, + "community": 596, "norm_label": ".send()" }, { @@ -38720,7 +38960,7 @@ "source_location": "L38", "_origin": "ast", "id": "provider_ranginehprovider_ranginehprovider_sendtemplate", - "community": 606, + "community": 596, "norm_label": ".sendtemplate()" }, { @@ -38770,7 +39010,7 @@ "source_location": "L1", "_origin": "ast", "id": "repository_smslogrepository", - "community": 661, + "community": 595, "norm_label": "smslogrepository.php" }, { @@ -38780,7 +39020,7 @@ "source_location": "L9", "_origin": "ast", "id": "repository_smslogrepository_smslogrepository", - "community": 661, + "community": 595, "norm_label": "smslogrepository" }, { @@ -38790,7 +39030,7 @@ "source_location": "L11", "_origin": "ast", "id": "repository_smslogrepository_smslogrepository_construct", - "community": 661, + "community": 595, "norm_label": ".__construct()" }, { @@ -38800,7 +39040,7 @@ "source_location": "L11", "_origin": "ast", "id": "src_sms_repository_smslogrepository_php_managerregistry", - "community": 661, + "community": 595, "norm_label": "managerregistry" }, { @@ -38810,7 +39050,7 @@ "source_location": "L12", "_origin": "ast", "id": "repository_smslogrepository_smslogrepository_save", - "community": 661, + "community": 595, "norm_label": ".save()" }, { @@ -38820,7 +39060,7 @@ "source_location": "L12", "_origin": "ast", "id": "smslog", - "community": 661, + "community": 595, "norm_label": "smslog" }, { @@ -38900,7 +39140,7 @@ "source_location": "L1", "_origin": "ast", "id": "repository_smssettingsrepository", - "community": 64, + "community": 694, "norm_label": "smssettingsrepository.php" }, { @@ -38910,7 +39150,7 @@ "source_location": "L9", "_origin": "ast", "id": "repository_smssettingsrepository_smssettingsrepository", - "community": 64, + "community": 694, "norm_label": "smssettingsrepository" }, { @@ -38920,7 +39160,7 @@ "source_location": "L11", "_origin": "ast", "id": "repository_smssettingsrepository_smssettingsrepository_construct", - "community": 64, + "community": 694, "norm_label": ".__construct()" }, { @@ -38930,7 +39170,7 @@ "source_location": "L11", "_origin": "ast", "id": "src_sms_repository_smssettingsrepository_php_managerregistry", - "community": 64, + "community": 694, "norm_label": "managerregistry" }, { @@ -38940,7 +39180,7 @@ "source_location": "L16", "_origin": "ast", "id": "repository_smssettingsrepository_smssettingsrepository_findbyentity", - "community": 64, + "community": 694, "norm_label": ".findbyentity()" }, { @@ -38950,7 +39190,7 @@ "source_location": "L16", "_origin": "ast", "id": "smssettings", - "community": 64, + "community": 694, "norm_label": "smssettings" }, { @@ -38960,7 +39200,7 @@ "source_location": "L21", "_origin": "ast", "id": "repository_smssettingsrepository_smssettingsrepository_save", - "community": 64, + "community": 694, "norm_label": ".save()" }, { @@ -38970,7 +39210,7 @@ "source_location": "L1", "_origin": "ast", "id": "repository_smstemplaterepository", - "community": 656, + "community": 348, "norm_label": "smstemplaterepository.php" }, { @@ -38980,7 +39220,7 @@ "source_location": "L9", "_origin": "ast", "id": "repository_smstemplaterepository_smstemplaterepository", - "community": 656, + "community": 348, "norm_label": "smstemplaterepository" }, { @@ -38990,7 +39230,7 @@ "source_location": "L11", "_origin": "ast", "id": "repository_smstemplaterepository_smstemplaterepository_construct", - "community": 656, + "community": 348, "norm_label": ".__construct()" }, { @@ -39000,7 +39240,7 @@ "source_location": "L11", "_origin": "ast", "id": "src_sms_repository_smstemplaterepository_php_managerregistry", - "community": 656, + "community": 348, "norm_label": "managerregistry" }, { @@ -39010,7 +39250,7 @@ "source_location": "L12", "_origin": "ast", "id": "repository_smstemplaterepository_smstemplaterepository_findbyuuid", - "community": 656, + "community": 348, "norm_label": ".findbyuuid()" }, { @@ -39020,7 +39260,7 @@ "source_location": "L12", "_origin": "ast", "id": "smstemplate", - "community": 656, + "community": 348, "norm_label": "smstemplate" }, { @@ -39030,7 +39270,7 @@ "source_location": "L13", "_origin": "ast", "id": "repository_smstemplaterepository_smstemplaterepository_save", - "community": 656, + "community": 348, "norm_label": ".save()" }, { @@ -39040,7 +39280,7 @@ "source_location": "L14", "_origin": "ast", "id": "repository_smstemplaterepository_smstemplaterepository_remove", - "community": 656, + "community": 348, "norm_label": ".remove()" }, { @@ -43100,7 +43340,7 @@ "source_location": "L1", "_origin": "ast", "id": "appointment_dateoverrideownershiptest", - "community": 86, + "community": 708, "norm_label": "dateoverrideownershiptest.php" }, { @@ -43110,7 +43350,7 @@ "source_location": "L12", "_origin": "ast", "id": "appointment_dateoverrideownershiptest_dateoverrideownershiptest", - "community": 86, + "community": 708, "norm_label": "dateoverrideownershiptest" }, { @@ -43120,7 +43360,7 @@ "source_location": "L14", "_origin": "ast", "id": "appointment_dateoverrideownershiptest_dateoverrideownershiptest_makeoverride", - "community": 86, + "community": 708, "norm_label": ".makeoverride()" }, { @@ -43130,7 +43370,7 @@ "source_location": "L26", "_origin": "ast", "id": "appointment_dateoverrideownershiptest_dateoverrideownershiptest_testownercanread", - "community": 86, + "community": 708, "norm_label": ".testownercanread()" }, { @@ -43140,7 +43380,7 @@ "source_location": "L33", "_origin": "ast", "id": "appointment_dateoverrideownershiptest_dateoverrideownershiptest_testotheruserisforbidden", - "community": 86, + "community": 708, "norm_label": ".testotheruserisforbidden()" }, { @@ -44380,7 +44620,7 @@ "source_location": "L1", "_origin": "ast", "id": "rating_commentlistnplusonetest", - "community": 22, + "community": 717, "norm_label": "commentlistnplusonetest.php" }, { @@ -44390,7 +44630,7 @@ "source_location": "L17", "_origin": "ast", "id": "rating_commentlistnplusonetest_commentlistnplusonetest", - "community": 22, + "community": 717, "norm_label": "commentlistnplusonetest" }, { @@ -44400,7 +44640,7 @@ "source_location": "L19", "_origin": "ast", "id": "rating_commentlistnplusonetest_commentlistnplusonetest_testtreeisserializedcorrectly", - "community": 22, + "community": 717, "norm_label": ".testtreeisserializedcorrectly()" }, { @@ -44410,7 +44650,7 @@ "source_location": "L52", "_origin": "ast", "id": "rating_commentlistnplusonetest_commentlistnplusonetest_jsonget", - "community": 22, + "community": 717, "norm_label": ".jsonget()" }, { @@ -44420,7 +44660,7 @@ "source_location": "L64", "_origin": "ast", "id": "rating_commentlistnplusonetest_commentlistnplusonetest_testrepositoryfetchjoinscollections", - "community": 22, + "community": 717, "norm_label": ".testrepositoryfetchjoinscollections()" }, { @@ -44813,6 +45053,156 @@ "community": 86, "norm_label": ".testpaginatesandreportstotals()" }, + { + "label": "AltchaServiceTest.php", + "file_type": "code", + "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", + "source_location": "L1", + "_origin": "ast", + "id": "captcha_altchaservicetest", + "community": 485, + "norm_label": "altchaservicetest.php" + }, + { + "label": "AltchaServiceTest", + "file_type": "code", + "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", + "source_location": "L14", + "_origin": "ast", + "id": "captcha_altchaservicetest_altchaservicetest", + "community": 485, + "norm_label": "altchaservicetest" + }, + { + "label": ".service()", + "file_type": "code", + "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", + "source_location": "L18", + "_origin": "ast", + "id": "captcha_altchaservicetest_altchaservicetest_service", + "community": 485, + "norm_label": ".service()" + }, + { + "label": "AltchaService", + "file_type": "code", + "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", + "source_location": "L18", + "_origin": "ast", + "id": "altchaservice", + "community": 485, + "norm_label": "altchaservice" + }, + { + "label": ".solvedPayload()", + "file_type": "code", + "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", + "source_location": "L27", + "_origin": "ast", + "id": "captcha_altchaservicetest_altchaservicetest_solvedpayload", + "community": 485, + "norm_label": ".solvedpayload()" + }, + { + "label": ".testCreateChallengeShape()", + "file_type": "code", + "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", + "source_location": "L47", + "_origin": "ast", + "id": "captcha_altchaservicetest_altchaservicetest_testcreatechallengeshape", + "community": 485, + "norm_label": ".testcreatechallengeshape()" + }, + { + "label": ".testValidSolutionVerifies()", + "file_type": "code", + "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", + "source_location": "L57", + "_origin": "ast", + "id": "captcha_altchaservicetest_altchaservicetest_testvalidsolutionverifies", + "community": 485, + "norm_label": ".testvalidsolutionverifies()" + }, + { + "label": ".testReplayIsRejected()", + "file_type": "code", + "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", + "source_location": "L64", + "_origin": "ast", + "id": "captcha_altchaservicetest_altchaservicetest_testreplayisrejected", + "community": 485, + "norm_label": ".testreplayisrejected()" + }, + { + "label": ".testTamperedSignatureRejected()", + "file_type": "code", + "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", + "source_location": "L72", + "_origin": "ast", + "id": "captcha_altchaservicetest_altchaservicetest_testtamperedsignaturerejected", + "community": 485, + "norm_label": ".testtamperedsignaturerejected()" + }, + { + "label": ".testEmptyAndGarbagePayloadsRejected()", + "file_type": "code", + "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", + "source_location": "L80", + "_origin": "ast", + "id": "captcha_altchaservicetest_altchaservicetest_testemptyandgarbagepayloadsrejected", + "community": 485, + "norm_label": ".testemptyandgarbagepayloadsrejected()" + }, + { + "label": ".testEnabledFlag()", + "file_type": "code", + "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", + "source_location": "L88", + "_origin": "ast", + "id": "captcha_altchaservicetest_altchaservicetest_testenabledflag", + "community": 485, + "norm_label": ".testenabledflag()" + }, + { + "label": "CaptchaFlowTest.php", + "file_type": "code", + "source_file": "tests/Shared/Captcha/CaptchaFlowTest.php", + "source_location": "L1", + "_origin": "ast", + "id": "captcha_captchaflowtest", + "community": 86, + "norm_label": "captchaflowtest.php" + }, + { + "label": "CaptchaFlowTest", + "file_type": "code", + "source_file": "tests/Shared/Captcha/CaptchaFlowTest.php", + "source_location": "L11", + "_origin": "ast", + "id": "captcha_captchaflowtest_captchaflowtest", + "community": 86, + "norm_label": "captchaflowtest" + }, + { + "label": ".testChallengeEndpointIsPublicAndWellFormed()", + "file_type": "code", + "source_file": "tests/Shared/Captcha/CaptchaFlowTest.php", + "source_location": "L13", + "_origin": "ast", + "id": "captcha_captchaflowtest_captchaflowtest_testchallengeendpointispublicandwellformed", + "community": 86, + "norm_label": ".testchallengeendpointispublicandwellformed()" + }, + { + "label": ".testPublicEndpointBypassesCaptchaWhenDisabled()", + "file_type": "code", + "source_file": "tests/Shared/Captcha/CaptchaFlowTest.php", + "source_location": "L25", + "_origin": "ast", + "id": "captcha_captchaflowtest_captchaflowtest_testpublicendpointbypassescaptchawhendisabled", + "community": 86, + "norm_label": ".testpublicendpointbypassescaptchawhendisabled()" + }, { "label": "CorsRegexEnvProcessorTest.php", "file_type": "code", @@ -44830,7 +45220,7 @@ "source_location": "L8", "_origin": "ast", "id": "shared_corsregexenvprocessortest_corsregexenvprocessortest", - "community": 719, + "community": 451, "norm_label": "corsregexenvprocessortest" }, { @@ -44840,7 +45230,7 @@ "source_location": "L10", "_origin": "ast", "id": "shared_corsregexenvprocessortest_corsregexenvprocessortest_regexfor", - "community": 719, + "community": 451, "norm_label": ".regexfor()" }, { @@ -44850,7 +45240,7 @@ "source_location": "L17", "_origin": "ast", "id": "shared_corsregexenvprocessortest_corsregexenvprocessortest_originmatches", - "community": 719, + "community": 451, "norm_label": ".originmatches()" }, { @@ -44860,7 +45250,7 @@ "source_location": "L22", "_origin": "ast", "id": "shared_corsregexenvprocessortest_corsregexenvprocessortest_testallowslistedhostshttpsandsubdomains", - "community": 719, + "community": 451, "norm_label": ".testallowslistedhostshttpsandsubdomains()" }, { @@ -44870,7 +45260,7 @@ "source_location": "L30", "_origin": "ast", "id": "shared_corsregexenvprocessortest_corsregexenvprocessortest_testallowshttpandportforlocaldev", - "community": 719, + "community": 451, "norm_label": ".testallowshttpandportforlocaldev()" }, { @@ -44880,7 +45270,7 @@ "source_location": "L38", "_origin": "ast", "id": "shared_corsregexenvprocessortest_corsregexenvprocessortest_testrejectsunlistedandlookalikehosts", - "community": 719, + "community": 451, "norm_label": ".testrejectsunlistedandlookalikehosts()" }, { @@ -44890,7 +45280,7 @@ "source_location": "L48", "_origin": "ast", "id": "shared_corsregexenvprocessortest_corsregexenvprocessortest_testdotisescapednotwildcard", - "community": 719, + "community": 451, "norm_label": ".testdotisescapednotwildcard()" }, { @@ -44900,7 +45290,7 @@ "source_location": "L56", "_origin": "ast", "id": "shared_corsregexenvprocessortest_corsregexenvprocessortest_testemptylistmatchesnothing", - "community": 719, + "community": 451, "norm_label": ".testemptylistmatchesnothing()" }, { @@ -44910,7 +45300,7 @@ "source_location": "L64", "_origin": "ast", "id": "shared_corsregexenvprocessortest_corsregexenvprocessortest_testprovidedtype", - "community": 720, + "community": 561, "norm_label": ".testprovidedtype()" }, { @@ -44990,7 +45380,7 @@ "source_location": "L1", "_origin": "ast", "id": "smoke_infrasmoketest", - "community": 633, + "community": 86, "norm_label": "infrasmoketest.php" }, { @@ -45000,7 +45390,7 @@ "source_location": "L11", "_origin": "ast", "id": "smoke_infrasmoketest_infrasmoketest", - "community": 633, + "community": 86, "norm_label": "infrasmoketest" }, { @@ -45010,7 +45400,7 @@ "source_location": "L13", "_origin": "ast", "id": "smoke_infrasmoketest_infrasmoketest_testhealthispublicand200", - "community": 633, + "community": 86, "norm_label": ".testhealthispublicand200()" }, { @@ -45020,7 +45410,7 @@ "source_location": "L19", "_origin": "ast", "id": "smoke_infrasmoketest_infrasmoketest_testunauthenticatedapiis401", - "community": 633, + "community": 86, "norm_label": ".testunauthenticatedapiis401()" }, { @@ -45030,7 +45420,7 @@ "source_location": "L25", "_origin": "ast", "id": "smoke_infrasmoketest_infrasmoketest_testjwtauthreachesuserinfo", - "community": 633, + "community": 86, "norm_label": ".testjwtauthreachesuserinfo()" }, { @@ -45040,7 +45430,7 @@ "source_location": "L35", "_origin": "ast", "id": "smoke_infrasmoketest_infrasmoketest_testwalletusertypeindexexists", - "community": 633, + "community": 86, "norm_label": ".testwalletusertypeindexexists()" }, { @@ -45050,7 +45440,7 @@ "source_location": "L1", "_origin": "ast", "id": "sms_kavehnegarprovidertest", - "community": 729, + "community": 275, "norm_label": "kavehnegarprovidertest.php" }, { @@ -45060,7 +45450,7 @@ "source_location": "L15", "_origin": "ast", "id": "sms_kavehnegarprovidertest_kavehnegarprovidertest", - "community": 729, + "community": 275, "norm_label": "kavehnegarprovidertest" }, { @@ -45070,7 +45460,7 @@ "source_location": "L20", "_origin": "ast", "id": "sms_kavehnegarprovidertest_kavehnegarprovidertest_provider", - "community": 729, + "community": 275, "norm_label": ".provider()" }, { @@ -45080,7 +45470,7 @@ "source_location": "L20", "_origin": "ast", "id": "tests_sms_kavehnegarprovidertest_php_kavehnegarprovider", - "community": 729, + "community": 275, "norm_label": "kavehnegarprovider" }, { @@ -45090,7 +45480,7 @@ "source_location": "L30", "_origin": "ast", "id": "sms_kavehnegarprovidertest_kavehnegarprovidertest_testsendtemplateusesgetwithquery", - "community": 729, + "community": 275, "norm_label": ".testsendtemplateusesgetwithquery()" }, { @@ -45100,7 +45490,7 @@ "source_location": "L42", "_origin": "ast", "id": "sms_kavehnegarprovidertest_kavehnegarprovidertest_testsendusesgetnotpost", - "community": 729, + "community": 275, "norm_label": ".testsendusesgetnotpost()" }, { @@ -46633,6 +47023,186 @@ "community": 183, "norm_label": "\u0646\u06a9\u0627\u062a \u0645\u0647\u0645" }, + { + "label": "altcha-captcha-integration.md", + "file_type": "document", + "source_file": ".claude/prompt/altcha-captcha-integration.md", + "source_location": "L1", + "_origin": "ast", + "id": "prompt_altcha_captcha_integration", + "community": 41, + "norm_label": "altcha-captcha-integration.md" + }, + { + "label": "\u06cc\u06a9\u067e\u0627\u0631\u0686\u0647\u200c\u0633\u0627\u0632\u06cc ALTCHA (\u06a9\u067e\u0686\u0627\u06cc Self-Hosted\u060c Proof-of-Work) \u0631\u0648\u06cc endpoint\u0647\u0627\u06cc \u0639\u0645\u0648\u0645\u06cc", + "file_type": "document", + "source_file": ".claude/prompt/altcha-captcha-integration.md", + "source_location": "L1", + "_origin": "ast", + "id": "prompt_altcha_captcha_integration_\u06cc\u06a9\u067e\u0627\u0631\u0686\u0647_\u0633\u0627\u0632\u06cc_altcha_\u06a9\u067e\u0686\u0627\u06cc_self_hosted_proof_of_work_\u0631\u0648\u06cc_endpoint\u0647\u0627\u06cc_\u0639\u0645\u0648\u0645\u06cc", + "community": 41, + "norm_label": "\u06cc\u06a9\u067e\u0627\u0631\u0686\u0647\u200c\u0633\u0627\u0632\u06cc altcha (\u06a9\u067e\u0686\u0627\u06cc self-hosted\u060c proof-of-work) \u0631\u0648\u06cc endpoint\u0647\u0627\u06cc \u0639\u0645\u0648\u0645\u06cc" + }, + { + "label": "\u067e\u0631\u0648\u0698\u0647", + "file_type": "document", + "source_file": ".claude/prompt/altcha-captcha-integration.md", + "source_location": "L3", + "_origin": "ast", + "id": "prompt_altcha_captcha_integration_\u067e\u0631\u0648\u0698\u0647", + "community": 41, + "norm_label": "\u067e\u0631\u0648\u0698\u0647" + }, + { + "label": "\u0632\u0645\u06cc\u0646\u0647", + "file_type": "document", + "source_file": ".claude/prompt/altcha-captcha-integration.md", + "source_location": "L9", + "_origin": "ast", + "id": "prompt_altcha_captcha_integration_\u0632\u0645\u06cc\u0646\u0647", + "community": 41, + "norm_label": "\u0632\u0645\u06cc\u0646\u0647" + }, + { + "label": "\u0645\u0634\u06a9\u0644 / \u0647\u062f\u0641", + "file_type": "document", + "source_file": ".claude/prompt/altcha-captcha-integration.md", + "source_location": "L21", + "_origin": "ast", + "id": "prompt_altcha_captcha_integration_\u0645\u0634\u06a9\u0644_\u0647\u062f\u0641", + "community": 41, + "norm_label": "\u0645\u0634\u06a9\u0644 / \u0647\u062f\u0641" + }, + { + "label": "endpoint\u0647\u0627\u06cc \u0639\u0645\u0648\u0645\u06cc \u06a9\u0647 \u0628\u0627\u06cc\u062f \u0645\u062d\u0627\u0641\u0638\u062a \u0634\u0648\u0646\u062f", + "file_type": "document", + "source_file": ".claude/prompt/altcha-captcha-integration.md", + "source_location": "L25", + "_origin": "ast", + "id": "prompt_altcha_captcha_integration_endpoint\u0647\u0627\u06cc_\u0639\u0645\u0648\u0645\u06cc_\u06a9\u0647_\u0628\u0627\u06cc\u062f_\u0645\u062d\u0627\u0641\u0638\u062a_\u0634\u0648\u0646\u062f", + "community": 41, + "norm_label": "endpoint\u0647\u0627\u06cc \u0639\u0645\u0648\u0645\u06cc \u06a9\u0647 \u0628\u0627\u06cc\u062f \u0645\u062d\u0627\u0641\u0638\u062a \u0634\u0648\u0646\u062f" + }, + { + "label": "\u0648\u0636\u0639\u06cc\u062a \u0641\u0639\u0644\u06cc", + "file_type": "document", + "source_file": ".claude/prompt/altcha-captcha-integration.md", + "source_location": "L41", + "_origin": "ast", + "id": "prompt_altcha_captcha_integration_\u0648\u0636\u0639\u06cc\u062a_\u0641\u0639\u0644\u06cc", + "community": 41, + "norm_label": "\u0648\u0636\u0639\u06cc\u062a \u0641\u0639\u0644\u06cc" + }, + { + "label": "\u0648\u0638\u0627\u06cc\u0641", + "file_type": "document", + "source_file": ".claude/prompt/altcha-captcha-integration.md", + "source_location": "L67", + "_origin": "ast", + "id": "prompt_altcha_captcha_integration_\u0648\u0638\u0627\u06cc\u0641", + "community": 41, + "norm_label": "\u0648\u0638\u0627\u06cc\u0641" + }, + { + "label": "\u06f1. \u0646\u0635\u0628 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647\u200c\u06cc \u0631\u0633\u0645\u06cc PHP", + "file_type": "document", + "source_file": ".claude/prompt/altcha-captcha-integration.md", + "source_location": "L69", + "_origin": "ast", + "id": "prompt_altcha_captcha_integration_\u06f1_\u0646\u0635\u0628_\u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647_\u06cc_\u0631\u0633\u0645\u06cc_php", + "community": 41, + "norm_label": "\u06f1. \u0646\u0635\u0628 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647\u200c\u06cc \u0631\u0633\u0645\u06cc php" + }, + { + "label": "\u06f2. \u0633\u0631\u0648\u06cc\u0633 \u0645\u0631\u06a9\u0632\u06cc \u2014 `src/Shared/Captcha/AltchaService.php` (namespace \u062c\u062f\u06cc\u062f `App\\Shared\\Captcha`)", + "file_type": "document", + "source_file": ".claude/prompt/altcha-captcha-integration.md", + "source_location": "L76", + "_origin": "ast", + "id": "prompt_altcha_captcha_integration_\u06f2_\u0633\u0631\u0648\u06cc\u0633_\u0645\u0631\u06a9\u0632\u06cc_src_shared_captcha_altchaservice_php_namespace_\u062c\u062f\u06cc\u062f_app_shared_captcha", + "community": 41, + "norm_label": "\u06f2. \u0633\u0631\u0648\u06cc\u0633 \u0645\u0631\u06a9\u0632\u06cc \u2014 `src/shared/captcha/altchaservice.php` (namespace \u062c\u062f\u06cc\u062f `app\\shared\\captcha`)" + }, + { + "label": "\u06f3. Guard \u0642\u0627\u0628\u0644\u200c\u0627\u0633\u062a\u0641\u0627\u062f\u0647\u200c\u0645\u062c\u062f\u062f \u2014 `src/Shared/Captcha/CaptchaGuard.php`", + "file_type": "document", + "source_file": ".claude/prompt/altcha-captcha-integration.md", + "source_location": "L85", + "_origin": "ast", + "id": "prompt_altcha_captcha_integration_\u06f3_guard_\u0642\u0627\u0628\u0644_\u0627\u0633\u062a\u0641\u0627\u062f\u0647_\u0645\u062c\u062f\u062f_src_shared_captcha_captchaguard_php", + "community": 41, + "norm_label": "\u06f3. guard \u0642\u0627\u0628\u0644\u200c\u0627\u0633\u062a\u0641\u0627\u062f\u0647\u200c\u0645\u062c\u062f\u062f \u2014 `src/shared/captcha/captchaguard.php`" + }, + { + "label": "\u06f4. Endpoint \u0635\u062f\u0648\u0631 challenge \u2014 \u0639\u0645\u0648\u0645\u06cc", + "file_type": "document", + "source_file": ".claude/prompt/altcha-captcha-integration.md", + "source_location": "L104", + "_origin": "ast", + "id": "prompt_altcha_captcha_integration_\u06f4_endpoint_\u0635\u062f\u0648\u0631_challenge_\u0639\u0645\u0648\u0645\u06cc", + "community": 41, + "norm_label": "\u06f4. endpoint \u0635\u062f\u0648\u0631 challenge \u2014 \u0639\u0645\u0648\u0645\u06cc" + }, + { + "label": "\u06f5. \u0627\u0639\u0645\u0627\u0644 Guard \u0631\u0648\u06cc endpoint\u0647\u0627", + "file_type": "document", + "source_file": ".claude/prompt/altcha-captcha-integration.md", + "source_location": "L118", + "_origin": "ast", + "id": "prompt_altcha_captcha_integration_\u06f5_\u0627\u0639\u0645\u0627\u0644_guard_\u0631\u0648\u06cc_endpoint\u0647\u0627", + "community": 41, + "norm_label": "\u06f5. \u0627\u0639\u0645\u0627\u0644 guard \u0631\u0648\u06cc endpoint\u0647\u0627" + }, + { + "label": "\u06f6. \u062a\u0646\u0638\u06cc\u0645\u0627\u062a", + "file_type": "document", + "source_file": ".claude/prompt/altcha-captcha-integration.md", + "source_location": "L128", + "_origin": "ast", + "id": "prompt_altcha_captcha_integration_\u06f6_\u062a\u0646\u0638\u06cc\u0645\u0627\u062a", + "community": 41, + "norm_label": "\u06f6. \u062a\u0646\u0638\u06cc\u0645\u0627\u062a" + }, + { + "label": "\u06f7. Frontend \u067e\u0646\u0644 \u0627\u062f\u0645\u06cc\u0646 React (`assets/admin/`)", + "file_type": "document", + "source_file": ".claude/prompt/altcha-captcha-integration.md", + "source_location": "L150", + "_origin": "ast", + "id": "prompt_altcha_captcha_integration_\u06f7_frontend_\u067e\u0646\u0644_\u0627\u062f\u0645\u06cc\u0646_react_assets_admin", + "community": 41, + "norm_label": "\u06f7. frontend \u067e\u0646\u0644 \u0627\u062f\u0645\u06cc\u0646 react (`assets/admin/`)" + }, + { + "label": "\u06f8. \u062a\u0633\u062a", + "file_type": "document", + "source_file": ".claude/prompt/altcha-captcha-integration.md", + "source_location": "L158", + "_origin": "ast", + "id": "prompt_altcha_captcha_integration_\u06f8_\u062a\u0633\u062a", + "community": 41, + "norm_label": "\u06f8. \u062a\u0633\u062a" + }, + { + "label": "\u06f9. \u0645\u0633\u062a\u0646\u062f\u0627\u062a", + "file_type": "document", + "source_file": ".claude/prompt/altcha-captcha-integration.md", + "source_location": "L164", + "_origin": "ast", + "id": "prompt_altcha_captcha_integration_\u06f9_\u0645\u0633\u062a\u0646\u062f\u0627\u062a", + "community": 41, + "norm_label": "\u06f9. \u0645\u0633\u062a\u0646\u062f\u0627\u062a" + }, + { + "label": "\u0646\u06a9\u0627\u062a \u0645\u0647\u0645", + "file_type": "document", + "source_file": ".claude/prompt/altcha-captcha-integration.md", + "source_location": "L170", + "_origin": "ast", + "id": "prompt_altcha_captcha_integration_\u0646\u06a9\u0627\u062a_\u0645\u0647\u0645", + "community": 41, + "norm_label": "\u0646\u06a9\u0627\u062a \u0645\u0647\u0645" + }, { "label": "appointment-detail-enrich.md", "file_type": "document", @@ -67480,7 +68050,7 @@ "source_location": "L3011", "_origin": "ast", "id": "docs_clinicpro_manual_v2_31_patch_patch", - "community": 714, + "community": 625, "norm_label": "31. \ud83d\udfe1 `patch` patch" }, { @@ -67490,7 +68060,7 @@ "source_location": "L3021", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u0647\u062f\u0631\u0647\u0627\u06cc_\u0627\u0636\u0627\u0641\u06cc_3021", - "community": 714, + "community": 625, "norm_label": "\u0647\u062f\u0631\u0647\u0627\u06cc \u0627\u0636\u0627\u0641\u06cc" }, { @@ -67500,7 +68070,7 @@ "source_location": "L3027", "_origin": "ast", "id": "docs_clinicpro_manual_v2_request_body_3027", - "community": 714, + "community": 625, "norm_label": "request body" }, { @@ -67510,7 +68080,7 @@ "source_location": "L3044", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u0645\u062b\u0627\u0644_request_3044", - "community": 714, + "community": 625, "norm_label": "\u0645\u062b\u0627\u0644 request" }, { @@ -67520,7 +68090,7 @@ "source_location": "L3067", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u067e\u0627\u0633\u062e_\u0647\u0627_3067", - "community": 714, + "community": 625, "norm_label": "\u067e\u0627\u0633\u062e\u200c\u0647\u0627" }, { @@ -67640,7 +68210,7 @@ "source_location": "L3201", "_origin": "ast", "id": "docs_clinicpro_manual_v2_35_patch_patch", - "community": 715, + "community": 304, "norm_label": "35. \ud83d\udfe1 `patch` patch" }, { @@ -67650,7 +68220,7 @@ "source_location": "L3209", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u0647\u062f\u0631\u0647\u0627\u06cc_\u0627\u0636\u0627\u0641\u06cc_3209", - "community": 715, + "community": 304, "norm_label": "\u0647\u062f\u0631\u0647\u0627\u06cc \u0627\u0636\u0627\u0641\u06cc" }, { @@ -67660,7 +68230,7 @@ "source_location": "L3216", "_origin": "ast", "id": "docs_clinicpro_manual_v2_request_body_3216", - "community": 715, + "community": 304, "norm_label": "request body" }, { @@ -67670,7 +68240,7 @@ "source_location": "L3228", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u0645\u062b\u0627\u0644_request_3228", - "community": 715, + "community": 304, "norm_label": "\u0645\u062b\u0627\u0644 request" }, { @@ -67680,7 +68250,7 @@ "source_location": "L3242", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u067e\u0627\u0633\u062e_\u0647\u0627_3242", - "community": 715, + "community": 304, "norm_label": "\u067e\u0627\u0633\u062e\u200c\u0647\u0627" }, { @@ -67850,7 +68420,7 @@ "source_location": "L3383", "_origin": "ast", "id": "docs_clinicpro_manual_v2_40_post_post", - "community": 304, + "community": 631, "norm_label": "40. \ud83d\udd35 `post` post" }, { @@ -67860,7 +68430,7 @@ "source_location": "L3391", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u0647\u062f\u0631\u0647\u0627\u06cc_\u0627\u0636\u0627\u0641\u06cc_3391", - "community": 304, + "community": 631, "norm_label": "\u0647\u062f\u0631\u0647\u0627\u06cc \u0627\u0636\u0627\u0641\u06cc" }, { @@ -67870,7 +68440,7 @@ "source_location": "L3398", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u0645\u062b\u0627\u0644_request_3398", - "community": 304, + "community": 631, "norm_label": "\u0645\u062b\u0627\u0644 request" }, { @@ -67880,7 +68450,7 @@ "source_location": "L3404", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u067e\u0627\u0633\u062e_\u0647\u0627_3404", - "community": 304, + "community": 631, "norm_label": "\u067e\u0627\u0633\u062e\u200c\u0647\u0627" }, { @@ -72410,7 +72980,7 @@ "source_location": "L731", "_origin": "ast", "id": "api_admin_representation_management", - "community": 631, + "community": 201, "norm_label": "representation management" }, { @@ -72420,7 +72990,7 @@ "source_location": "L733", "_origin": "ast", "id": "api_admin_get_api_v1_admin_representations", - "community": 631, + "community": 201, "norm_label": "get `/api/v1/admin/representations`" }, { @@ -72430,7 +73000,7 @@ "source_location": "L739", "_origin": "ast", "id": "api_admin_query_parameters_739", - "community": 631, + "community": 201, "norm_label": "query parameters" }, { @@ -72440,7 +73010,7 @@ "source_location": "L747", "_origin": "ast", "id": "api_admin_response_200_747", - "community": 631, + "community": 201, "norm_label": "response `200`" }, { @@ -72640,7 +73210,7 @@ "source_location": "L989", "_origin": "ast", "id": "api_admin_pre_registration_management", - "community": 201, + "community": 632, "norm_label": "pre-registration management" }, { @@ -72650,7 +73220,7 @@ "source_location": "L991", "_origin": "ast", "id": "api_admin_get_api_v1_admin_pre_registrations", - "community": 201, + "community": 632, "norm_label": "get `/api/v1/admin/pre-registrations`" }, { @@ -72660,7 +73230,7 @@ "source_location": "L1025", "_origin": "ast", "id": "api_admin_post_api_v1_admin_pre_registrations_uuid_approve", - "community": 201, + "community": 632, "norm_label": "post `/api/v1/admin/pre-registrations/{uuid}/approve`" }, { @@ -72670,7 +73240,7 @@ "source_location": "L1043", "_origin": "ast", "id": "api_admin_post_api_v1_admin_pre_registrations_uuid_reject", - "community": 201, + "community": 632, "norm_label": "post `/api/v1/admin/pre-registrations/{uuid}/reject`" }, { @@ -73740,7 +74310,7 @@ "source_location": "L1", "_origin": "ast", "id": "api_auth", - "community": 38, + "community": 274, "norm_label": "auth.md" }, { @@ -73757,7 +74327,7 @@ "label": "POST `/api/v1/user/send-code`", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L8", + "source_location": "L10", "_origin": "ast", "id": "api_auth_post_api_v1_user_send_code", "community": 496, @@ -73767,7 +74337,7 @@ "label": "Request Body", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L14", + "source_location": "L16", "_origin": "ast", "id": "api_auth_request_body", "community": 496, @@ -73777,7 +74347,7 @@ "label": "Response `200`", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L27", + "source_location": "L29", "_origin": "ast", "id": "api_auth_response_200", "community": 496, @@ -73787,7 +74357,7 @@ "label": "Errors", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L38", + "source_location": "L40", "_origin": "ast", "id": "api_auth_errors", "community": 496, @@ -73797,7 +74367,7 @@ "label": "POST `/api/v1/user/verify-code`", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L47", + "source_location": "L49", "_origin": "ast", "id": "api_auth_post_api_v1_user_verify_code", "community": 533, @@ -73807,9 +74377,9 @@ "label": "Request Body", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L53", + "source_location": "L55", "_origin": "ast", - "id": "api_auth_request_body_53", + "id": "api_auth_request_body_55", "community": 533, "norm_label": "request body" }, @@ -73817,9 +74387,9 @@ "label": "Response `200`", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L66", + "source_location": "L68", "_origin": "ast", - "id": "api_auth_response_200_66", + "id": "api_auth_response_200_68", "community": 533, "norm_label": "response `200`" }, @@ -73827,9 +74397,9 @@ "label": "Errors", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L80", + "source_location": "L82", "_origin": "ast", - "id": "api_auth_errors_80", + "id": "api_auth_errors_82", "community": 533, "norm_label": "errors" }, @@ -73837,7 +74407,7 @@ "label": "POST `/api/v1/user/register`", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L90", + "source_location": "L92", "_origin": "ast", "id": "api_auth_post_api_v1_user_register", "community": 673, @@ -73847,9 +74417,9 @@ "label": "Request Body", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L96", + "source_location": "L98", "_origin": "ast", - "id": "api_auth_request_body_96", + "id": "api_auth_request_body_98", "community": 673, "norm_label": "request body" }, @@ -73857,7 +74427,7 @@ "label": "Response `201`", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L109", + "source_location": "L111", "_origin": "ast", "id": "api_auth_response_201", "community": 673, @@ -73867,9 +74437,9 @@ "label": "Errors", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L120", + "source_location": "L122", "_origin": "ast", - "id": "api_auth_errors_120", + "id": "api_auth_errors_122", "community": 673, "norm_label": "errors" }, @@ -73877,7 +74447,7 @@ "label": "POST `/api/v1/user/login`", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L128", + "source_location": "L130", "_origin": "ast", "id": "api_auth_post_api_v1_user_login", "community": 527, @@ -73887,9 +74457,9 @@ "label": "Request Body", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L134", + "source_location": "L136", "_origin": "ast", - "id": "api_auth_request_body_134", + "id": "api_auth_request_body_136", "community": 527, "norm_label": "request body" }, @@ -73897,9 +74467,9 @@ "label": "Response `200`", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L147", + "source_location": "L149", "_origin": "ast", - "id": "api_auth_response_200_147", + "id": "api_auth_response_200_149", "community": 527, "norm_label": "response `200`" }, @@ -73907,9 +74477,9 @@ "label": "Errors", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L160", + "source_location": "L162", "_origin": "ast", - "id": "api_auth_errors_160", + "id": "api_auth_errors_162", "community": 527, "norm_label": "errors" }, @@ -73917,7 +74487,7 @@ "label": "POST `/oauth/token`", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L169", + "source_location": "L171", "_origin": "ast", "id": "api_auth_post_oauth_token", "community": 678, @@ -73927,9 +74497,9 @@ "label": "Request Body", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L175", + "source_location": "L177", "_origin": "ast", - "id": "api_auth_request_body_175", + "id": "api_auth_request_body_177", "community": 678, "norm_label": "request body" }, @@ -73937,9 +74507,9 @@ "label": "Response `200`", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L188", + "source_location": "L190", "_origin": "ast", - "id": "api_auth_response_200_188", + "id": "api_auth_response_200_190", "community": 678, "norm_label": "response `200`" }, @@ -73947,9 +74517,9 @@ "label": "Errors", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L202", + "source_location": "L204", "_origin": "ast", - "id": "api_auth_errors_202", + "id": "api_auth_errors_204", "community": 678, "norm_label": "errors" }, @@ -73957,7 +74527,7 @@ "label": "POST `/oauth/token/refresh`", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L212", + "source_location": "L214", "_origin": "ast", "id": "api_auth_post_oauth_token_refresh", "community": 529, @@ -73967,9 +74537,9 @@ "label": "Request Body", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L218", + "source_location": "L220", "_origin": "ast", - "id": "api_auth_request_body_218", + "id": "api_auth_request_body_220", "community": 529, "norm_label": "request body" }, @@ -73977,9 +74547,9 @@ "label": "Response `200`", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L227", + "source_location": "L229", "_origin": "ast", - "id": "api_auth_response_200_227", + "id": "api_auth_response_200_229", "community": 529, "norm_label": "response `200`" }, @@ -73987,9 +74557,9 @@ "label": "Errors", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L238", + "source_location": "L240", "_origin": "ast", - "id": "api_auth_errors_238", + "id": "api_auth_errors_240", "community": 529, "norm_label": "errors" }, @@ -73997,7 +74567,7 @@ "label": "GET `/oauth/userinfo`", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L245", + "source_location": "L247", "_origin": "ast", "id": "api_auth_get_oauth_userinfo", "community": 530, @@ -74007,7 +74577,7 @@ "label": "Headers", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L251", + "source_location": "L253", "_origin": "ast", "id": "api_auth_headers", "community": 530, @@ -74017,9 +74587,9 @@ "label": "Response `200`", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L256", + "source_location": "L258", "_origin": "ast", - "id": "api_auth_response_200_256", + "id": "api_auth_response_200_258", "community": 530, "norm_label": "response `200`" }, @@ -74027,9 +74597,9 @@ "label": "Errors", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L326", + "source_location": "L328", "_origin": "ast", - "id": "api_auth_errors_326", + "id": "api_auth_errors_328", "community": 530, "norm_label": "errors" }, @@ -74037,7 +74607,7 @@ "label": "POST `/api/v1/auth/switch-context`", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L333", + "source_location": "L335", "_origin": "ast", "id": "api_auth_post_api_v1_auth_switch_context", "community": 681, @@ -74047,9 +74617,9 @@ "label": "Request Body", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L339", + "source_location": "L341", "_origin": "ast", - "id": "api_auth_request_body_339", + "id": "api_auth_request_body_341", "community": 681, "norm_label": "request body" }, @@ -74057,9 +74627,9 @@ "label": "Response `200`", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L350", + "source_location": "L352", "_origin": "ast", - "id": "api_auth_response_200_350", + "id": "api_auth_response_200_352", "community": 681, "norm_label": "response `200`" }, @@ -74067,9 +74637,9 @@ "label": "Errors", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L368", + "source_location": "L370", "_origin": "ast", - "id": "api_auth_errors_368", + "id": "api_auth_errors_370", "community": 681, "norm_label": "errors" }, @@ -74077,7 +74647,7 @@ "label": "Notification Mobile (OTP)", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L377", + "source_location": "L379", "_origin": "ast", "id": "api_auth_notification_mobile_otp", "community": 38, @@ -74087,7 +74657,7 @@ "label": "POST `/api/v1/notification-mobile/request-otp`", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L385", + "source_location": "L387", "_origin": "ast", "id": "api_auth_post_api_v1_notification_mobile_request_otp", "community": 640, @@ -74097,9 +74667,9 @@ "label": "Request Body", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L391", + "source_location": "L393", "_origin": "ast", - "id": "api_auth_request_body_391", + "id": "api_auth_request_body_393", "community": 640, "norm_label": "request body" }, @@ -74107,9 +74677,9 @@ "label": "Response `200`", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L404", + "source_location": "L406", "_origin": "ast", - "id": "api_auth_response_200_404", + "id": "api_auth_response_200_406", "community": 640, "norm_label": "response `200`" }, @@ -74117,9 +74687,9 @@ "label": "Errors", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L415", + "source_location": "L417", "_origin": "ast", - "id": "api_auth_errors_415", + "id": "api_auth_errors_417", "community": 640, "norm_label": "errors" }, @@ -74127,7 +74697,7 @@ "label": "Notes", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L421", + "source_location": "L423", "_origin": "ast", "id": "api_auth_notes", "community": 640, @@ -74137,7 +74707,7 @@ "label": "POST `/api/v1/notification-mobile/verify`", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L428", + "source_location": "L430", "_origin": "ast", "id": "api_auth_post_api_v1_notification_mobile_verify", "community": 532, @@ -74147,9 +74717,9 @@ "label": "Request Body", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L434", + "source_location": "L436", "_origin": "ast", - "id": "api_auth_request_body_434", + "id": "api_auth_request_body_436", "community": 532, "norm_label": "request body" }, @@ -74157,9 +74727,9 @@ "label": "Response `200`", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L447", + "source_location": "L449", "_origin": "ast", - "id": "api_auth_response_200_447", + "id": "api_auth_response_200_449", "community": 532, "norm_label": "response `200`" }, @@ -74167,9 +74737,9 @@ "label": "Errors", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L458", + "source_location": "L460", "_origin": "ast", - "id": "api_auth_errors_458", + "id": "api_auth_errors_460", "community": 532, "norm_label": "errors" }, @@ -74177,7 +74747,7 @@ "label": "GET `/api/v1/notification-mobile/{target}`", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L466", + "source_location": "L468", "_origin": "ast", "id": "api_auth_get_api_v1_notification_mobile_target", "community": 730, @@ -74187,9 +74757,9 @@ "label": "Response `200`", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L473", + "source_location": "L475", "_origin": "ast", - "id": "api_auth_response_200_473", + "id": "api_auth_response_200_475", "community": 730, "norm_label": "response `200`" }, @@ -74197,9 +74767,9 @@ "label": "Errors", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L485", + "source_location": "L487", "_origin": "ast", - "id": "api_auth_errors_485", + "id": "api_auth_errors_487", "community": 730, "norm_label": "errors" }, @@ -74207,7 +74777,7 @@ "label": "DELETE `/api/v1/notification-mobile/{target}`", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L492", + "source_location": "L494", "_origin": "ast", "id": "api_auth_delete_api_v1_notification_mobile_target", "community": 38, @@ -74217,9 +74787,9 @@ "label": "Response `200`", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L499", + "source_location": "L501", "_origin": "ast", - "id": "api_auth_response_200_499", + "id": "api_auth_response_200_501", "community": 38, "norm_label": "response `200`" }, @@ -74227,9 +74797,9 @@ "label": "Errors", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L509", + "source_location": "L511", "_origin": "ast", - "id": "api_auth_errors_509", + "id": "api_auth_errors_511", "community": 38, "norm_label": "errors" }, @@ -74237,7 +74807,7 @@ "label": "POST `/oauth/logout`", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L516", + "source_location": "L518", "_origin": "ast", "id": "api_auth_post_oauth_logout", "community": 38, @@ -74247,9 +74817,9 @@ "label": "Request Body", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L522", + "source_location": "L524", "_origin": "ast", - "id": "api_auth_request_body_522", + "id": "api_auth_request_body_524", "community": 38, "norm_label": "request body" }, @@ -74257,9 +74827,9 @@ "label": "Response `200`", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L533", + "source_location": "L535", "_origin": "ast", - "id": "api_auth_response_200_533", + "id": "api_auth_response_200_535", "community": 38, "norm_label": "response `200`" }, @@ -74267,7 +74837,7 @@ "label": "POST `/api/v1/pre-registration`", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L545", + "source_location": "L547", "_origin": "ast", "id": "api_auth_post_api_v1_pre_registration", "community": 652, @@ -74277,9 +74847,9 @@ "label": "Request Body", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L551", + "source_location": "L555", "_origin": "ast", - "id": "api_auth_request_body_551", + "id": "api_auth_request_body_555", "community": 652, "norm_label": "request body" }, @@ -74287,9 +74857,9 @@ "label": "Response `200`", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L576", + "source_location": "L580", "_origin": "ast", - "id": "api_auth_response_200_576", + "id": "api_auth_response_200_580", "community": 652, "norm_label": "response `200`" }, @@ -74297,7 +74867,7 @@ "label": "Error Codes", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L584", + "source_location": "L588", "_origin": "ast", "id": "api_auth_error_codes", "community": 652, @@ -74307,7 +74877,7 @@ "label": "POST `/api/v1/user/otp-login`", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L592", + "source_location": "L596", "_origin": "ast", "id": "api_auth_post_api_v1_user_otp_login", "community": 658, @@ -74317,9 +74887,9 @@ "label": "Request Body", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L598", + "source_location": "L602", "_origin": "ast", - "id": "api_auth_request_body_598", + "id": "api_auth_request_body_602", "community": 658, "norm_label": "request body" }, @@ -74327,9 +74897,9 @@ "label": "Response `200`", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L607", + "source_location": "L611", "_origin": "ast", - "id": "api_auth_response_200_607", + "id": "api_auth_response_200_611", "community": 658, "norm_label": "response `200`" }, @@ -74337,9 +74907,9 @@ "label": "Error Codes", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L618", + "source_location": "L622", "_origin": "ast", - "id": "api_auth_error_codes_618", + "id": "api_auth_error_codes_622", "community": 658, "norm_label": "error codes" }, @@ -74347,7 +74917,7 @@ "label": "POST `/api/v1/user/reset-password`", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L628", + "source_location": "L632", "_origin": "ast", "id": "api_auth_post_api_v1_user_reset_password", "community": 494, @@ -74357,9 +74927,9 @@ "label": "Request Body", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L634", + "source_location": "L638", "_origin": "ast", - "id": "api_auth_request_body_634", + "id": "api_auth_request_body_638", "community": 494, "norm_label": "request body" }, @@ -74367,9 +74937,9 @@ "label": "Response `200`", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L647", + "source_location": "L651", "_origin": "ast", - "id": "api_auth_response_200_647", + "id": "api_auth_response_200_651", "community": 494, "norm_label": "response `200`" }, @@ -74377,9 +74947,9 @@ "label": "Error Codes", "file_type": "document", "source_file": "docs/api/auth.md", - "source_location": "L655", + "source_location": "L659", "_origin": "ast", - "id": "api_auth_error_codes_655", + "id": "api_auth_error_codes_659", "community": 494, "norm_label": "error codes" }, @@ -74763,6 +75333,76 @@ "community": 57, "norm_label": "errors" }, + { + "label": "captcha.md", + "file_type": "document", + "source_file": "docs/api/captcha.md", + "source_location": "L1", + "_origin": "ast", + "id": "api_captcha", + "community": 274, + "norm_label": "captcha.md" + }, + { + "label": "Captcha API (ALTCHA)", + "file_type": "document", + "source_file": "docs/api/captcha.md", + "source_location": "L1", + "_origin": "ast", + "id": "api_captcha_captcha_api_altcha", + "community": 656, + "norm_label": "captcha api (altcha)" + }, + { + "label": "GET `/api/v1/altcha/challenge`", + "file_type": "document", + "source_file": "docs/api/captcha.md", + "source_location": "L10", + "_origin": "ast", + "id": "api_captcha_get_api_v1_altcha_challenge", + "community": 656, + "norm_label": "get `/api/v1/altcha/challenge`" + }, + { + "label": "Response `200`", + "file_type": "document", + "source_file": "docs/api/captcha.md", + "source_location": "L14", + "_origin": "ast", + "id": "api_captcha_response_200", + "community": 656, + "norm_label": "response `200`" + }, + { + "label": "\u0627\u0639\u0645\u0627\u0644 \u06a9\u067e\u0686\u0627 \u0631\u0648\u06cc endpoint\u0647\u0627\u06cc \u0645\u062d\u0627\u0641\u0638\u062a\u200c\u0634\u062f\u0647", + "file_type": "document", + "source_file": "docs/api/captcha.md", + "source_location": "L31", + "_origin": "ast", + "id": "api_captcha_\u0627\u0639\u0645\u0627\u0644_\u06a9\u067e\u0686\u0627_\u0631\u0648\u06cc_endpoint\u0647\u0627\u06cc_\u0645\u062d\u0627\u0641\u0638\u062a_\u0634\u062f\u0647", + "community": 656, + "norm_label": "\u0627\u0639\u0645\u0627\u0644 \u06a9\u067e\u0686\u0627 \u0631\u0648\u06cc endpoint\u0647\u0627\u06cc \u0645\u062d\u0627\u0641\u0638\u062a\u200c\u0634\u062f\u0647" + }, + { + "label": "\u062e\u0637\u0627\u06cc \u0627\u0639\u062a\u0628\u0627\u0631\u0633\u0646\u062c\u06cc \u06a9\u067e\u0686\u0627 `422`", + "file_type": "document", + "source_file": "docs/api/captcha.md", + "source_location": "L51", + "_origin": "ast", + "id": "api_captcha_\u062e\u0637\u0627\u06cc_\u0627\u0639\u062a\u0628\u0627\u0631\u0633\u0646\u062c\u06cc_\u06a9\u067e\u0686\u0627_422", + "community": 656, + "norm_label": "\u062e\u0637\u0627\u06cc \u0627\u0639\u062a\u0628\u0627\u0631\u0633\u0646\u062c\u06cc \u06a9\u067e\u0686\u0627 `422`" + }, + { + "label": "\u0627\u0645\u0646\u06cc\u062a", + "file_type": "document", + "source_file": "docs/api/captcha.md", + "source_location": "L64", + "_origin": "ast", + "id": "api_captcha_\u0627\u0645\u0646\u06cc\u062a", + "community": 656, + "norm_label": "\u0627\u0645\u0646\u06cc\u062a" + }, { "label": "category-import.md", "file_type": "document", @@ -76100,7 +76740,7 @@ "source_location": "L1", "_origin": "ast", "id": "api_doctor_service", - "community": 92, + "community": 274, "norm_label": "doctor-service.md" }, { @@ -76380,7 +77020,7 @@ "source_location": "L68", "_origin": "ast", "id": "api_doctor_get_api_v1_doctor_uuid", - "community": 677, + "community": 333, "norm_label": "get `/api/v1/doctor/{uuid}`" }, { @@ -76390,7 +77030,7 @@ "source_location": "L74", "_origin": "ast", "id": "api_doctor_path_parameters", - "community": 677, + "community": 333, "norm_label": "path parameters" }, { @@ -76400,7 +77040,7 @@ "source_location": "L79", "_origin": "ast", "id": "api_doctor_response_200", - "community": 677, + "community": 333, "norm_label": "response `200`" }, { @@ -76410,7 +77050,7 @@ "source_location": "L117", "_origin": "ast", "id": "api_doctor_errors_117", - "community": 677, + "community": 333, "norm_label": "errors" }, { @@ -76420,7 +77060,7 @@ "source_location": "L124", "_origin": "ast", "id": "api_doctor_get_api_v1_clinic_my_doctor_doctoruuid", - "community": 595, + "community": 333, "norm_label": "get `/api/v1/clinic/my-doctor/{doctoruuid}`" }, { @@ -76430,7 +77070,7 @@ "source_location": "L130", "_origin": "ast", "id": "api_doctor_path_parameters_130", - "community": 595, + "community": 333, "norm_label": "path parameters" }, { @@ -76440,7 +77080,7 @@ "source_location": "L135", "_origin": "ast", "id": "api_doctor_response_200_135", - "community": 595, + "community": 333, "norm_label": "response `200`" }, { @@ -76450,7 +77090,7 @@ "source_location": "L154", "_origin": "ast", "id": "api_doctor_errors_154", - "community": 595, + "community": 333, "norm_label": "errors" }, { @@ -76460,7 +77100,7 @@ "source_location": "L162", "_origin": "ast", "id": "api_doctor_schedule_fields_notes", - "community": 595, + "community": 333, "norm_label": "schedule fields notes" }, { @@ -76500,7 +77140,7 @@ "source_location": "L220", "_origin": "ast", "id": "api_doctor_patch_api_v1_doctor_uuid", - "community": 638, + "community": 333, "norm_label": "patch `/api/v1/doctor/{uuid}`" }, { @@ -76510,7 +77150,7 @@ "source_location": "L226", "_origin": "ast", "id": "api_doctor_path_parameters_226", - "community": 638, + "community": 333, "norm_label": "path parameters" }, { @@ -76520,7 +77160,7 @@ "source_location": "L231", "_origin": "ast", "id": "api_doctor_request_body_application_json_231", - "community": 638, + "community": 333, "norm_label": "request body (`application/json`)" }, { @@ -76530,7 +77170,7 @@ "source_location": "L250", "_origin": "ast", "id": "api_doctor_response_200_250", - "community": 638, + "community": 333, "norm_label": "response `200`" }, { @@ -76540,7 +77180,7 @@ "source_location": "L253", "_origin": "ast", "id": "api_doctor_errors_253", - "community": 638, + "community": 333, "norm_label": "errors" }, { @@ -76550,7 +77190,7 @@ "source_location": "L262", "_origin": "ast", "id": "api_doctor_delete_api_v1_doctor_uuid", - "community": 632, + "community": 333, "norm_label": "delete `/api/v1/doctor/{uuid}`" }, { @@ -76560,7 +77200,7 @@ "source_location": "L270", "_origin": "ast", "id": "api_doctor_path_parameters_270", - "community": 632, + "community": 333, "norm_label": "path parameters" }, { @@ -76570,7 +77210,7 @@ "source_location": "L275", "_origin": "ast", "id": "api_doctor_response_200_275", - "community": 632, + "community": 333, "norm_label": "response `200`" }, { @@ -76580,7 +77220,7 @@ "source_location": "L283", "_origin": "ast", "id": "api_doctor_errors_283", - "community": 632, + "community": 333, "norm_label": "errors" }, { @@ -76630,7 +77270,7 @@ "source_location": "L327", "_origin": "ast", "id": "api_doctor_get_api_v1_clinic_pro_doctor_addresses_doctorid", - "community": 693, + "community": 333, "norm_label": "get `/api/v1/clinic-pro/doctor-addresses/{doctorid}`" }, { @@ -76640,7 +77280,7 @@ "source_location": "L333", "_origin": "ast", "id": "api_doctor_path_parameters_333", - "community": 693, + "community": 333, "norm_label": "path parameters" }, { @@ -76650,7 +77290,7 @@ "source_location": "L338", "_origin": "ast", "id": "api_doctor_response_200_338", - "community": 693, + "community": 333, "norm_label": "response `200`" }, { @@ -76660,7 +77300,7 @@ "source_location": "L377", "_origin": "ast", "id": "api_doctor_post_api_v1_clinic_pro_doctor_address", - "community": 689, + "community": 333, "norm_label": "post `/api/v1/clinic-pro/doctor-address`" }, { @@ -76670,7 +77310,7 @@ "source_location": "L383", "_origin": "ast", "id": "api_doctor_request_body", - "community": 689, + "community": 333, "norm_label": "request body" }, { @@ -76680,7 +77320,7 @@ "source_location": "L406", "_origin": "ast", "id": "api_doctor_response_201_406", - "community": 689, + "community": 333, "norm_label": "response `201`" }, { @@ -76690,7 +77330,7 @@ "source_location": "L421", "_origin": "ast", "id": "api_doctor_errors_421", - "community": 689, + "community": 333, "norm_label": "errors" }, { @@ -76700,7 +77340,7 @@ "source_location": "L430", "_origin": "ast", "id": "api_doctor_patch_api_v1_clinic_pro_doctor_address_id", - "community": 667, + "community": 333, "norm_label": "patch `/api/v1/clinic-pro/doctor-address/{id}`" }, { @@ -76710,7 +77350,7 @@ "source_location": "L436", "_origin": "ast", "id": "api_doctor_path_parameters_436", - "community": 667, + "community": 333, "norm_label": "path parameters" }, { @@ -76720,7 +77360,7 @@ "source_location": "L441", "_origin": "ast", "id": "api_doctor_request_body_441", - "community": 667, + "community": 333, "norm_label": "request body" }, { @@ -76730,7 +77370,7 @@ "source_location": "L444", "_origin": "ast", "id": "api_doctor_response_200_444", - "community": 667, + "community": 333, "norm_label": "response `200`" }, { @@ -76740,7 +77380,7 @@ "source_location": "L447", "_origin": "ast", "id": "api_doctor_errors_447", - "community": 667, + "community": 333, "norm_label": "errors" }, { @@ -76780,7 +77420,7 @@ "source_location": "L476", "_origin": "ast", "id": "api_doctor_post_api_v1_clinic_pro_doctor_address_from_clinic_clinicuuid", - "community": 690, + "community": 333, "norm_label": "post `/api/v1/clinic-pro/doctor-address/from-clinic/{clinicuuid}`" }, { @@ -76790,7 +77430,7 @@ "source_location": "L482", "_origin": "ast", "id": "api_doctor_path_parameters_482", - "community": 690, + "community": 333, "norm_label": "path parameters" }, { @@ -76800,7 +77440,7 @@ "source_location": "L487", "_origin": "ast", "id": "api_doctor_response_201_487", - "community": 690, + "community": 333, "norm_label": "response `201`" }, { @@ -76810,7 +77450,7 @@ "source_location": "L490", "_origin": "ast", "id": "api_doctor_errors_490", - "community": 690, + "community": 333, "norm_label": "errors" }, { @@ -76840,7 +77480,7 @@ "source_location": "L11", "_origin": "ast", "id": "api_insurance_get_api_v1_insurances", - "community": 228, + "community": 736, "norm_label": "get `/api/v1/insurances`" }, { @@ -76850,7 +77490,7 @@ "source_location": "L17", "_origin": "ast", "id": "api_insurance_query_parameters", - "community": 228, + "community": 736, "norm_label": "query parameters" }, { @@ -76860,7 +77500,7 @@ "source_location": "L22", "_origin": "ast", "id": "api_insurance_response_200", - "community": 228, + "community": 736, "norm_label": "response `200`" }, { @@ -76870,7 +77510,7 @@ "source_location": "L47", "_origin": "ast", "id": "api_insurance_get_api_v1_admin_insurances", - "community": 228, + "community": 718, "norm_label": "get `/api/v1/admin/insurances`" }, { @@ -76880,7 +77520,7 @@ "source_location": "L53", "_origin": "ast", "id": "api_insurance_query_parameters_53", - "community": 228, + "community": 718, "norm_label": "query parameters" }, { @@ -76890,7 +77530,7 @@ "source_location": "L61", "_origin": "ast", "id": "api_insurance_response_200_61", - "community": 228, + "community": 718, "norm_label": "response `200`" }, { @@ -76900,7 +77540,7 @@ "source_location": "L70", "_origin": "ast", "id": "api_insurance_errors", - "community": 228, + "community": 718, "norm_label": "errors" }, { @@ -76910,7 +77550,7 @@ "source_location": "L78", "_origin": "ast", "id": "api_insurance_post_api_v1_admin_insurance", - "community": 228, + "community": 719, "norm_label": "post `/api/v1/admin/insurance`" }, { @@ -76920,7 +77560,7 @@ "source_location": "L84", "_origin": "ast", "id": "api_insurance_request_body_application_json", - "community": 228, + "community": 719, "norm_label": "request body (`application/json`)" }, { @@ -76930,7 +77570,7 @@ "source_location": "L101", "_origin": "ast", "id": "api_insurance_response_201", - "community": 228, + "community": 719, "norm_label": "response `201`" }, { @@ -76940,7 +77580,7 @@ "source_location": "L104", "_origin": "ast", "id": "api_insurance_errors_104", - "community": 228, + "community": 719, "norm_label": "errors" }, { @@ -77010,7 +77650,7 @@ "source_location": "L151", "_origin": "ast", "id": "api_insurance_post_api_v1_admin_insurance_id_upload_logo", - "community": 228, + "community": 737, "norm_label": "post `/api/v1/admin/insurance/{id}/upload-logo`" }, { @@ -77020,7 +77660,7 @@ "source_location": "L157", "_origin": "ast", "id": "api_insurance_request", - "community": 228, + "community": 737, "norm_label": "request" }, { @@ -77030,7 +77670,7 @@ "source_location": "L164", "_origin": "ast", "id": "api_insurance_response_200_164", - "community": 228, + "community": 737, "norm_label": "response `200`" }, { @@ -77040,7 +77680,7 @@ "source_location": "L180", "_origin": "ast", "id": "api_insurance_post_api_v1_insurance", - "community": 228, + "community": 720, "norm_label": "post `/api/v1/insurance/`" }, { @@ -77050,7 +77690,7 @@ "source_location": "L186", "_origin": "ast", "id": "api_insurance_request_body_application_json_186", - "community": 228, + "community": 720, "norm_label": "request body (`application/json`)" }, { @@ -77060,7 +77700,7 @@ "source_location": "L201", "_origin": "ast", "id": "api_insurance_response_201_201", - "community": 228, + "community": 720, "norm_label": "response `201`" }, { @@ -77070,7 +77710,7 @@ "source_location": "L214", "_origin": "ast", "id": "api_insurance_errors_214", - "community": 228, + "community": 720, "norm_label": "errors" }, { @@ -77100,7 +77740,7 @@ "source_location": "L235", "_origin": "ast", "id": "api_insurance_patch_api_v1_insurance_id", - "community": 228, + "community": 721, "norm_label": "patch `/api/v1/insurance/{id}`" }, { @@ -77110,7 +77750,7 @@ "source_location": "L241", "_origin": "ast", "id": "api_insurance_request_body", - "community": 228, + "community": 721, "norm_label": "request body" }, { @@ -77120,7 +77760,7 @@ "source_location": "L246", "_origin": "ast", "id": "api_insurance_response_200_246", - "community": 228, + "community": 721, "norm_label": "response `200`" }, { @@ -77130,7 +77770,7 @@ "source_location": "L249", "_origin": "ast", "id": "api_insurance_errors_249", - "community": 228, + "community": 721, "norm_label": "errors" }, { @@ -77170,7 +77810,7 @@ "source_location": "L281", "_origin": "ast", "id": "api_insurance_get_api_v1_insurance_pricing", - "community": 228, + "community": 735, "norm_label": "get `/api/v1/insurance-pricing`" }, { @@ -77180,7 +77820,7 @@ "source_location": "L287", "_origin": "ast", "id": "api_insurance_response_200_287", - "community": 228, + "community": 735, "norm_label": "response `200`" }, { @@ -77190,7 +77830,7 @@ "source_location": "L315", "_origin": "ast", "id": "api_insurance_\u062e\u0637\u0627\u0647\u0627", - "community": 228, + "community": 735, "norm_label": "\u062e\u0637\u0627\u0647\u0627" }, { @@ -77200,7 +77840,7 @@ "source_location": "L320", "_origin": "ast", "id": "api_insurance_put_api_v1_insurance_pricing", - "community": 228, + "community": 723, "norm_label": "put `/api/v1/insurance-pricing`" }, { @@ -77210,7 +77850,7 @@ "source_location": "L326", "_origin": "ast", "id": "api_insurance_request_body_326", - "community": 228, + "community": 723, "norm_label": "request body" }, { @@ -77220,7 +77860,7 @@ "source_location": "L343", "_origin": "ast", "id": "api_insurance_response_200_343", - "community": 228, + "community": 723, "norm_label": "response `200`" }, { @@ -77230,7 +77870,7 @@ "source_location": "L346", "_origin": "ast", "id": "api_insurance_\u062e\u0637\u0627\u0647\u0627_346", - "community": 228, + "community": 723, "norm_label": "\u062e\u0637\u0627\u0647\u0627" }, { @@ -77240,7 +77880,7 @@ "source_location": "L351", "_origin": "ast", "id": "api_insurance_tenantinsurance_\u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627\u06cc_\u0628\u06cc\u0645\u0647_\u06cc_tenant_\u0641\u0627\u0632_\u06f1_\u0633\u06cc\u0633\u062a\u0645_\u0635\u0648\u0631\u062a\u062d\u0633\u0627\u0628", - "community": 228, + "community": 705, "norm_label": "tenantinsurance \u2014 \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627\u06cc \u0628\u06cc\u0645\u0647\u200c\u06cc tenant (\u0641\u0627\u0632 \u06f1 \u0633\u06cc\u0633\u062a\u0645 \u0635\u0648\u0631\u062a\u062d\u0633\u0627\u0628)" }, { @@ -77250,7 +77890,7 @@ "source_location": "L355", "_origin": "ast", "id": "api_insurance_get_api_v1_billing_tenant_insurances", - "community": 228, + "community": 705, "norm_label": "get `/api/v1/billing/tenant-insurances`" }, { @@ -77260,7 +77900,7 @@ "source_location": "L383", "_origin": "ast", "id": "api_insurance_post_api_v1_billing_tenant_insurances", - "community": 228, + "community": 705, "norm_label": "post `/api/v1/billing/tenant-insurances`" }, { @@ -77270,7 +77910,7 @@ "source_location": "L397", "_origin": "ast", "id": "api_insurance_patch_api_v1_billing_tenant_insurances_uuid", - "community": 228, + "community": 705, "norm_label": "patch `/api/v1/billing/tenant-insurances/{uuid}`" }, { @@ -77280,7 +77920,7 @@ "source_location": "L400", "_origin": "ast", "id": "api_insurance_delete_api_v1_billing_tenant_insurances_uuid", - "community": 228, + "community": 705, "norm_label": "delete `/api/v1/billing/tenant-insurances/{uuid}`" }, { @@ -77290,7 +77930,7 @@ "source_location": "L411", "_origin": "ast", "id": "api_insurance_tenantservicecoverage_\u067e\u0648\u0634\u0634_\u062e\u062f\u0645\u062a_\u062a\u062d\u062a_\u06cc\u06a9_\u0642\u0631\u0627\u0631\u062f\u0627\u062f_\u0628\u06cc\u0645\u0647_\u0641\u0627\u0632_\u06f2", - "community": 228, + "community": 734, "norm_label": "tenantservicecoverage \u2014 \u067e\u0648\u0634\u0634 \u062e\u062f\u0645\u062a \u062a\u062d\u062a \u06cc\u06a9 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0628\u06cc\u0645\u0647 (\u0641\u0627\u0632 \u06f2)" }, { @@ -77300,7 +77940,7 @@ "source_location": "L415", "_origin": "ast", "id": "api_insurance_get_api_v1_billing_tenant_insurances_uuid_service_coverage", - "community": 228, + "community": 734, "norm_label": "get `/api/v1/billing/tenant-insurances/{uuid}/service-coverage`" }, { @@ -77310,7 +77950,7 @@ "source_location": "L440", "_origin": "ast", "id": "api_insurance_put_api_v1_billing_tenant_insurances_uuid_service_coverage", - "community": 228, + "community": 734, "norm_label": "put `/api/v1/billing/tenant-insurances/{uuid}/service-coverage`" }, { @@ -78180,7 +78820,7 @@ "source_location": "L1", "_origin": "ast", "id": "api_rating", - "community": 17, + "community": 274, "norm_label": "rating.md" }, { @@ -78520,7 +79160,7 @@ "source_location": "L327", "_origin": "ast", "id": "api_rating_post_api_v1_like_commentuuid", - "community": 17, + "community": 707, "norm_label": "post `/api/v1/like/{commentuuid}`" }, { @@ -78530,7 +79170,7 @@ "source_location": "L336", "_origin": "ast", "id": "api_rating_path_parameters_336", - "community": 17, + "community": 707, "norm_label": "path parameters" }, { @@ -78540,7 +79180,7 @@ "source_location": "L341", "_origin": "ast", "id": "api_rating_request_body_application_json_341", - "community": 17, + "community": 707, "norm_label": "request body (`application/json`)" }, { @@ -78550,7 +79190,7 @@ "source_location": "L349", "_origin": "ast", "id": "api_rating_response_200_349", - "community": 17, + "community": 707, "norm_label": "response `200`" }, { @@ -78560,7 +79200,7 @@ "source_location": "L361", "_origin": "ast", "id": "api_rating_errors_361", - "community": 17, + "community": 707, "norm_label": "errors" }, { @@ -80220,7 +80860,7 @@ "source_location": "L260", "_origin": "ast", "id": "api_sms_post_api_v1_admin_sms_template_uuid_approve", - "community": 600, + "community": 597, "norm_label": "post `/api/v1/admin/sms/template/{uuid}/approve`" }, { @@ -80230,7 +80870,7 @@ "source_location": "L266", "_origin": "ast", "id": "api_sms_request_body_application_json_266", - "community": 600, + "community": 597, "norm_label": "request body (`application/json`)" }, { @@ -80240,7 +80880,7 @@ "source_location": "L279", "_origin": "ast", "id": "api_sms_response_200_279", - "community": 600, + "community": 597, "norm_label": "response `200`" }, { @@ -80970,7 +81610,7 @@ "source_location": "L1", "_origin": "ast", "id": "api_tag", - "community": 102, + "community": 274, "norm_label": "tag.md" }, { @@ -93802,6 +94442,47 @@ "source": "layout_topbar_topbar", "target": "stores_uistore_useuistore" }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "assets/admin/components/ui/Altcha.tsx", + "source_location": "L2", + "weight": 1.0, + "confidence_score": 1.0, + "source": "ui_altcha", + "target": "altcha" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "assets/admin/components/ui/Altcha.tsx", + "source_location": "L24", + "weight": 1.0, + "confidence_score": 1.0, + "source": "ui_altcha", + "target": "ui_altcha_altcha" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "assets/admin/components/ui/Altcha.tsx", + "source_location": "L8", + "weight": 1.0, + "confidence_score": 1.0, + "source": "ui_altcha", + "target": "ui_altcha_altchaprops" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "assets/admin/components/ui/Altcha.tsx", + "source_location": "L16", + "weight": 1.0, + "confidence_score": 1.0, + "source": "ui_altcha", + "target": "ui_altcha_intrinsicelements" + }, { "relation": "imports_from", "context": "import", @@ -98191,9 +98872,9 @@ "source_file": "assets/admin/lib/api.ts", "source_location": "L90", "weight": 1.0, + "confidence_score": 1.0, "source": "lib_api", - "target": "lib_api_downloadfile", - "confidence_score": 1.0 + "target": "lib_api_downloadfile" }, { "relation": "contains", @@ -98737,9 +99418,9 @@ "source_file": "assets/admin/lib/api.ts", "source_location": "L91", "weight": 1.0, + "confidence_score": 1.0, "source": "lib_api_downloadfile", - "target": "lib_api_gettoken", - "confidence_score": 1.0 + "target": "lib_api_gettoken" }, { "relation": "calls", @@ -98780,9 +99461,9 @@ "source_file": "assets/admin/lib/api.ts", "source_location": "L99", "weight": 1.0, + "confidence_score": 1.0, "source": "lib_api_downloadfile", - "target": "lib_api_refreshonce", - "confidence_score": 1.0 + "target": "lib_api_refreshonce" }, { "relation": "calls", @@ -109264,6 +109945,16 @@ "source": "composer", "target": "composer_type" }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "composer.json", + "source_location": "L13", + "weight": 1.0, + "confidence_score": 1.0, + "source": "composer_require", + "target": "composer_require_altcha_org_altcha" + }, { "relation": "contains", "confidence": "EXTRACTED", @@ -117875,6 +118566,16 @@ "source": "package_devdependencies", "target": "package_devdependencies_webpack_cli" }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L42", + "weight": 1.0, + "confidence_score": 1.0, + "source": "package_dependencies", + "target": "package_dependencies_altcha" + }, { "relation": "contains", "confidence": "EXTRACTED", @@ -118095,6 +118796,17 @@ "source": "package_dependencies", "target": "package_dependencies_zustand" }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L42", + "weight": 1.0, + "context": "import", + "confidence_score": 1.0, + "source": "package_dependencies_altcha", + "target": "altcha" + }, { "relation": "contains", "confidence": "EXTRACTED", @@ -118411,9 +119123,9 @@ "source_file": "src/Admin/Controller/AdminApiController.php", "source_location": "L29", "weight": 1.0, + "confidence_score": 1.0, "source": "controller_adminapicontroller", - "target": "streamedresponse", - "confidence_score": 1.0 + "target": "streamedresponse" }, { "relation": "method", @@ -118581,9 +119293,9 @@ "source_file": "src/Admin/Controller/AdminApiController.php", "source_location": "L2102", "weight": 1.0, + "confidence_score": 1.0, "source": "controller_adminapicontroller_adminapicontroller", - "target": "controller_adminapicontroller_adminapicontroller_exportlogs", - "confidence_score": 1.0 + "target": "controller_adminapicontroller_adminapicontroller_exportlogs" }, { "relation": "method", @@ -119339,9 +120051,9 @@ "source_location": "L2102", "weight": 1.0, "context": "parameter_type", + "confidence_score": 1.0, "source": "controller_adminapicontroller_adminapicontroller_exportlogs", - "target": "src_admin_controller_adminapicontroller_php_request", - "confidence_score": 1.0 + "target": "src_admin_controller_adminapicontroller_php_request" }, { "relation": "references", @@ -119757,9 +120469,9 @@ "source_location": "L2102", "weight": 1.0, "context": "return_type", + "confidence_score": 1.0, "source": "controller_adminapicontroller_adminapicontroller_exportlogs", - "target": "streamedresponse", - "confidence_score": 1.0 + "target": "streamedresponse" }, { "relation": "imports", @@ -163156,6 +163868,235 @@ "source": "service_commissionservice_commissionservice_settle", "target": "src_settlement_service_commissionservice_php_representation" }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/Shared/Captcha/AltchaService.php", + "source_location": "L5", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_altchaservice", + "target": "altcha" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/Shared/Captcha/AltchaService.php", + "source_location": "L17", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_altchaservice", + "target": "captcha_altchaservice_altchaservice" + }, + { + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "src/Shared/Captcha/AltchaService.php", + "source_location": "L19", + "weight": 1.0, + "context": "field", + "confidence_score": 1.0, + "source": "captcha_altchaservice_altchaservice", + "target": "altcha" + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/Shared/Captcha/AltchaService.php", + "source_location": "L21", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_altchaservice_altchaservice", + "target": "captcha_altchaservice_altchaservice_construct" + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/Shared/Captcha/AltchaService.php", + "source_location": "L74", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_altchaservice_altchaservice", + "target": "captcha_altchaservice_altchaservice_consumeonce" + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/Shared/Captcha/AltchaService.php", + "source_location": "L41", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_altchaservice_altchaservice", + "target": "captcha_altchaservice_altchaservice_createchallenge" + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/Shared/Captcha/AltchaService.php", + "source_location": "L31", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_altchaservice_altchaservice", + "target": "captcha_altchaservice_altchaservice_enabled" + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/Shared/Captcha/AltchaService.php", + "source_location": "L61", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_altchaservice_altchaservice", + "target": "captcha_altchaservice_altchaservice_verifysolution" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", + "source_location": "L5", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_altchaservicetest", + "target": "altcha" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/Shared/Captcha/AltchaService.php", + "source_location": "L67", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_altchaservice_altchaservice_verifysolution", + "target": "captcha_altchaservice_altchaservice_consumeonce" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/Shared/Captcha/CaptchaController.php", + "source_location": "L10", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_captchacontroller", + "target": "captcha_captchacontroller_captchacontroller" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/Shared/Captcha/CaptchaController.php", + "source_location": "L5", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_captchacontroller", + "target": "controller_basecontroller_basecontroller" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/Shared/Captcha/CaptchaController.php", + "source_location": "L7", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_captchacontroller", + "target": "src_shared_captcha_captchacontroller_php_jsonresponse" + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/Shared/Captcha/CaptchaController.php", + "source_location": "L15", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_captchacontroller_captchacontroller", + "target": "captcha_captchacontroller_captchacontroller_challenge" + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/Shared/Captcha/CaptchaController.php", + "source_location": "L13", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_captchacontroller_captchacontroller", + "target": "captcha_captchacontroller_captchacontroller_construct" + }, + { + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/Shared/Captcha/CaptchaController.php", + "source_location": "L11", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_captchacontroller_captchacontroller", + "target": "controller_basecontroller_basecontroller" + }, + { + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "src/Shared/Captcha/CaptchaController.php", + "source_location": "L15", + "weight": 1.0, + "context": "return_type", + "confidence_score": 1.0, + "source": "captcha_captchacontroller_captchacontroller_challenge", + "target": "src_shared_captcha_captchacontroller_php_jsonresponse" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/Shared/Captcha/CaptchaGuard.php", + "source_location": "L16", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_captchaguard", + "target": "captcha_captchaguard_captchaguard" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/Shared/Captcha/CaptchaGuard.php", + "source_location": "L7", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_captchaguard", + "target": "src_shared_captcha_captchaguard_php_request" + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/Shared/Captcha/CaptchaGuard.php", + "source_location": "L20", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_captchaguard_captchaguard", + "target": "captcha_captchaguard_captchaguard_assertvalid" + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/Shared/Captcha/CaptchaGuard.php", + "source_location": "L18", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_captchaguard_captchaguard", + "target": "captcha_captchaguard_captchaguard_construct" + }, + { + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "src/Shared/Captcha/CaptchaGuard.php", + "source_location": "L20", + "weight": 1.0, + "context": "parameter_type", + "confidence_score": 1.0, + "source": "captcha_captchaguard_captchaguard_assertvalid", + "target": "src_shared_captcha_captchaguard_php_request" + }, { "relation": "contains", "confidence": "EXTRACTED", @@ -175068,9 +176009,9 @@ "source_file": "tests/Admin/AdminLogsTest.php", "source_location": "L56", "weight": 1.0, + "confidence_score": 1.0, "source": "admin_adminlogstest_adminlogstest", - "target": "admin_adminlogstest_adminlogstest_testadminexportscsvfilteredbylevel", - "confidence_score": 1.0 + "target": "admin_adminlogstest_adminlogstest_testadminexportscsvfilteredbylevel" }, { "relation": "method", @@ -175088,9 +176029,9 @@ "source_file": "tests/Admin/AdminLogsTest.php", "source_location": "L49", "weight": 1.0, + "confidence_score": 1.0, "source": "admin_adminlogstest_adminlogstest", - "target": "admin_adminlogstest_adminlogstest_testexportnonadminforbidden", - "confidence_score": 1.0 + "target": "admin_adminlogstest_adminlogstest_testexportnonadminforbidden" }, { "relation": "method", @@ -175119,9 +176060,9 @@ "source_file": "tests/Admin/AdminLogsTest.php", "source_location": "L59", "weight": 1.0, + "confidence_score": 1.0, "source": "admin_adminlogstest_adminlogstest_testadminexportscsvfilteredbylevel", - "target": "admin_adminlogstest_adminlogstest_seedlog", - "confidence_score": 1.0 + "target": "admin_adminlogstest_adminlogstest_seedlog" }, { "relation": "calls", @@ -175440,6 +176381,27 @@ "source": "billing_claimslistpaginationtest_claimslistpaginationtest", "target": "tests_apitestcase_apitestcase" }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/Shared/Captcha/CaptchaFlowTest.php", + "source_location": "L5", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_captchaflowtest", + "target": "tests_apitestcase_apitestcase" + }, + { + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "tests/Shared/Captcha/CaptchaFlowTest.php", + "source_location": "L11", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_captchaflowtest_captchaflowtest", + "target": "tests_apitestcase_apitestcase" + }, { "relation": "imports", "context": "import", @@ -176861,6 +177823,27 @@ "source": "billing_billingcalculatortest_billingcalculatortest", "target": "testcase" }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", + "source_location": "L8", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_altchaservicetest", + "target": "testcase" + }, + { + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", + "source_location": "L14", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_altchaservicetest_altchaservicetest", + "target": "testcase" + }, { "relation": "imports", "context": "import", @@ -178728,6 +179711,247 @@ "source": "settlement_wallettransactionspaginationtest_wallettransactionspaginationtest", "target": "settlement_wallettransactionspaginationtest_wallettransactionspaginationtest_testpaginatesandreportstotals" }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", + "source_location": "L7", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_altchaservicetest", + "target": "altchaservice" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", + "source_location": "L14", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_altchaservicetest", + "target": "captcha_altchaservicetest_altchaservicetest" + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", + "source_location": "L18", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_altchaservicetest_altchaservicetest", + "target": "captcha_altchaservicetest_altchaservicetest_service" + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", + "source_location": "L27", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_altchaservicetest_altchaservicetest", + "target": "captcha_altchaservicetest_altchaservicetest_solvedpayload" + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", + "source_location": "L47", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_altchaservicetest_altchaservicetest", + "target": "captcha_altchaservicetest_altchaservicetest_testcreatechallengeshape" + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", + "source_location": "L80", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_altchaservicetest_altchaservicetest", + "target": "captcha_altchaservicetest_altchaservicetest_testemptyandgarbagepayloadsrejected" + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", + "source_location": "L88", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_altchaservicetest_altchaservicetest", + "target": "captcha_altchaservicetest_altchaservicetest_testenabledflag" + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", + "source_location": "L64", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_altchaservicetest_altchaservicetest", + "target": "captcha_altchaservicetest_altchaservicetest_testreplayisrejected" + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", + "source_location": "L72", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_altchaservicetest_altchaservicetest", + "target": "captcha_altchaservicetest_altchaservicetest_testtamperedsignaturerejected" + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", + "source_location": "L57", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_altchaservicetest_altchaservicetest", + "target": "captcha_altchaservicetest_altchaservicetest_testvalidsolutionverifies" + }, + { + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", + "source_location": "L18", + "weight": 1.0, + "context": "return_type", + "confidence_score": 1.0, + "source": "captcha_altchaservicetest_altchaservicetest_service", + "target": "altchaservice" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", + "source_location": "L49", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_altchaservicetest_altchaservicetest_testcreatechallengeshape", + "target": "captcha_altchaservicetest_altchaservicetest_service" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", + "source_location": "L82", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_altchaservicetest_altchaservicetest_testemptyandgarbagepayloadsrejected", + "target": "captcha_altchaservicetest_altchaservicetest_service" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", + "source_location": "L90", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_altchaservicetest_altchaservicetest_testenabledflag", + "target": "captcha_altchaservicetest_altchaservicetest_service" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", + "source_location": "L66", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_altchaservicetest_altchaservicetest_testreplayisrejected", + "target": "captcha_altchaservicetest_altchaservicetest_service" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", + "source_location": "L74", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_altchaservicetest_altchaservicetest_testtamperedsignaturerejected", + "target": "captcha_altchaservicetest_altchaservicetest_service" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", + "source_location": "L59", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_altchaservicetest_altchaservicetest_testvalidsolutionverifies", + "target": "captcha_altchaservicetest_altchaservicetest_service" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", + "source_location": "L67", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_altchaservicetest_altchaservicetest_testreplayisrejected", + "target": "captcha_altchaservicetest_altchaservicetest_solvedpayload" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", + "source_location": "L77", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_altchaservicetest_altchaservicetest_testtamperedsignaturerejected", + "target": "captcha_altchaservicetest_altchaservicetest_solvedpayload" + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "tests/Shared/Captcha/AltchaServiceTest.php", + "source_location": "L60", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_altchaservicetest_altchaservicetest_testvalidsolutionverifies", + "target": "captcha_altchaservicetest_altchaservicetest_solvedpayload" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tests/Shared/Captcha/CaptchaFlowTest.php", + "source_location": "L11", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_captchaflowtest", + "target": "captcha_captchaflowtest_captchaflowtest" + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/Shared/Captcha/CaptchaFlowTest.php", + "source_location": "L13", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_captchaflowtest_captchaflowtest", + "target": "captcha_captchaflowtest_captchaflowtest_testchallengeendpointispublicandwellformed" + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "tests/Shared/Captcha/CaptchaFlowTest.php", + "source_location": "L25", + "weight": 1.0, + "confidence_score": 1.0, + "source": "captcha_captchaflowtest_captchaflowtest", + "target": "captcha_captchaflowtest_captchaflowtest_testpublicendpointbypassescaptchawhendisabled" + }, { "relation": "contains", "confidence": "EXTRACTED", @@ -180646,6 +181870,176 @@ "source": "prompt_admin_user_detail_show_profile_\u0648\u0638\u0627\u06cc\u0641", "target": "prompt_admin_user_detail_show_profile_\u06f3_\u062d\u0627\u0644\u062a_\u0647\u0627\u06cc_loading_\u062e\u0627\u0644\u06cc" }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": ".claude/prompt/altcha-captcha-integration.md", + "source_location": "L1", + "weight": 1.0, + "confidence_score": 1.0, + "source": "prompt_altcha_captcha_integration", + "target": "prompt_altcha_captcha_integration_\u06cc\u06a9\u067e\u0627\u0631\u0686\u0647_\u0633\u0627\u0632\u06cc_altcha_\u06a9\u067e\u0686\u0627\u06cc_self_hosted_proof_of_work_\u0631\u0648\u06cc_endpoint\u0647\u0627\u06cc_\u0639\u0645\u0648\u0645\u06cc" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": ".claude/prompt/altcha-captcha-integration.md", + "source_location": "L25", + "weight": 1.0, + "confidence_score": 1.0, + "source": "prompt_altcha_captcha_integration_\u06cc\u06a9\u067e\u0627\u0631\u0686\u0647_\u0633\u0627\u0632\u06cc_altcha_\u06a9\u067e\u0686\u0627\u06cc_self_hosted_proof_of_work_\u0631\u0648\u06cc_endpoint\u0647\u0627\u06cc_\u0639\u0645\u0648\u0645\u06cc", + "target": "prompt_altcha_captcha_integration_endpoint\u0647\u0627\u06cc_\u0639\u0645\u0648\u0645\u06cc_\u06a9\u0647_\u0628\u0627\u06cc\u062f_\u0645\u062d\u0627\u0641\u0638\u062a_\u0634\u0648\u0646\u062f" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": ".claude/prompt/altcha-captcha-integration.md", + "source_location": "L9", + "weight": 1.0, + "confidence_score": 1.0, + "source": "prompt_altcha_captcha_integration_\u06cc\u06a9\u067e\u0627\u0631\u0686\u0647_\u0633\u0627\u0632\u06cc_altcha_\u06a9\u067e\u0686\u0627\u06cc_self_hosted_proof_of_work_\u0631\u0648\u06cc_endpoint\u0647\u0627\u06cc_\u0639\u0645\u0648\u0645\u06cc", + "target": "prompt_altcha_captcha_integration_\u0632\u0645\u06cc\u0646\u0647" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": ".claude/prompt/altcha-captcha-integration.md", + "source_location": "L21", + "weight": 1.0, + "confidence_score": 1.0, + "source": "prompt_altcha_captcha_integration_\u06cc\u06a9\u067e\u0627\u0631\u0686\u0647_\u0633\u0627\u0632\u06cc_altcha_\u06a9\u067e\u0686\u0627\u06cc_self_hosted_proof_of_work_\u0631\u0648\u06cc_endpoint\u0647\u0627\u06cc_\u0639\u0645\u0648\u0645\u06cc", + "target": "prompt_altcha_captcha_integration_\u0645\u0634\u06a9\u0644_\u0647\u062f\u0641" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": ".claude/prompt/altcha-captcha-integration.md", + "source_location": "L170", + "weight": 1.0, + "confidence_score": 1.0, + "source": "prompt_altcha_captcha_integration_\u06cc\u06a9\u067e\u0627\u0631\u0686\u0647_\u0633\u0627\u0632\u06cc_altcha_\u06a9\u067e\u0686\u0627\u06cc_self_hosted_proof_of_work_\u0631\u0648\u06cc_endpoint\u0647\u0627\u06cc_\u0639\u0645\u0648\u0645\u06cc", + "target": "prompt_altcha_captcha_integration_\u0646\u06a9\u0627\u062a_\u0645\u0647\u0645" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": ".claude/prompt/altcha-captcha-integration.md", + "source_location": "L41", + "weight": 1.0, + "confidence_score": 1.0, + "source": "prompt_altcha_captcha_integration_\u06cc\u06a9\u067e\u0627\u0631\u0686\u0647_\u0633\u0627\u0632\u06cc_altcha_\u06a9\u067e\u0686\u0627\u06cc_self_hosted_proof_of_work_\u0631\u0648\u06cc_endpoint\u0647\u0627\u06cc_\u0639\u0645\u0648\u0645\u06cc", + "target": "prompt_altcha_captcha_integration_\u0648\u0636\u0639\u06cc\u062a_\u0641\u0639\u0644\u06cc" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": ".claude/prompt/altcha-captcha-integration.md", + "source_location": "L67", + "weight": 1.0, + "confidence_score": 1.0, + "source": "prompt_altcha_captcha_integration_\u06cc\u06a9\u067e\u0627\u0631\u0686\u0647_\u0633\u0627\u0632\u06cc_altcha_\u06a9\u067e\u0686\u0627\u06cc_self_hosted_proof_of_work_\u0631\u0648\u06cc_endpoint\u0647\u0627\u06cc_\u0639\u0645\u0648\u0645\u06cc", + "target": "prompt_altcha_captcha_integration_\u0648\u0638\u0627\u06cc\u0641" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": ".claude/prompt/altcha-captcha-integration.md", + "source_location": "L3", + "weight": 1.0, + "confidence_score": 1.0, + "source": "prompt_altcha_captcha_integration_\u06cc\u06a9\u067e\u0627\u0631\u0686\u0647_\u0633\u0627\u0632\u06cc_altcha_\u06a9\u067e\u0686\u0627\u06cc_self_hosted_proof_of_work_\u0631\u0648\u06cc_endpoint\u0647\u0627\u06cc_\u0639\u0645\u0648\u0645\u06cc", + "target": "prompt_altcha_captcha_integration_\u067e\u0631\u0648\u0698\u0647" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": ".claude/prompt/altcha-captcha-integration.md", + "source_location": "L69", + "weight": 1.0, + "confidence_score": 1.0, + "source": "prompt_altcha_captcha_integration_\u0648\u0638\u0627\u06cc\u0641", + "target": "prompt_altcha_captcha_integration_\u06f1_\u0646\u0635\u0628_\u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647_\u06cc_\u0631\u0633\u0645\u06cc_php" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": ".claude/prompt/altcha-captcha-integration.md", + "source_location": "L76", + "weight": 1.0, + "confidence_score": 1.0, + "source": "prompt_altcha_captcha_integration_\u0648\u0638\u0627\u06cc\u0641", + "target": "prompt_altcha_captcha_integration_\u06f2_\u0633\u0631\u0648\u06cc\u0633_\u0645\u0631\u06a9\u0632\u06cc_src_shared_captcha_altchaservice_php_namespace_\u062c\u062f\u06cc\u062f_app_shared_captcha" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": ".claude/prompt/altcha-captcha-integration.md", + "source_location": "L85", + "weight": 1.0, + "confidence_score": 1.0, + "source": "prompt_altcha_captcha_integration_\u0648\u0638\u0627\u06cc\u0641", + "target": "prompt_altcha_captcha_integration_\u06f3_guard_\u0642\u0627\u0628\u0644_\u0627\u0633\u062a\u0641\u0627\u062f\u0647_\u0645\u062c\u062f\u062f_src_shared_captcha_captchaguard_php" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": ".claude/prompt/altcha-captcha-integration.md", + "source_location": "L104", + "weight": 1.0, + "confidence_score": 1.0, + "source": "prompt_altcha_captcha_integration_\u0648\u0638\u0627\u06cc\u0641", + "target": "prompt_altcha_captcha_integration_\u06f4_endpoint_\u0635\u062f\u0648\u0631_challenge_\u0639\u0645\u0648\u0645\u06cc" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": ".claude/prompt/altcha-captcha-integration.md", + "source_location": "L118", + "weight": 1.0, + "confidence_score": 1.0, + "source": "prompt_altcha_captcha_integration_\u0648\u0638\u0627\u06cc\u0641", + "target": "prompt_altcha_captcha_integration_\u06f5_\u0627\u0639\u0645\u0627\u0644_guard_\u0631\u0648\u06cc_endpoint\u0647\u0627" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": ".claude/prompt/altcha-captcha-integration.md", + "source_location": "L128", + "weight": 1.0, + "confidence_score": 1.0, + "source": "prompt_altcha_captcha_integration_\u0648\u0638\u0627\u06cc\u0641", + "target": "prompt_altcha_captcha_integration_\u06f6_\u062a\u0646\u0638\u06cc\u0645\u0627\u062a" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": ".claude/prompt/altcha-captcha-integration.md", + "source_location": "L150", + "weight": 1.0, + "confidence_score": 1.0, + "source": "prompt_altcha_captcha_integration_\u0648\u0638\u0627\u06cc\u0641", + "target": "prompt_altcha_captcha_integration_\u06f7_frontend_\u067e\u0646\u0644_\u0627\u062f\u0645\u06cc\u0646_react_assets_admin" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": ".claude/prompt/altcha-captcha-integration.md", + "source_location": "L158", + "weight": 1.0, + "confidence_score": 1.0, + "source": "prompt_altcha_captcha_integration_\u0648\u0638\u0627\u06cc\u0641", + "target": "prompt_altcha_captcha_integration_\u06f8_\u062a\u0633\u062a" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": ".claude/prompt/altcha-captcha-integration.md", + "source_location": "L164", + "weight": 1.0, + "confidence_score": 1.0, + "source": "prompt_altcha_captcha_integration_\u0648\u0638\u0627\u06cc\u0641", + "target": "prompt_altcha_captcha_integration_\u06f9_\u0645\u0633\u062a\u0646\u062f\u0627\u062a" + }, { "relation": "contains", "confidence": "EXTRACTED", @@ -205862,9 +207256,9 @@ "source_file": "docs/api/admin.md", "source_location": "L1219", "weight": 1.0, + "confidence_score": 1.0, "source": "api_admin_application_logs", - "target": "api_admin_get_api_v1_admin_logs_export", - "confidence_score": 1.0 + "target": "api_admin_get_api_v1_admin_logs_export" }, { "relation": "contains", @@ -205892,9 +207286,9 @@ "source_file": "docs/api/admin.md", "source_location": "L1225", "weight": 1.0, + "confidence_score": 1.0, "source": "api_admin_application_logs", - "target": "api_admin_query_parameters_1225", - "confidence_score": 1.0 + "target": "api_admin_query_parameters_1225" }, { "relation": "contains", @@ -205912,9 +207306,9 @@ "source_file": "docs/api/admin.md", "source_location": "L1233", "weight": 1.0, + "confidence_score": 1.0, "source": "api_admin_query_parameters_1225", - "target": "api_admin_response_200_1233", - "confidence_score": 1.0 + "target": "api_admin_response_200_1233" }, { "relation": "contains", @@ -205922,9 +207316,9 @@ "source_file": "docs/api/admin.md", "source_location": "L1244", "weight": 1.0, + "confidence_score": 1.0, "source": "api_admin_delete_api_v1_admin_logs", - "target": "api_admin_response_200_1244", - "confidence_score": 1.0 + "target": "api_admin_response_200_1244" }, { "relation": "contains", @@ -206826,6 +208220,16 @@ "source": "api_auth", "target": "api_auth_authentication_api" }, + { + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "docs/api/auth.md", + "source_location": "L6", + "weight": 1.0, + "confidence_score": 1.0, + "source": "api_auth", + "target": "api_captcha" + }, { "relation": "contains", "confidence": "EXTRACTED", @@ -207030,51 +208434,51 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L80", + "source_location": "L82", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_post_api_v1_user_verify_code", - "target": "api_auth_errors_80" + "target": "api_auth_errors_82" }, { "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L53", + "source_location": "L55", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_post_api_v1_user_verify_code", - "target": "api_auth_request_body_53" + "target": "api_auth_request_body_55" }, { "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L66", + "source_location": "L68", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_post_api_v1_user_verify_code", - "target": "api_auth_response_200_66" + "target": "api_auth_response_200_68" }, { "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L120", + "source_location": "L122", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_post_api_v1_user_register", - "target": "api_auth_errors_120" + "target": "api_auth_errors_122" }, { "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L96", + "source_location": "L98", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_post_api_v1_user_register", - "target": "api_auth_request_body_96" + "target": "api_auth_request_body_98" }, { "relation": "contains", @@ -207090,101 +208494,101 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L160", + "source_location": "L162", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_post_api_v1_user_login", - "target": "api_auth_errors_160" + "target": "api_auth_errors_162" }, { "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L134", + "source_location": "L136", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_post_api_v1_user_login", - "target": "api_auth_request_body_134" + "target": "api_auth_request_body_136" }, { "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L147", + "source_location": "L149", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_post_api_v1_user_login", - "target": "api_auth_response_200_147" + "target": "api_auth_response_200_149" }, { "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L202", + "source_location": "L204", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_post_oauth_token", - "target": "api_auth_errors_202" + "target": "api_auth_errors_204" }, { "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L175", + "source_location": "L177", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_post_oauth_token", - "target": "api_auth_request_body_175" + "target": "api_auth_request_body_177" }, { "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L188", + "source_location": "L190", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_post_oauth_token", - "target": "api_auth_response_200_188" + "target": "api_auth_response_200_190" }, { "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L238", + "source_location": "L240", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_post_oauth_token_refresh", - "target": "api_auth_errors_238" + "target": "api_auth_errors_240" }, { "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L218", + "source_location": "L220", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_post_oauth_token_refresh", - "target": "api_auth_request_body_218" + "target": "api_auth_request_body_220" }, { "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L227", + "source_location": "L229", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_post_oauth_token_refresh", - "target": "api_auth_response_200_227" + "target": "api_auth_response_200_229" }, { "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L326", + "source_location": "L328", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_get_oauth_userinfo", - "target": "api_auth_errors_326" + "target": "api_auth_errors_328" }, { "relation": "contains", @@ -207200,51 +208604,51 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L256", + "source_location": "L258", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_get_oauth_userinfo", - "target": "api_auth_response_200_256" + "target": "api_auth_response_200_258" }, { "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L368", + "source_location": "L370", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_post_api_v1_auth_switch_context", - "target": "api_auth_errors_368" + "target": "api_auth_errors_370" }, { "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L339", + "source_location": "L341", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_post_api_v1_auth_switch_context", - "target": "api_auth_request_body_339" + "target": "api_auth_request_body_341" }, { "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L350", + "source_location": "L352", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_post_api_v1_auth_switch_context", - "target": "api_auth_response_200_350" + "target": "api_auth_response_200_352" }, { "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L415", + "source_location": "L417", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_post_api_v1_notification_mobile_request_otp", - "target": "api_auth_errors_415" + "target": "api_auth_errors_417" }, { "relation": "contains", @@ -207260,111 +208664,111 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L391", + "source_location": "L393", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_post_api_v1_notification_mobile_request_otp", - "target": "api_auth_request_body_391" + "target": "api_auth_request_body_393" }, { "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L404", + "source_location": "L406", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_post_api_v1_notification_mobile_request_otp", - "target": "api_auth_response_200_404" + "target": "api_auth_response_200_406" }, { "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L458", + "source_location": "L460", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_post_api_v1_notification_mobile_verify", - "target": "api_auth_errors_458" + "target": "api_auth_errors_460" }, { "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L434", + "source_location": "L436", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_post_api_v1_notification_mobile_verify", - "target": "api_auth_request_body_434" + "target": "api_auth_request_body_436" }, { "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L447", + "source_location": "L449", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_post_api_v1_notification_mobile_verify", - "target": "api_auth_response_200_447" + "target": "api_auth_response_200_449" }, { "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L485", + "source_location": "L487", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_get_api_v1_notification_mobile_target", - "target": "api_auth_errors_485" + "target": "api_auth_errors_487" }, { "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L473", + "source_location": "L475", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_get_api_v1_notification_mobile_target", - "target": "api_auth_response_200_473" + "target": "api_auth_response_200_475" }, { "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L509", + "source_location": "L511", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_delete_api_v1_notification_mobile_target", - "target": "api_auth_errors_509" + "target": "api_auth_errors_511" }, { "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L499", + "source_location": "L501", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_delete_api_v1_notification_mobile_target", - "target": "api_auth_response_200_499" + "target": "api_auth_response_200_501" }, { "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L522", + "source_location": "L524", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_post_oauth_logout", - "target": "api_auth_request_body_522" + "target": "api_auth_request_body_524" }, { "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L533", + "source_location": "L535", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_post_oauth_logout", - "target": "api_auth_response_200_533" + "target": "api_auth_response_200_535" }, { "relation": "contains", @@ -207380,81 +208784,81 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L551", + "source_location": "L555", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_post_api_v1_pre_registration", - "target": "api_auth_request_body_551" + "target": "api_auth_request_body_555" }, { "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L576", + "source_location": "L580", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_post_api_v1_pre_registration", - "target": "api_auth_response_200_576" + "target": "api_auth_response_200_580" }, { "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L618", + "source_location": "L622", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_post_api_v1_user_otp_login", - "target": "api_auth_error_codes_618" + "target": "api_auth_error_codes_622" }, { "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L598", + "source_location": "L602", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_post_api_v1_user_otp_login", - "target": "api_auth_request_body_598" + "target": "api_auth_request_body_602" }, { "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L607", + "source_location": "L611", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_post_api_v1_user_otp_login", - "target": "api_auth_response_200_607" + "target": "api_auth_response_200_611" }, { "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L655", + "source_location": "L659", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_post_api_v1_user_reset_password", - "target": "api_auth_error_codes_655" + "target": "api_auth_error_codes_659" }, { "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L634", + "source_location": "L638", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_post_api_v1_user_reset_password", - "target": "api_auth_request_body_634" + "target": "api_auth_request_body_638" }, { "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/auth.md", - "source_location": "L647", + "source_location": "L651", "weight": 1.0, "confidence_score": 1.0, "source": "api_auth_post_api_v1_user_reset_password", - "target": "api_auth_response_200_647" + "target": "api_auth_response_200_651" }, { "relation": "contains", @@ -207826,6 +209230,76 @@ "source": "api_blog_post_file_upload_clinic_pro_blog_field_image", "target": "api_blog_response_200_217" }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "docs/api/captcha.md", + "source_location": "L1", + "weight": 1.0, + "confidence_score": 1.0, + "source": "api_captcha", + "target": "api_captcha_captcha_api_altcha" + }, + { + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "docs/api/rating.md", + "source_location": "L13", + "weight": 1.0, + "confidence_score": 1.0, + "source": "api_rating", + "target": "api_captcha" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "docs/api/captcha.md", + "source_location": "L10", + "weight": 1.0, + "confidence_score": 1.0, + "source": "api_captcha_captcha_api_altcha", + "target": "api_captcha_get_api_v1_altcha_challenge" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "docs/api/captcha.md", + "source_location": "L31", + "weight": 1.0, + "confidence_score": 1.0, + "source": "api_captcha_captcha_api_altcha", + "target": "api_captcha_\u0627\u0639\u0645\u0627\u0644_\u06a9\u067e\u0686\u0627_\u0631\u0648\u06cc_endpoint\u0647\u0627\u06cc_\u0645\u062d\u0627\u0641\u0638\u062a_\u0634\u062f\u0647" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "docs/api/captcha.md", + "source_location": "L64", + "weight": 1.0, + "confidence_score": 1.0, + "source": "api_captcha_captcha_api_altcha", + "target": "api_captcha_\u0627\u0645\u0646\u06cc\u062a" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "docs/api/captcha.md", + "source_location": "L14", + "weight": 1.0, + "confidence_score": 1.0, + "source": "api_captcha_get_api_v1_altcha_challenge", + "target": "api_captcha_response_200" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "docs/api/captcha.md", + "source_location": "L51", + "weight": 1.0, + "confidence_score": 1.0, + "source": "api_captcha_\u0627\u0639\u0645\u0627\u0644_\u06a9\u067e\u0686\u0627_\u0631\u0648\u06cc_endpoint\u0647\u0627\u06cc_\u0645\u062d\u0627\u0641\u0638\u062a_\u0634\u062f\u0647", + "target": "api_captcha_\u062e\u0637\u0627\u06cc_\u0627\u0639\u062a\u0628\u0627\u0631\u0633\u0646\u062c\u06cc_\u06a9\u067e\u0686\u0627_422" + }, { "relation": "contains", "confidence": "EXTRACTED", @@ -211332,9 +212806,9 @@ "source_file": "docs/api/rating.md", "source_location": "L105", "weight": 1.0, - "confidence_score": 1.0, "source": "api_rating_get_api_v1_rate_doctoruuid", - "target": "api_rating_errors_105" + "target": "api_rating_errors_105", + "confidence_score": 1.0 }, { "relation": "contains", @@ -211362,9 +212836,9 @@ "source_file": "docs/api/rating.md", "source_location": "L133", "weight": 1.0, - "confidence_score": 1.0, "source": "api_rating_get_api_v1_rate_doctoruuid_eligibility", - "target": "api_rating_errors_133" + "target": "api_rating_errors_133", + "confidence_score": 1.0 }, { "relation": "contains", @@ -211372,9 +212846,9 @@ "source_file": "docs/api/rating.md", "source_location": "L118", "weight": 1.0, - "confidence_score": 1.0, "source": "api_rating_get_api_v1_rate_doctoruuid_eligibility", - "target": "api_rating_path_parameters_118" + "target": "api_rating_path_parameters_118", + "confidence_score": 1.0 }, { "relation": "contains", @@ -211382,9 +212856,9 @@ "source_file": "docs/api/rating.md", "source_location": "L123", "weight": 1.0, - "confidence_score": 1.0, "source": "api_rating_get_api_v1_rate_doctoruuid_eligibility", - "target": "api_rating_response_200_123" + "target": "api_rating_response_200_123", + "confidence_score": 1.0 }, { "relation": "contains", @@ -211392,9 +212866,9 @@ "source_file": "docs/api/rating.md", "source_location": "L171", "weight": 1.0, - "confidence_score": 1.0, "source": "api_rating_post_api_v1_comment", - "target": "api_rating_errors_171" + "target": "api_rating_errors_171", + "confidence_score": 1.0 }, { "relation": "contains", @@ -211402,9 +212876,9 @@ "source_file": "docs/api/rating.md", "source_location": "L151", "weight": 1.0, - "confidence_score": 1.0, "source": "api_rating_post_api_v1_comment", - "target": "api_rating_request_body_application_json_151" + "target": "api_rating_request_body_application_json_151", + "confidence_score": 1.0 }, { "relation": "contains", @@ -211422,9 +212896,9 @@ "source_file": "docs/api/rating.md", "source_location": "L233", "weight": 1.0, - "confidence_score": 1.0, "source": "api_rating_get_api_v1_comments_doctoruuid", - "target": "api_rating_errors_233" + "target": "api_rating_errors_233", + "confidence_score": 1.0 }, { "relation": "contains", @@ -211432,9 +212906,9 @@ "source_file": "docs/api/rating.md", "source_location": "L189", "weight": 1.0, - "confidence_score": 1.0, "source": "api_rating_get_api_v1_comments_doctoruuid", - "target": "api_rating_path_parameters_189" + "target": "api_rating_path_parameters_189", + "confidence_score": 1.0 }, { "relation": "contains", @@ -211442,9 +212916,9 @@ "source_file": "docs/api/rating.md", "source_location": "L194", "weight": 1.0, - "confidence_score": 1.0, "source": "api_rating_get_api_v1_comments_doctoruuid", - "target": "api_rating_response_200_194" + "target": "api_rating_response_200_194", + "confidence_score": 1.0 }, { "relation": "contains", @@ -211452,9 +212926,9 @@ "source_file": "docs/api/rating.md", "source_location": "L251", "weight": 1.0, - "confidence_score": 1.0, "source": "api_rating_delete_api_v1_comment_uuid", - "target": "api_rating_errors_251" + "target": "api_rating_errors_251", + "confidence_score": 1.0 }, { "relation": "contains", @@ -211462,9 +212936,9 @@ "source_file": "docs/api/rating.md", "source_location": "L246", "weight": 1.0, - "confidence_score": 1.0, "source": "api_rating_delete_api_v1_comment_uuid", - "target": "api_rating_response_200_246" + "target": "api_rating_response_200_246", + "confidence_score": 1.0 }, { "relation": "contains", @@ -211472,9 +212946,9 @@ "source_file": "docs/api/rating.md", "source_location": "L283", "weight": 1.0, - "confidence_score": 1.0, "source": "api_rating_get_api_v1_admin_comments_pending", - "target": "api_rating_errors_283" + "target": "api_rating_errors_283", + "confidence_score": 1.0 }, { "relation": "contains", @@ -211482,9 +212956,9 @@ "source_file": "docs/api/rating.md", "source_location": "L266", "weight": 1.0, - "confidence_score": 1.0, "source": "api_rating_get_api_v1_admin_comments_pending", - "target": "api_rating_response_200_266" + "target": "api_rating_response_200_266", + "confidence_score": 1.0 }, { "relation": "contains", @@ -211492,9 +212966,9 @@ "source_file": "docs/api/rating.md", "source_location": "L300", "weight": 1.0, - "confidence_score": 1.0, "source": "api_rating_post_api_v1_admin_comment_uuid_approve", - "target": "api_rating_errors_300" + "target": "api_rating_errors_300", + "confidence_score": 1.0 }, { "relation": "contains", @@ -211502,9 +212976,9 @@ "source_file": "docs/api/rating.md", "source_location": "L297", "weight": 1.0, - "confidence_score": 1.0, "source": "api_rating_post_api_v1_admin_comment_uuid_approve", - "target": "api_rating_response_200_297" + "target": "api_rating_response_200_297", + "confidence_score": 1.0 }, { "relation": "contains", @@ -211512,9 +212986,9 @@ "source_file": "docs/api/rating.md", "source_location": "L318", "weight": 1.0, - "confidence_score": 1.0, "source": "api_rating_post_api_v1_admin_comment_uuid_reject", - "target": "api_rating_errors_318" + "target": "api_rating_errors_318", + "confidence_score": 1.0 }, { "relation": "contains", @@ -211522,9 +212996,9 @@ "source_file": "docs/api/rating.md", "source_location": "L315", "weight": 1.0, - "confidence_score": 1.0, "source": "api_rating_post_api_v1_admin_comment_uuid_reject", - "target": "api_rating_response_200_315" + "target": "api_rating_response_200_315", + "confidence_score": 1.0 }, { "relation": "contains", @@ -211532,9 +213006,9 @@ "source_file": "docs/api/rating.md", "source_location": "L361", "weight": 1.0, - "confidence_score": 1.0, "source": "api_rating_post_api_v1_like_commentuuid", - "target": "api_rating_errors_361" + "target": "api_rating_errors_361", + "confidence_score": 1.0 }, { "relation": "contains", @@ -211542,9 +213016,9 @@ "source_file": "docs/api/rating.md", "source_location": "L336", "weight": 1.0, - "confidence_score": 1.0, "source": "api_rating_post_api_v1_like_commentuuid", - "target": "api_rating_path_parameters_336" + "target": "api_rating_path_parameters_336", + "confidence_score": 1.0 }, { "relation": "contains", @@ -211552,9 +213026,9 @@ "source_file": "docs/api/rating.md", "source_location": "L341", "weight": 1.0, - "confidence_score": 1.0, "source": "api_rating_post_api_v1_like_commentuuid", - "target": "api_rating_request_body_application_json_341" + "target": "api_rating_request_body_application_json_341", + "confidence_score": 1.0 }, { "relation": "contains", @@ -211562,9 +213036,9 @@ "source_file": "docs/api/rating.md", "source_location": "L349", "weight": 1.0, - "confidence_score": 1.0, "source": "api_rating_post_api_v1_like_commentuuid", - "target": "api_rating_response_200_349" + "target": "api_rating_response_200_349", + "confidence_score": 1.0 }, { "relation": "contains", @@ -223958,5 +225432,5 @@ } ], "hyperedges": [], - "built_at_commit": "9d2023a72fe33665c5fd219ba4a90717f9afa8d0" + "built_at_commit": "11efed4100cbb2cb2c64325a2612cb6cb1e7d241" } \ No newline at end of file diff --git a/graphify-out/manifest.json b/graphify-out/manifest.json index 956b7fe6..2ae29c42 100644 --- a/graphify-out/manifest.json +++ b/graphify-out/manifest.json @@ -450,8 +450,8 @@ "semantic_hash": "" }, "composer.json": { - "mtime": 1783490678.46749, - "ast_hash": "af0a543bf9cbb00808c5dc8850ca273c", + "mtime": 1783666096.953897, + "ast_hash": "fcf018bd5c7fc59ecd3c76c463e7e9a8", "semantic_hash": "" }, "config/bundles.php": { @@ -780,8 +780,8 @@ "semantic_hash": "" }, "package.json": { - "mtime": 1783189109.134888, - "ast_hash": "f0b61dd4c429f6bceac993e60b933ab4", + "mtime": 1783666097.0063853, + "ast_hash": "218d7761b7559cdbae136d5d9d8204a8", "semantic_hash": "" }, "postcss.config.js": { @@ -905,8 +905,8 @@ "semantic_hash": "" }, "src/Auth/Controller/AuthController.php": { - "mtime": 1783071277.1970987, - "ast_hash": "b4778b795ee2d27f5e857a1967c337df", + "mtime": 1783666097.0093415, + "ast_hash": "39b0ff3917eea112c09e8a7b11d7ea1c", "semantic_hash": "" }, "src/Auth/Controller/NotificationMobileController.php": { @@ -915,8 +915,8 @@ "semantic_hash": "" }, "src/Auth/Controller/PreRegistrationController.php": { - "mtime": 1783238186.8425517, - "ast_hash": "69a551f873ff500c47fc880ea088be8b", + "mtime": 1783666097.0124094, + "ast_hash": "246de59bb3b7acb58a862b66341e0a15", "semantic_hash": "" }, "src/Auth/Entity/MobileVerificationOtp.php": { @@ -1410,7 +1410,7 @@ "semantic_hash": "" }, "src/Rating/Controller/RatingController.php": { - "mtime": 1782728407.1993864, + "mtime": 1783666764.412828, "ast_hash": "19a05cd6788d427b52c6c2b604ec69af", "semantic_hash": "" }, @@ -1535,8 +1535,8 @@ "semantic_hash": "" }, "src/Shared/Constant/ErrorCodes.php": { - "mtime": 1782728407.2028558, - "ast_hash": "6555622a4f54511406726cc156eac7aa", + "mtime": 1783666097.015498, + "ast_hash": "6ad487190ee8ba21689c31580d564a4b", "semantic_hash": "" }, "src/Shared/Controller/BaseController.php": { @@ -2185,8 +2185,8 @@ "semantic_hash": "" }, "README.MD": { - "mtime": 1782933937.9090674, - "ast_hash": "1da6a3afea0f626c55b6f7c1ff126b65", + "mtime": 1783666800.9005868, + "ast_hash": "b63e5ed1aa434fd429f8a04daae5335c", "semantic_hash": "" }, "TEST_USERS.md": { @@ -2195,8 +2195,8 @@ "semantic_hash": "" }, "config/packages/cache.yaml": { - "mtime": 1781010060.4718235, - "ast_hash": "7e97d477dade0fd454310d84c4a47237", + "mtime": 1783666096.9616337, + "ast_hash": "5a3d4a654c5cc1932cbaa77152f5e9c0", "semantic_hash": "" }, "config/packages/debug.yaml": { @@ -2260,8 +2260,8 @@ "semantic_hash": "" }, "config/packages/security.yaml": { - "mtime": 1783569345.7766566, - "ast_hash": "6d04ed4f39e92b722ac727559194623a", + "mtime": 1783666096.9829946, + "ast_hash": "7236c28a514152be0d7dbf02834096c4", "semantic_hash": "" }, "config/packages/twig.yaml": { @@ -2300,8 +2300,8 @@ "semantic_hash": "" }, "config/services.yaml": { - "mtime": 1783570481.7864468, - "ast_hash": "ed9215189d1b96849ae1e9f6dacdc266", + "mtime": 1783666096.987689, + "ast_hash": "92837e221e0914e026f4f79e8e8ee0b6", "semantic_hash": "" }, "docs/Architecture_Audit.md": { @@ -2355,8 +2355,8 @@ "semantic_hash": "" }, "docs/api/auth.md": { - "mtime": 1783072324.1093419, - "ast_hash": "fe76d2c41f7e9996751b1002edb50c6b", + "mtime": 1783666224.6876435, + "ast_hash": "10113c88f71bb74fb7d6dae80843c253", "semantic_hash": "" }, "docs/api/billing.md": { @@ -2420,7 +2420,7 @@ "semantic_hash": "" }, "docs/api/rating.md": { - "mtime": 1782728407.1106706, + "mtime": 1783666791.9281247, "ast_hash": "ab1f1c46ee73542ebd50f8eddc428efb", "semantic_hash": "" }, @@ -3803,5 +3803,45 @@ "mtime": 1783570038.522232, "ast_hash": "0bc13f299e24b463b720695195298c6a", "semantic_hash": "" + }, + "assets/admin/components/ui/Altcha.tsx": { + "mtime": 1783666097.1123717, + "ast_hash": "76bfa4d9d7c539585eb8b3836c81f3cb", + "semantic_hash": "" + }, + "src/Shared/Captcha/AltchaService.php": { + "mtime": 1783666097.1130326, + "ast_hash": "432b4dd0304710632ba86b243e530a5b", + "semantic_hash": "" + }, + "src/Shared/Captcha/CaptchaController.php": { + "mtime": 1783666097.1135097, + "ast_hash": "e6fccf870e0891e4d836baf6c27aa958", + "semantic_hash": "" + }, + "src/Shared/Captcha/CaptchaGuard.php": { + "mtime": 1783666097.1140714, + "ast_hash": "a84bc84f26a9296f39d446336abd45d5", + "semantic_hash": "" + }, + "tests/Shared/Captcha/AltchaServiceTest.php": { + "mtime": 1783666097.1154962, + "ast_hash": "f6a6ca5f5ccaa6fb6cbf811f1e91dc0b", + "semantic_hash": "" + }, + "tests/Shared/Captcha/CaptchaFlowTest.php": { + "mtime": 1783666097.1165395, + "ast_hash": "86aa236ea6e3bb4067b6511b7161661f", + "semantic_hash": "" + }, + ".claude/prompt/altcha-captcha-integration.md": { + "mtime": 1783666097.111438, + "ast_hash": "312b9b9b16b99ac3550f2911e34619e8", + "semantic_hash": "" + }, + "docs/api/captcha.md": { + "mtime": 1783666775.6831665, + "ast_hash": "4796a4acacfaba72c1e4b741b234c96f", + "semantic_hash": "" } } \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index eca9ab13..f37721c0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,5 +1,5 @@ { - "name": "html", + "name": "clinicpro", "lockfileVersion": 3, "requires": true, "packages": { @@ -14,10 +14,12 @@ "@tanstack/react-query": "^5.0.0", "@tanstack/react-table": "^8.0.0", "@types/leaflet": "^1.9.21", + "altcha": "^3.2.0", "jalaali-js": "^1.2.8", "leaflet": "^1.9.4", "react": "^19.0.0", "react-dom": "^19.0.0", + "react-easy-crop": "^6.1.0", "react-hook-form": "^7.0.0", "react-hot-toast": "^2.0.0", "react-leaflet": "^5.0.0", @@ -15260,6 +15262,7 @@ "os": [ "aix" ], + "peer": true, "engines": { "node": ">=18" } @@ -15277,6 +15280,7 @@ "os": [ "android" ], + "peer": true, "engines": { "node": ">=18" } @@ -15294,6 +15298,7 @@ "os": [ "android" ], + "peer": true, "engines": { "node": ">=18" } @@ -15311,6 +15316,7 @@ "os": [ "android" ], + "peer": true, "engines": { "node": ">=18" } @@ -15328,6 +15334,7 @@ "os": [ "darwin" ], + "peer": true, "engines": { "node": ">=18" } @@ -15345,6 +15352,7 @@ "os": [ "darwin" ], + "peer": true, "engines": { "node": ">=18" } @@ -15362,6 +15370,7 @@ "os": [ "freebsd" ], + "peer": true, "engines": { "node": ">=18" } @@ -15379,6 +15388,7 @@ "os": [ "freebsd" ], + "peer": true, "engines": { "node": ">=18" } @@ -15396,6 +15406,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -15413,6 +15424,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -15430,6 +15442,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -15447,6 +15460,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -15464,6 +15478,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -15481,6 +15496,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -15498,6 +15514,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -15515,6 +15532,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -15532,6 +15550,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=18" } @@ -15549,6 +15568,7 @@ "os": [ "netbsd" ], + "peer": true, "engines": { "node": ">=18" } @@ -15566,6 +15586,7 @@ "os": [ "netbsd" ], + "peer": true, "engines": { "node": ">=18" } @@ -15583,6 +15604,7 @@ "os": [ "openbsd" ], + "peer": true, "engines": { "node": ">=18" } @@ -15600,6 +15622,7 @@ "os": [ "openbsd" ], + "peer": true, "engines": { "node": ">=18" } @@ -15617,6 +15640,7 @@ "os": [ "openharmony" ], + "peer": true, "engines": { "node": ">=18" } @@ -15634,6 +15658,7 @@ "os": [ "sunos" ], + "peer": true, "engines": { "node": ">=18" } @@ -15651,6 +15676,7 @@ "os": [ "win32" ], + "peer": true, "engines": { "node": ">=18" } @@ -15668,6 +15694,7 @@ "os": [ "win32" ], + "peer": true, "engines": { "node": ">=18" } @@ -15685,6 +15712,7 @@ "os": [ "win32" ], + "peer": true, "engines": { "node": ">=18" } @@ -16072,9 +16100,6 @@ "arm" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -16089,9 +16114,6 @@ "arm" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -16106,9 +16128,6 @@ "arm64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -16123,9 +16142,6 @@ "arm64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -16140,9 +16156,6 @@ "loong64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -16157,9 +16170,6 @@ "loong64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -16174,9 +16184,6 @@ "ppc64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -16191,9 +16198,6 @@ "ppc64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -16208,9 +16212,6 @@ "riscv64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -16225,9 +16226,6 @@ "riscv64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -16242,9 +16240,6 @@ "s390x" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -16259,9 +16254,6 @@ "x64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -16276,9 +16268,6 @@ "x64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -17797,6 +17786,15 @@ "ajv": "^8.8.2" } }, + "node_modules/altcha": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/altcha/-/altcha-3.2.0.tgz", + "integrity": "sha512-wxOTBXigI5SeMjkpA4RhVZifTJr0HYCiVnbQHrvcg5u8XS+1hyKuDs1JE4XsaElpaIFtvmw2ami5dgseysr54w==", + "license": "MIT", + "dependencies": { + "hash-wasm": "^4.12.0" + } + }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -20245,6 +20243,12 @@ "node": ">=8" } }, + "node_modules/hash-wasm": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/hash-wasm/-/hash-wasm-4.12.0.tgz", + "integrity": "sha512-+/2B2rYLb48I/evdOIhP+K/DD2ca2fgBjp6O+GBEnCDk2e4rpeXIK8GvIyRPjTezgmWn9gmKwkQjjx6BtqDHVQ==", + "license": "MIT" + }, "node_modules/hasown": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", @@ -22372,6 +22376,12 @@ "node": ">=18" } }, + "node_modules/normalize-wheel": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/normalize-wheel/-/normalize-wheel-1.0.1.tgz", + "integrity": "sha512-1OnlAPZ3zgrk8B91HyRj+eVv+kS5u+Z0SCsak6Xil/kmgEia50ga7zfkumayonZrImffAxPU/5WcyGhzetHNPA==", + "license": "BSD-3-Clause" + }, "node_modules/nth-check": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", @@ -23350,6 +23360,19 @@ "react": "^19.2.7" } }, + "node_modules/react-easy-crop": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/react-easy-crop/-/react-easy-crop-6.2.2.tgz", + "integrity": "sha512-b0HOicSvLYoNk1yvZTwjH8sNjF5uD9xLtWrSDnv+fx1dXTbwd8bNLQaP6gjXw//A+tni9Mw5KDmPNOEjKF55NQ==", + "license": "MIT", + "dependencies": { + "normalize-wheel": "^1.0.1" + }, + "peerDependencies": { + "react": ">=16.4.0", + "react-dom": ">=16.4.0" + } + }, "node_modules/react-hook-form": { "version": "7.78.0", "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.78.0.tgz", diff --git a/package.json b/package.json index 1db166b0..610b183a 100644 --- a/package.json +++ b/package.json @@ -39,6 +39,7 @@ "@tanstack/react-query": "^5.0.0", "@tanstack/react-table": "^8.0.0", "@types/leaflet": "^1.9.21", + "altcha": "^3.2.0", "jalaali-js": "^1.2.8", "leaflet": "^1.9.4", "react": "^19.0.0", diff --git a/src/Auth/Controller/AuthController.php b/src/Auth/Controller/AuthController.php index b9be6879..56f79954 100644 --- a/src/Auth/Controller/AuthController.php +++ b/src/Auth/Controller/AuthController.php @@ -11,6 +11,7 @@ use App\Auth\Service\TokenService; use App\Clinic\Repository\ClinicRepository; use App\Doctor\Repository\DoctorRepository; use App\Secretary\Repository\DoctorSecretaryRepository; +use App\Shared\Captcha\CaptchaGuard; use App\Shared\Constant\ErrorCodes; use App\Shared\Controller\BaseController; use Doctrine\ORM\EntityManagerInterface; @@ -40,6 +41,7 @@ class AuthController extends BaseController private readonly UserActiveContextRepository $contextRepo, private readonly UserPasswordHasherInterface $hasher, private readonly EntityManagerInterface $em, + private readonly CaptchaGuard $captcha, ) {} /** @@ -140,6 +142,8 @@ class AuthController extends BaseController return $this->error(ErrorCodes::ERR_RATE_LIMIT_001, ErrorCodes::message(ErrorCodes::ERR_RATE_LIMIT_001), 429); } + $this->captcha->assertValid($request); + $data = json_decode($request->getContent(), true) ?? []; $mobile = trim($data['mobile'] ?? ''); $domain = isset($data['domain']) ? substr(trim((string) $data['domain']), 0, 253) : null; @@ -275,6 +279,8 @@ class AuthController extends BaseController #[Route('/api/v1/user/register', methods: ['POST'])] public function register(Request $request): JsonResponse { + $this->captcha->assertValid($request); + $data = json_decode($request->getContent(), true) ?? []; $grant = trim($data['grant'] ?? ''); $realName = trim($data['real_name'] ?? ''); @@ -375,6 +381,8 @@ class AuthController extends BaseController return $resp; } + $this->captcha->assertValid($request); + $data = json_decode($request->getContent(), true) ?? []; $grant = trim($data['grant'] ?? ''); @@ -399,6 +407,8 @@ class AuthController extends BaseController return $resp; } + $this->captcha->assertValid($request); + $data = json_decode($request->getContent(), true) ?? []; $grant = trim($data['grant'] ?? ''); $newPassword = trim($data['new_password'] ?? ''); diff --git a/src/Auth/Controller/PreRegistrationController.php b/src/Auth/Controller/PreRegistrationController.php index 805e8785..f9e8378d 100644 --- a/src/Auth/Controller/PreRegistrationController.php +++ b/src/Auth/Controller/PreRegistrationController.php @@ -10,6 +10,7 @@ use App\Clinic\Entity\Clinic; use App\Clinic\Repository\ClinicRepository; use App\Doctor\Entity\Doctor; use App\Doctor\Repository\DoctorRepository; +use App\Shared\Captcha\CaptchaGuard; use App\Shared\Constant\ErrorCodes; use App\Shared\Controller\BaseController; use App\Sms\Service\SmsService; @@ -35,11 +36,14 @@ class PreRegistrationController extends BaseController private readonly SmsService $sms, private readonly LoggerInterface $logger, private readonly string $appUrl, + private readonly CaptchaGuard $captcha, ) {} #[Route('/api/v1/pre-registration', methods: ['POST'])] public function submit(Request $request): JsonResponse { + $this->captcha->assertValid($request); + $data = json_decode($request->getContent(), true) ?? []; $type = trim($data['type'] ?? ''); $name = trim($data['name'] ?? ''); diff --git a/src/Shared/Captcha/AltchaService.php b/src/Shared/Captcha/AltchaService.php new file mode 100644 index 00000000..c8d417ad --- /dev/null +++ b/src/Shared/Captcha/AltchaService.php @@ -0,0 +1,92 @@ +altcha = new Altcha($this->hmacKey); + } + + public function enabled(): bool + { + return $this->enabled; + } + + /** + * Build a fresh signed challenge for the widget. + * + * @return array keys: algorithm, challenge, maxnumber, salt, signature + */ + public function createChallenge(): array + { + $challenge = $this->altcha->createChallenge(new ChallengeOptions( + maxNumber: $this->maxNumber, + expires: (new \DateTimeImmutable())->add(new \DateInterval('PT' . $this->expireSeconds . 'S')), + )); + + return [ + 'algorithm' => $challenge->algorithm, + 'challenge' => $challenge->challenge, + 'maxnumber' => $challenge->maxNumber, + 'salt' => $challenge->salt, + 'signature' => $challenge->signature, + ]; + } + + /** + * Verify a base64 solution payload sent by the client. + * Returns false on any invalid/expired/replayed payload. + */ + public function verifySolution(string $payloadBase64): bool + { + if ($payloadBase64 === '' || !$this->altcha->verifySolution($payloadBase64, true)) { + return false; + } + + return $this->consumeOnce($payloadBase64); + } + + /** + * Atomically burn the challenge signature so it can be used only once. + * Returns false if this signature has already been consumed. + */ + private function consumeOnce(string $payloadBase64): bool + { + $decoded = json_decode((string) base64_decode($payloadBase64, true), true); + $signature = is_array($decoded) ? ($decoded['signature'] ?? null) : null; + if (!is_string($signature) || $signature === '') { + return false; + } + + $item = $this->altchaPool->getItem('altcha_used_' . $signature); + if ($item->isHit()) { + return false; + } + + $item->set(true)->expiresAfter($this->expireSeconds); + $this->altchaPool->save($item); + + return true; + } +} diff --git a/src/Shared/Captcha/CaptchaController.php b/src/Shared/Captcha/CaptchaController.php new file mode 100644 index 00000000..7d0a11de --- /dev/null +++ b/src/Shared/Captcha/CaptchaController.php @@ -0,0 +1,25 @@ +altcha->createChallenge()); + } +} diff --git a/src/Shared/Captcha/CaptchaGuard.php b/src/Shared/Captcha/CaptchaGuard.php new file mode 100644 index 00000000..414db7c5 --- /dev/null +++ b/src/Shared/Captcha/CaptchaGuard.php @@ -0,0 +1,33 @@ +altcha->enabled()) { + return; + } + + $data = json_decode($request->getContent(), true); + $payload = is_array($data) ? (string) ($data['altcha'] ?? '') : ''; + + if (!$this->altcha->verifySolution($payload)) { + throw new AppException(ErrorCodes::ERR_CAPTCHA_001, null, 422, 'altcha'); + } + } +} diff --git a/src/Shared/Constant/ErrorCodes.php b/src/Shared/Constant/ErrorCodes.php index aeb41a6b..aed27753 100644 --- a/src/Shared/Constant/ErrorCodes.php +++ b/src/Shared/Constant/ErrorCodes.php @@ -72,6 +72,9 @@ class ErrorCodes // Rate Limit public const ERR_RATE_LIMIT_001 = 'ERR_RATE_LIMIT_001'; + // Captcha (ALTCHA) + public const ERR_CAPTCHA_001 = 'ERR_CAPTCHA_001'; + // Rating public const ERR_RATING_NOT_ELIGIBLE = 'ERR_RATING_NOT_ELIGIBLE'; @@ -126,6 +129,7 @@ class ErrorCodes self::ERR_SECRETARY_001 => 'پلن فعلی اجازه منشی بیشتر را نمی‌دهد', self::ERR_CONFLICT_001 => 'تداخل: منبع در حال استفاده است یا قبلاً تغییر کرده است', self::ERR_RATE_LIMIT_001 => 'درخواست‌های زیاد. لطفاً بعداً تلاش کنید', + self::ERR_CAPTCHA_001 => 'تأیید امنیتی ناموفق بود. لطفاً صفحه را رفرش کنید و دوباره تلاش کنید', self::ERR_STAFF_NOT_FOUND => 'پرسنل یافت نشد', self::ERR_SUBSCRIPTION_REQUIRED => 'این قابلیت نیاز به پنل Basic یا بالاتر دارد', self::ERR_TRIAL_ALREADY_USED => 'قبلاً از تریال استفاده کرده‌اید', diff --git a/tests/Shared/Captcha/AltchaServiceTest.php b/tests/Shared/Captcha/AltchaServiceTest.php new file mode 100644 index 00000000..de89a35d --- /dev/null +++ b/tests/Shared/Captcha/AltchaServiceTest.php @@ -0,0 +1,93 @@ +solveChallenge( + $challenge['challenge'], + $challenge['salt'], + Algorithm::SHA256, + (int) $challenge['maxnumber'], + ); + self::assertNotNull($solution, 'challenge must be solvable'); + + return base64_encode(json_encode([ + 'algorithm' => $challenge['algorithm'], + 'challenge' => $challenge['challenge'], + 'number' => $solution->number, + 'salt' => $challenge['salt'], + 'signature' => $challenge['signature'], + ])); + } + + public function testCreateChallengeShape(): void + { + $c = $this->service()->createChallenge(); + self::assertSame('SHA-256', $c['algorithm']); + self::assertArrayHasKey('challenge', $c); + self::assertArrayHasKey('salt', $c); + self::assertArrayHasKey('signature', $c); + self::assertSame(2000, $c['maxnumber']); + } + + public function testValidSolutionVerifies(): void + { + $svc = $this->service(); + $payload = $this->solvedPayload($svc->createChallenge()); + self::assertTrue($svc->verifySolution($payload)); + } + + public function testReplayIsRejected(): void + { + $svc = $this->service(); + $payload = $this->solvedPayload($svc->createChallenge()); + self::assertTrue($svc->verifySolution($payload), 'first use accepted'); + self::assertFalse($svc->verifySolution($payload), 'second use (replay) rejected'); + } + + public function testTamperedSignatureRejected(): void + { + $svc = $this->service(); + $challenge = $svc->createChallenge(); + $challenge['signature'] = str_repeat('0', strlen($challenge['signature'])); + self::assertFalse($svc->verifySolution($this->solvedPayload($challenge))); + } + + public function testEmptyAndGarbagePayloadsRejected(): void + { + $svc = $this->service(); + self::assertFalse($svc->verifySolution('')); + self::assertFalse($svc->verifySolution('not-base64-!@#')); + self::assertFalse($svc->verifySolution(base64_encode('{"foo":"bar"}'))); + } + + public function testEnabledFlag(): void + { + self::assertTrue($this->service(true)->enabled()); + self::assertFalse($this->service(false)->enabled()); + } +} diff --git a/tests/Shared/Captcha/CaptchaFlowTest.php b/tests/Shared/Captcha/CaptchaFlowTest.php new file mode 100644 index 00000000..38044cd2 --- /dev/null +++ b/tests/Shared/Captcha/CaptchaFlowTest.php @@ -0,0 +1,41 @@ +client->request('GET', '/api/v1/altcha/challenge'); + self::assertSame(200, $this->responseCode()); + + $body = json_decode($this->client->getResponse()->getContent(), true); + self::assertSame('SHA-256', $body['algorithm']); + foreach (['challenge', 'salt', 'signature', 'maxnumber'] as $key) { + self::assertArrayHasKey($key, $body); + } + } + + public function testPublicEndpointBypassesCaptchaWhenDisabled(): void + { + // ALTCHA_ENABLED is false in test → guard is a no-op, so send-code proceeds + // past the captcha check without an `altcha` field (fails later on validation only). + $this->client->request( + 'POST', + '/api/v1/user/send-code', + server: ['CONTENT_TYPE' => 'application/json'], + content: json_encode(['mobile' => '09123456789']), + ); + + // Not a 422 captcha rejection: either success or a non-captcha error. + $body = json_decode($this->client->getResponse()->getContent(), true) ?? []; + $code = $body['errors'][0]['code'] ?? null; + self::assertNotSame('ERR_CAPTCHA_001', $code); + } +} diff --git a/yarn.lock b/yarn.lock index d464a397..fac706ea 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12,6 +12,17 @@ resolved "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz" integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== +"@asamuzakjp/css-color@^3.2.0": + version "3.2.0" + resolved "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-3.2.0.tgz" + integrity sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw== + dependencies: + "@csstools/css-calc" "^2.1.3" + "@csstools/css-color-parser" "^3.0.9" + "@csstools/css-parser-algorithms" "^3.0.4" + "@csstools/css-tokenizer" "^3.0.3" + lru-cache "^10.4.3" + "@asamuzakjp/css-color@^5.1.11": version "5.1.11" resolved "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-5.1.11.tgz" @@ -58,7 +69,7 @@ resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.7.tgz" integrity sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg== -"@babel/core@^7.17.0", "@babel/core@^7.28.0": +"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.0.0-0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.12.0", "@babel/core@^7.12.0 || ^8.0.0-beta.1", "@babel/core@^7.13.0", "@babel/core@^7.17.0", "@babel/core@^7.28.0", "@babel/core@^7.4.0 || ^8.0.0-0 <8.0.0": version "7.29.7" resolved "https://registry.npmjs.org/@babel/core/-/core-7.29.7.tgz" integrity sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA== @@ -672,7 +683,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.29.7" -"@babel/plugin-transform-react-jsx@^7.29.7": +"@babel/plugin-transform-react-jsx@^7.12.11", "@babel/plugin-transform-react-jsx@^7.29.7": version "7.29.7" resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.29.7.tgz" integrity sha512-WsZulLVBUHXVj2cUcPVx6UE21TpalB6bHbSFErKT0Ib++ax24jjXe73FqlWvdylFOjiuPHYi6VCcgRad1ItN+A== @@ -877,7 +888,7 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/preset-react@^7.0.0": +"@babel/preset-react@^7.0.0", "@babel/preset-react@^7.9.0": version "7.29.7" resolved "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.29.7.tgz" integrity sha512-C+PV1TFUPTmBQGoPBL8j2QmLpZ117YTCwxIZeJOM96GbYMFSc7/pOXU5lVykwnZxyTqQxRsvoRk6f2FktZgGHA== @@ -951,6 +962,15 @@ "@ckeditor/ckeditor5-upload" "44.3.0" ckeditor5 "44.3.0" +"@ckeditor/ckeditor5-adapter-ckfinder@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-adapter-ckfinder/-/ckeditor5-adapter-ckfinder-48.2.0.tgz" + integrity sha512-CSXIUWc5/DHqJJL6L3WnjgFMKpHERmB3jpzrAIupdZLnPbg1H01Ki8yeWcghzfc4nm5fy9ZSfxT4okWFPWsEpA== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-upload" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@ckeditor/ckeditor5-alignment@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-alignment/-/ckeditor5-alignment-44.3.0.tgz" @@ -961,6 +981,17 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" +"@ckeditor/ckeditor5-alignment@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-alignment/-/ckeditor5-alignment-48.2.0.tgz" + integrity sha512-N6UL341Kq1UFhwJlmdZHJdoxoIxQJUoEcK+vEY6fafDzNO7jIVzkFr3BdgAIgOTuarerqt/gkQbs+oLHndvgsQ== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-icons" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@ckeditor/ckeditor5-autoformat@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-autoformat/-/ckeditor5-autoformat-44.3.0.tgz" @@ -973,6 +1004,17 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" +"@ckeditor/ckeditor5-autoformat@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-autoformat/-/ckeditor5-autoformat-48.2.0.tgz" + integrity sha512-KzJpfKSA+VtyaSR7asMOdM5Qz9iTUeRy5VMuXRahaQ1KWK4jgju0kJKlAgVyVCneO8Hs+44R7BEzz+nzxrhvlQ== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-heading" "48.2.0" + "@ckeditor/ckeditor5-typing" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@ckeditor/ckeditor5-autosave@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-autosave/-/ckeditor5-autosave-44.3.0.tgz" @@ -983,6 +1025,16 @@ ckeditor5 "44.3.0" lodash-es "4.17.21" +"@ckeditor/ckeditor5-autosave@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-autosave/-/ckeditor5-autosave-48.2.0.tgz" + integrity sha512-qTNEUlKWbfqDM67hUtzVw12czaAsBXS4oDluAtz7Gs7ap3C+3p0i+GnNZM6NC8u7vboymi6fqLlM5aaiyUU1jA== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + es-toolkit "1.45.1" + "@ckeditor/ckeditor5-basic-styles@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-basic-styles/-/ckeditor5-basic-styles-44.3.0.tgz" @@ -994,6 +1046,18 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" +"@ckeditor/ckeditor5-basic-styles@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-basic-styles/-/ckeditor5-basic-styles-48.2.0.tgz" + integrity sha512-ulOc3xhQNmVfXL5xaWiHjDv8H+5fYtZ3+UKXbUMB5mnzGUX0ICx0aY63idKJe5lNPvFFetJI+PlPps6EhclHbw== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-icons" "48.2.0" + "@ckeditor/ckeditor5-typing" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@ckeditor/ckeditor5-block-quote@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-block-quote/-/ckeditor5-block-quote-44.3.0.tgz" @@ -1006,6 +1070,19 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" +"@ckeditor/ckeditor5-block-quote@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-block-quote/-/ckeditor5-block-quote-48.2.0.tgz" + integrity sha512-cE4piVJA1Wruqz/jEGXJuI1IR9qzGAbb8F+bo0D/Jy2D9kSunJwHyeHQt4sQ2sFaude5AbW8n9DYyeS11LYDag== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-enter" "48.2.0" + "@ckeditor/ckeditor5-icons" "48.2.0" + "@ckeditor/ckeditor5-typing" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@ckeditor/ckeditor5-bookmark@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-bookmark/-/ckeditor5-bookmark-44.3.0.tgz" @@ -1018,6 +1095,20 @@ "@ckeditor/ckeditor5-widget" "44.3.0" ckeditor5 "44.3.0" +"@ckeditor/ckeditor5-bookmark@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-bookmark/-/ckeditor5-bookmark-48.2.0.tgz" + integrity sha512-st8EIDRjawJX4Iv93S0cXnZEW3tLyhye54bj0PvOuMWjNtbxoWDCwDPUkTTckrfTJJ1wY+FN17J+HkwoLJS1DA== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-icons" "48.2.0" + "@ckeditor/ckeditor5-link" "48.2.0" + "@ckeditor/ckeditor5-typing" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@ckeditor/ckeditor5-widget" "48.2.0" + "@ckeditor/ckeditor5-build-classic@^44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-build-classic/-/ckeditor5-build-classic-44.3.0.tgz" @@ -1060,6 +1151,23 @@ ckeditor5 "44.3.0" lodash-es "4.17.21" +"@ckeditor/ckeditor5-ckbox@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-ckbox/-/ckeditor5-ckbox-48.2.0.tgz" + integrity sha512-qttYjAJVjCdkFHMVRxgWgPzh+7Eppp0wo9I/wqHgT1+pBq/z1fWlzlyCNy1xlXbhMa4jJeA94OjmQvIF1OK87A== + dependencies: + "@ckeditor/ckeditor5-cloud-services" "48.2.0" + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-icons" "48.2.0" + "@ckeditor/ckeditor5-image" "48.2.0" + "@ckeditor/ckeditor5-link" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-upload" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + blurhash "2.0.5" + es-toolkit "1.45.1" + "@ckeditor/ckeditor5-ckfinder@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-ckfinder/-/ckeditor5-ckfinder-44.3.0.tgz" @@ -1071,6 +1179,19 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" +"@ckeditor/ckeditor5-ckfinder@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-ckfinder/-/ckeditor5-ckfinder-48.2.0.tgz" + integrity sha512-OnoYi8R1fI6KHMFQHMBXXajHHAQXVkVpRKMa2uTwS7BEzbcQhAJUJ6QI/JxH+mJ1EDdK2xDUiOb3fvPKbjeuvQ== + dependencies: + "@ckeditor/ckeditor5-adapter-ckfinder" "48.2.0" + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-icons" "48.2.0" + "@ckeditor/ckeditor5-image" "48.2.0" + "@ckeditor/ckeditor5-link" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@ckeditor/ckeditor5-clipboard@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-clipboard/-/ckeditor5-clipboard-44.3.0.tgz" @@ -1083,6 +1204,18 @@ "@ckeditor/ckeditor5-widget" "44.3.0" lodash-es "4.17.21" +"@ckeditor/ckeditor5-clipboard@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-clipboard/-/ckeditor5-clipboard-48.2.0.tgz" + integrity sha512-2xPSy1ib0NidKvxrjakvAfz8BPCpw5uxh4Azr2DEdEF+zBjlsdCk+nqlU3lO9/OiGROImq+hP2M6dcpS0CUTog== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@ckeditor/ckeditor5-widget" "48.2.0" + es-toolkit "1.45.1" + "@ckeditor/ckeditor5-cloud-services@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-cloud-services/-/ckeditor5-cloud-services-44.3.0.tgz" @@ -1092,6 +1225,15 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" +"@ckeditor/ckeditor5-cloud-services@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-cloud-services/-/ckeditor5-cloud-services-48.2.0.tgz" + integrity sha512-3PsW/6uv3ecYShuVAJcMBrdMIMyfWljrm5GkXmeW5E0MG5KacfIMRjuKqXP3DhacvuxBwpN0IKp1BgvwmWmPow== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-upload" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@ckeditor/ckeditor5-code-block@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-code-block/-/ckeditor5-code-block-44.3.0.tgz" @@ -1105,6 +1247,19 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" +"@ckeditor/ckeditor5-code-block@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-code-block/-/ckeditor5-code-block-48.2.0.tgz" + integrity sha512-49+8UKuZY0X4g91SkZS02+dHQ7bUSXnjWK8mENZOJ3RGxdeOw5SaxNtvMlaMvgQGRSGQOlzRBKO8+a3mOLoIVQ== + dependencies: + "@ckeditor/ckeditor5-clipboard" "48.2.0" + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-enter" "48.2.0" + "@ckeditor/ckeditor5-icons" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@ckeditor/ckeditor5-core@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-44.3.0.tgz" @@ -1116,6 +1271,17 @@ "@ckeditor/ckeditor5-watchdog" "44.3.0" lodash-es "4.17.21" +"@ckeditor/ckeditor5-core@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-48.2.0.tgz" + integrity sha512-ooTO/BxSF2hx4MKcihq4zFWiNOGO8bVN8fE2I/El6qdnHaTV+brZwd5Ge0ykxEpy7uydmqGNeeoywMnY4j2I/A== + dependencies: + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@ckeditor/ckeditor5-watchdog" "48.2.0" + es-toolkit "1.45.1" + "@ckeditor/ckeditor5-easy-image@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-easy-image/-/ckeditor5-easy-image-44.3.0.tgz" @@ -1127,6 +1293,17 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" +"@ckeditor/ckeditor5-easy-image@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-easy-image/-/ckeditor5-easy-image-48.2.0.tgz" + integrity sha512-jeC6seMQ3+LmodTzLsYXsvcFplSvJj+iJ+FMYHcm6HW1e4EyUsbl8IDLzNdiNsVEk8BTgwDioa22IpCBIdZodw== + dependencies: + "@ckeditor/ckeditor5-cloud-services" "48.2.0" + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-image" "48.2.0" + "@ckeditor/ckeditor5-upload" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@ckeditor/ckeditor5-editor-balloon@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-balloon/-/ckeditor5-editor-balloon-44.3.0.tgz" @@ -1139,6 +1316,17 @@ ckeditor5 "44.3.0" lodash-es "4.17.21" +"@ckeditor/ckeditor5-editor-balloon@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-balloon/-/ckeditor5-editor-balloon-48.2.0.tgz" + integrity sha512-hyONQSh6m4Yy+lgPzPbMh9mq7EjAXY+WcYyyVIdxbVTgZkd29aLEgJgJzHZrcfM52k1uGSGzxvLtv5JttKbpYw== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + es-toolkit "1.45.1" + "@ckeditor/ckeditor5-editor-classic@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-classic/-/ckeditor5-editor-classic-44.3.0.tgz" @@ -1151,6 +1339,17 @@ ckeditor5 "44.3.0" lodash-es "4.17.21" +"@ckeditor/ckeditor5-editor-classic@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-classic/-/ckeditor5-editor-classic-48.2.0.tgz" + integrity sha512-1QJ3/xUdIRNI5vfRSfLrS8QYru82cQ6/QAg0B42GzxGfVL8BJQW7UZsglrpDR2zwYuHyLQu7N4eZZXzDmb2ohQ== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + es-toolkit "1.45.1" + "@ckeditor/ckeditor5-editor-decoupled@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-decoupled/-/ckeditor5-editor-decoupled-44.3.0.tgz" @@ -1163,6 +1362,17 @@ ckeditor5 "44.3.0" lodash-es "4.17.21" +"@ckeditor/ckeditor5-editor-decoupled@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-decoupled/-/ckeditor5-editor-decoupled-48.2.0.tgz" + integrity sha512-kB6TBJjZKXsTi4PgMeRvQ7Ln8AsVCshq2onIwubzQO8hFKXJr8+Q1aIx3co+tXgF12gF0p8rK6+B4hIxd78+oQ== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + es-toolkit "1.45.1" + "@ckeditor/ckeditor5-editor-inline@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-inline/-/ckeditor5-editor-inline-44.3.0.tgz" @@ -1175,6 +1385,17 @@ ckeditor5 "44.3.0" lodash-es "4.17.21" +"@ckeditor/ckeditor5-editor-inline@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-inline/-/ckeditor5-editor-inline-48.2.0.tgz" + integrity sha512-z30QvsTlOc8maqQjHwEXJqGsLpb9wIz4ow/2BXw+B0uUadmBd56YAwQ2yYlvQFs5rbgdvP/5stN0epcqTHUHHw== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + es-toolkit "1.45.1" + "@ckeditor/ckeditor5-editor-multi-root@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-multi-root/-/ckeditor5-editor-multi-root-44.3.0.tgz" @@ -1187,6 +1408,17 @@ ckeditor5 "44.3.0" lodash-es "4.17.21" +"@ckeditor/ckeditor5-editor-multi-root@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-multi-root/-/ckeditor5-editor-multi-root-48.2.0.tgz" + integrity sha512-PkLK5OCanAZ3wjG5pR4bCfzH/UkKD0UTAOfgmOAt3+9ORXReiSQmt5p4npkDnpr60wQ/9dkAx+bCF5FhvM/RxA== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + es-toolkit "1.45.1" + "@ckeditor/ckeditor5-emoji@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-emoji/-/ckeditor5-emoji-44.3.0.tgz" @@ -1201,6 +1433,20 @@ fuzzysort "3.1.0" lodash-es "4.17.21" +"@ckeditor/ckeditor5-emoji@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-emoji/-/ckeditor5-emoji-48.2.0.tgz" + integrity sha512-CWhAfLcpq48PrjWh9M84jmigwDlV2aFwgR9h9Djv7FVvV7LPBWkaU2JrSKxn7KMcVn7Rtjmje9j51VmPh772tQ== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-icons" "48.2.0" + "@ckeditor/ckeditor5-mention" "48.2.0" + "@ckeditor/ckeditor5-typing" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + es-toolkit "1.45.1" + fuzzysort "3.1.0" + "@ckeditor/ckeditor5-engine@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-44.3.0.tgz" @@ -1209,6 +1455,14 @@ "@ckeditor/ckeditor5-utils" "44.3.0" lodash-es "4.17.21" +"@ckeditor/ckeditor5-engine@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-48.2.0.tgz" + integrity sha512-80ku17bnA+U8JHrTMPMSyDZY0B9RRogfGqEw8hYhOHj6N96sbMNXQyvnnSh/szwPyAIDo2cTgbOlKkqUNn+4rA== + dependencies: + "@ckeditor/ckeditor5-utils" "48.2.0" + es-toolkit "1.45.1" + "@ckeditor/ckeditor5-enter@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-enter/-/ckeditor5-enter-44.3.0.tgz" @@ -1218,6 +1472,15 @@ "@ckeditor/ckeditor5-engine" "44.3.0" "@ckeditor/ckeditor5-utils" "44.3.0" +"@ckeditor/ckeditor5-enter@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-enter/-/ckeditor5-enter-48.2.0.tgz" + integrity sha512-YZGbLDDyIzRMmITlEsVNmFhyTSFg4ZLQfQf70YnPOIXu38rnHrCS3cKPA+IYedc7pwdLHNA3zvSlGh8F30+V3w== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@ckeditor/ckeditor5-essentials@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-essentials/-/ckeditor5-essentials-44.3.0.tgz" @@ -1232,6 +1495,19 @@ "@ckeditor/ckeditor5-undo" "44.3.0" ckeditor5 "44.3.0" +"@ckeditor/ckeditor5-essentials@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-essentials/-/ckeditor5-essentials-48.2.0.tgz" + integrity sha512-ZWA+RvckTsjnajg7p9FE3Q4RoEqKuQClLoHB+SiLCmCN0grFp4K+msLk2h8n4Wrr1gzTO61Fs0VpFjLd8pN8nA== + dependencies: + "@ckeditor/ckeditor5-clipboard" "48.2.0" + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-enter" "48.2.0" + "@ckeditor/ckeditor5-select-all" "48.2.0" + "@ckeditor/ckeditor5-typing" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-undo" "48.2.0" + "@ckeditor/ckeditor5-find-and-replace@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-find-and-replace/-/ckeditor5-find-and-replace-44.3.0.tgz" @@ -1243,6 +1519,18 @@ ckeditor5 "44.3.0" lodash-es "4.17.21" +"@ckeditor/ckeditor5-find-and-replace@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-find-and-replace/-/ckeditor5-find-and-replace-48.2.0.tgz" + integrity sha512-TcmhZ2Z8gq8PT9BVhI//2G6g4dBESznJ5LzniGR9m5w/dNPxUo+Qf4Aipp7u68nFYtevJAckMLSKF9EpYhmDQw== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-icons" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + es-toolkit "1.45.1" + "@ckeditor/ckeditor5-font@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-font/-/ckeditor5-font-44.3.0.tgz" @@ -1254,6 +1542,29 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" +"@ckeditor/ckeditor5-font@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-font/-/ckeditor5-font-48.2.0.tgz" + integrity sha512-YB8/u4gOktKwHfxHGM+b+PM464JY1JwY32/TDd4GV7ptg3dRxK7pbLglSR9FjxISMg1fC7t+noMZJ4G/ni6zQg== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-icons" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + +"@ckeditor/ckeditor5-fullscreen@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-fullscreen/-/ckeditor5-fullscreen-48.2.0.tgz" + integrity sha512-34dTisns5muLJzwpIpLy5FWnqLEKyBKp7X9F6zHR0lEIWv8x0jSfVGNsLsGHWQh7QIkPMWwx8HhsJJwQOOwB0w== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-editor-classic" "48.2.0" + "@ckeditor/ckeditor5-editor-decoupled" "48.2.0" + "@ckeditor/ckeditor5-icons" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@ckeditor/ckeditor5-heading@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-heading/-/ckeditor5-heading-44.3.0.tgz" @@ -1266,6 +1577,19 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" +"@ckeditor/ckeditor5-heading@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-heading/-/ckeditor5-heading-48.2.0.tgz" + integrity sha512-KCtnFyTIwTPq5Sq6HqjS4qmLtSvN0CC7IvE5ER6Mqu8gusmbjdwU2hKyCKrOwnasgmenUxL4ZlIG0C3yrylDKA== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-enter" "48.2.0" + "@ckeditor/ckeditor5-icons" "48.2.0" + "@ckeditor/ckeditor5-paragraph" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@ckeditor/ckeditor5-highlight@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-highlight/-/ckeditor5-highlight-44.3.0.tgz" @@ -1276,6 +1600,17 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" +"@ckeditor/ckeditor5-highlight@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-highlight/-/ckeditor5-highlight-48.2.0.tgz" + integrity sha512-kDnyioMZVxq+QuFu8mFIG4pPQLobjwfenrDfWbdhfBdX9w45SzomT4qQJGC+PXhX31+IjuLiwtKzoR9hRz6W6A== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-icons" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@ckeditor/ckeditor5-horizontal-line@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-horizontal-line/-/ckeditor5-horizontal-line-44.3.0.tgz" @@ -1287,6 +1622,18 @@ "@ckeditor/ckeditor5-widget" "44.3.0" ckeditor5 "44.3.0" +"@ckeditor/ckeditor5-horizontal-line@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-horizontal-line/-/ckeditor5-horizontal-line-48.2.0.tgz" + integrity sha512-EHOS2ynz+LO5xd8rBCtyOL1OfywjttMRWUiIU7Bj9/2wBNWcxHFURpNRpJtSKioYszyAfBZmU+dPWpFXONMFZw== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-icons" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@ckeditor/ckeditor5-widget" "48.2.0" + "@ckeditor/ckeditor5-html-embed@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-html-embed/-/ckeditor5-html-embed-44.3.0.tgz" @@ -1298,6 +1645,18 @@ "@ckeditor/ckeditor5-widget" "44.3.0" ckeditor5 "44.3.0" +"@ckeditor/ckeditor5-html-embed@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-html-embed/-/ckeditor5-html-embed-48.2.0.tgz" + integrity sha512-KT/Bj8S6ZGmoxDBHRzdlKRlQWNHPRtMU7T0wPtX6idVcK97ZaINRY6qfGuxJLKBNiymzaiWlc6wsN7NdIAp5Vg== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-icons" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@ckeditor/ckeditor5-widget" "48.2.0" + "@ckeditor/ckeditor5-html-support@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-html-support/-/ckeditor5-html-support-44.3.0.tgz" @@ -1315,6 +1674,29 @@ ckeditor5 "44.3.0" lodash-es "4.17.21" +"@ckeditor/ckeditor5-html-support@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-html-support/-/ckeditor5-html-support-48.2.0.tgz" + integrity sha512-fjGj6abXEOXzUnOIkP0hdnNMxhKlnP+UdrtWep3cNy9YnXCNypBGnhqAE/jfI+Q17DsEajnxNfLwiH1OTZ4B+A== + dependencies: + "@ckeditor/ckeditor5-clipboard" "48.2.0" + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-enter" "48.2.0" + "@ckeditor/ckeditor5-heading" "48.2.0" + "@ckeditor/ckeditor5-image" "48.2.0" + "@ckeditor/ckeditor5-list" "48.2.0" + "@ckeditor/ckeditor5-remove-format" "48.2.0" + "@ckeditor/ckeditor5-table" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@ckeditor/ckeditor5-widget" "48.2.0" + es-toolkit "1.45.1" + +"@ckeditor/ckeditor5-icons@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-icons/-/ckeditor5-icons-48.2.0.tgz" + integrity sha512-w5WVrweq8iaXhf7msnZ9b9GtlGSM1jQe6jvezVs+X4OkZd+QMkkQ+ROPp1TZniXLUKx3+Q872KUPxsl9FBSMMg== + "@ckeditor/ckeditor5-image@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-image/-/ckeditor5-image-44.3.0.tgz" @@ -1332,6 +1714,23 @@ ckeditor5 "44.3.0" lodash-es "4.17.21" +"@ckeditor/ckeditor5-image@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-image/-/ckeditor5-image-48.2.0.tgz" + integrity sha512-rbl6MRlNjotA+LhXroksLhspDxIiwRTeciY/B1OShMzjNIFc07pY691uIM/roJzu+L84TLQfejC3SdzY2xufXg== + dependencies: + "@ckeditor/ckeditor5-clipboard" "48.2.0" + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-icons" "48.2.0" + "@ckeditor/ckeditor5-typing" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-undo" "48.2.0" + "@ckeditor/ckeditor5-upload" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@ckeditor/ckeditor5-widget" "48.2.0" + es-toolkit "1.45.1" + "@ckeditor/ckeditor5-indent@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-indent/-/ckeditor5-indent-44.3.0.tgz" @@ -1345,6 +1744,19 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" +"@ckeditor/ckeditor5-indent@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-indent/-/ckeditor5-indent-48.2.0.tgz" + integrity sha512-Nwu0HqLzpHdqOpKHNjk4KDcGGS3BwAELjH2piIDQsc3HkHQRfmfi25KlTk/gfbnwBebTvKfPyy/1opD69aJxBA== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-heading" "48.2.0" + "@ckeditor/ckeditor5-icons" "48.2.0" + "@ckeditor/ckeditor5-list" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@ckeditor/ckeditor5-integrations-common@^2.4.0": version "2.4.1" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-integrations-common/-/ckeditor5-integrations-common-2.4.1.tgz" @@ -1360,6 +1772,16 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" +"@ckeditor/ckeditor5-language@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-language/-/ckeditor5-language-48.2.0.tgz" + integrity sha512-XnzCyoiB+pIpFTQInmo9jgHfR/8UBLdVFO2mLMfwdSpWI0iJRwtMzTZx2dEikebGX1/6PIJAiWFBDb/dzYeSqQ== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@ckeditor/ckeditor5-link@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-link/-/ckeditor5-link-44.3.0.tgz" @@ -1377,6 +1799,23 @@ ckeditor5 "44.3.0" lodash-es "4.17.21" +"@ckeditor/ckeditor5-link@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-link/-/ckeditor5-link-48.2.0.tgz" + integrity sha512-kwENWSQdFIjyioIftXgXNxXts2UMcN95iG50P5LM8dNDkWES76KuFrPb7r3ihdTKCnZN6gJjTFxi3HHehhWEQg== + dependencies: + "@ckeditor/ckeditor5-clipboard" "48.2.0" + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-enter" "48.2.0" + "@ckeditor/ckeditor5-icons" "48.2.0" + "@ckeditor/ckeditor5-image" "48.2.0" + "@ckeditor/ckeditor5-typing" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@ckeditor/ckeditor5-widget" "48.2.0" + es-toolkit "1.45.1" + "@ckeditor/ckeditor5-list@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-list/-/ckeditor5-list-44.3.0.tgz" @@ -1391,6 +1830,22 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" +"@ckeditor/ckeditor5-list@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-list/-/ckeditor5-list-48.2.0.tgz" + integrity sha512-i5PwMQ26w3o+AoH7ouChmLBa4wIenlPy9QHKsh2mSZz0qZl8fbTf6lU+LPCI4wIUt2qHUPya/SUkFIz3+8bXOA== + dependencies: + "@ckeditor/ckeditor5-clipboard" "48.2.0" + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-enter" "48.2.0" + "@ckeditor/ckeditor5-font" "48.2.0" + "@ckeditor/ckeditor5-icons" "48.2.0" + "@ckeditor/ckeditor5-typing" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + es-toolkit "1.45.1" + "@ckeditor/ckeditor5-markdown-gfm@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-markdown-gfm/-/ckeditor5-markdown-gfm-44.3.0.tgz" @@ -1406,6 +1861,30 @@ turndown "7.2.0" turndown-plugin-gfm "1.0.2" +"@ckeditor/ckeditor5-markdown-gfm@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-markdown-gfm/-/ckeditor5-markdown-gfm-48.2.0.tgz" + integrity sha512-XD8+taDeUH7WBKyQuwk421j70uUg8gIBO5hUYzwoEhuTWzkZEe9hfATh4qKE9iDYkHA3HXVHtcHXr9L001Qakw== + dependencies: + "@ckeditor/ckeditor5-clipboard" "48.2.0" + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@types/hast" "3.0.4" + hast-util-from-dom "5.0.1" + hast-util-to-html "9.0.5" + hast-util-to-mdast "10.1.2" + hastscript "9.0.1" + rehype-dom-parse "5.0.2" + rehype-dom-stringify "4.0.2" + rehype-remark "10.0.1" + remark-breaks "4.0.0" + remark-gfm "4.0.1" + remark-parse "11.0.0" + remark-rehype "11.1.2" + remark-stringify "11.0.0" + unified "11.0.5" + unist-util-visit "5.0.0" + "@ckeditor/ckeditor5-media-embed@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-media-embed/-/ckeditor5-media-embed-44.3.0.tgz" @@ -1421,6 +1900,21 @@ "@ckeditor/ckeditor5-widget" "44.3.0" ckeditor5 "44.3.0" +"@ckeditor/ckeditor5-media-embed@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-media-embed/-/ckeditor5-media-embed-48.2.0.tgz" + integrity sha512-uM1FhPw/jj/xr+RabIMaXHvcHnLUUFEWlPWx5wE7RWW2lucKt0mJ5xAMUo6TqATKuavKrVX3fL98/Cbv+Y6bpg== + dependencies: + "@ckeditor/ckeditor5-clipboard" "48.2.0" + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-icons" "48.2.0" + "@ckeditor/ckeditor5-typing" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-undo" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@ckeditor/ckeditor5-widget" "48.2.0" + "@ckeditor/ckeditor5-mention@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-mention/-/ckeditor5-mention-44.3.0.tgz" @@ -1433,6 +1927,18 @@ ckeditor5 "44.3.0" lodash-es "4.17.21" +"@ckeditor/ckeditor5-mention@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-mention/-/ckeditor5-mention-48.2.0.tgz" + integrity sha512-826BaVDvvkZT/qb7UTwpzLkoKuBFfBd9UQDJg1+iwppTbIl9XmwFW1SVcpOQNwv4eH8aZqEylMEJk+DoSalEoA== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-typing" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + es-toolkit "1.45.1" + "@ckeditor/ckeditor5-minimap@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-minimap/-/ckeditor5-minimap-44.3.0.tgz" @@ -1444,6 +1950,16 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" +"@ckeditor/ckeditor5-minimap@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-minimap/-/ckeditor5-minimap-48.2.0.tgz" + integrity sha512-BrqFY9XpHdxqeswY/NWYlcmYTy/LshUFGHADvMCmyjbRMd78ws1cMiP21oxy18Z6LvkL/IsiC9g1tk4G1hB5zQ== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@ckeditor/ckeditor5-page-break@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-page-break/-/ckeditor5-page-break-44.3.0.tgz" @@ -1455,6 +1971,18 @@ "@ckeditor/ckeditor5-widget" "44.3.0" ckeditor5 "44.3.0" +"@ckeditor/ckeditor5-page-break@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-page-break/-/ckeditor5-page-break-48.2.0.tgz" + integrity sha512-cddeD4R9c5soyZ0Y218i/t373qDiYgfvdW4Sm8KgpEj90kDx2Hy1OlZB29BXYg7a7rIujIZsXsHZcVHPHaOxzA== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-icons" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@ckeditor/ckeditor5-widget" "48.2.0" + "@ckeditor/ckeditor5-paragraph@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-paragraph/-/ckeditor5-paragraph-44.3.0.tgz" @@ -1465,6 +1993,17 @@ "@ckeditor/ckeditor5-ui" "44.3.0" "@ckeditor/ckeditor5-utils" "44.3.0" +"@ckeditor/ckeditor5-paragraph@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-paragraph/-/ckeditor5-paragraph-48.2.0.tgz" + integrity sha512-vo8xor5aAzRelxpQt0ZghjpYi2N5Hy2iAtyU1scMlgxGEJzX85b2qN+xN/lKVQUbEzvHFqQHaATjSiuMGDG8ZA== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-icons" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@ckeditor/ckeditor5-paste-from-office@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-paste-from-office/-/ckeditor5-paste-from-office-44.3.0.tgz" @@ -1475,6 +2014,16 @@ "@ckeditor/ckeditor5-engine" "44.3.0" ckeditor5 "44.3.0" +"@ckeditor/ckeditor5-paste-from-office@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-paste-from-office/-/ckeditor5-paste-from-office-48.2.0.tgz" + integrity sha512-8T1/DS3iXJOE4xseTAOBsHqTrRqQB4axGaXW11Mrfw3IVdMwfJV9N/4Yeja+AovPkgOyGLluTxxcpyNCMXITMQ== + dependencies: + "@ckeditor/ckeditor5-clipboard" "48.2.0" + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@ckeditor/ckeditor5-react@^11.2.0": version "11.2.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-react/-/ckeditor5-react-11.2.0.tgz" @@ -1492,6 +2041,17 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" +"@ckeditor/ckeditor5-remove-format@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-remove-format/-/ckeditor5-remove-format-48.2.0.tgz" + integrity sha512-dPwkXs3E0ckisv0YZHcLKjyk2hOO/ZUq4AcOxW6BgfsVRAiXMicuYmQRjNPGussb80+54ZEaYS++f72SDRc4XA== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-icons" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@ckeditor/ckeditor5-restricted-editing@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-restricted-editing/-/ckeditor5-restricted-editing-44.3.0.tgz" @@ -1503,6 +2063,19 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" +"@ckeditor/ckeditor5-restricted-editing@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-restricted-editing/-/ckeditor5-restricted-editing-48.2.0.tgz" + integrity sha512-l1Q1/y4zseqHhTTG/VsgSPIQ17WW6TrpUOk2W6w/kvmiuD3L0WuClQ+YJ9SNKItMeO0Rp5DbzKfH6daI9DAXRA== + dependencies: + "@ckeditor/ckeditor5-clipboard" "48.2.0" + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-icons" "48.2.0" + "@ckeditor/ckeditor5-typing" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@ckeditor/ckeditor5-select-all@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-select-all/-/ckeditor5-select-all-44.3.0.tgz" @@ -1513,6 +2086,17 @@ "@ckeditor/ckeditor5-ui" "44.3.0" "@ckeditor/ckeditor5-utils" "44.3.0" +"@ckeditor/ckeditor5-select-all@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-select-all/-/ckeditor5-select-all-48.2.0.tgz" + integrity sha512-HFC8lPT/bT71uUHqvEwoLFwKu3UnsXXOghh1XIcTgILnRjDWHEY3ttSrpGTsQxlRjmSb6IPxf1hkj+RHmqv5zg== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-icons" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@ckeditor/ckeditor5-show-blocks@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-show-blocks/-/ckeditor5-show-blocks-44.3.0.tgz" @@ -1523,6 +2107,17 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" +"@ckeditor/ckeditor5-show-blocks@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-show-blocks/-/ckeditor5-show-blocks-48.2.0.tgz" + integrity sha512-ty0Hg0YYQOrbvpWoCyw63x/vfWURhAzbqyZyG733A3NF+LDmONgxDW1LVhvb7T2hhnvhUGwYsFRLN4P65tTCaA== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-icons" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@ckeditor/ckeditor5-source-editing@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-source-editing/-/ckeditor5-source-editing-44.3.0.tgz" @@ -1534,6 +2129,16 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" +"@ckeditor/ckeditor5-source-editing@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-source-editing/-/ckeditor5-source-editing-48.2.0.tgz" + integrity sha512-TIXQDtsBHhh3+7Z6e5CEgBJ7T1gYY3+mp8FiaSUzzKLZEqq0QQVERBoNx1ojG9uWmVn9wctjF/vAlnY0xs0doA== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-icons" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@ckeditor/ckeditor5-special-characters@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-special-characters/-/ckeditor5-special-characters-44.3.0.tgz" @@ -1545,6 +2150,17 @@ "@ckeditor/ckeditor5-utils" "44.3.0" ckeditor5 "44.3.0" +"@ckeditor/ckeditor5-special-characters@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-special-characters/-/ckeditor5-special-characters-48.2.0.tgz" + integrity sha512-jvydvV/3+UqOabg/wcZZYaP5q36aPk+NEBqF0nTsR0oIPGxlaw8ihbXsdcF8UX8+kkkXU/awr+Uowiay8hs2AA== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-icons" "48.2.0" + "@ckeditor/ckeditor5-typing" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@ckeditor/ckeditor5-style@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-style/-/ckeditor5-style-44.3.0.tgz" @@ -1560,6 +2176,21 @@ ckeditor5 "44.3.0" lodash-es "4.17.21" +"@ckeditor/ckeditor5-style@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-style/-/ckeditor5-style-48.2.0.tgz" + integrity sha512-N0RJNPrP8NcCvPLKCAYeaJSnx4qg+cZL9u9hvYtdnI0NITUYdhgVCurZqOjubw9CQrfUYAVkka40M1Q2/0eUOg== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-html-support" "48.2.0" + "@ckeditor/ckeditor5-list" "48.2.0" + "@ckeditor/ckeditor5-table" "48.2.0" + "@ckeditor/ckeditor5-typing" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + es-toolkit "1.45.1" + "@ckeditor/ckeditor5-table@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-table/-/ckeditor5-table-44.3.0.tgz" @@ -1574,6 +2205,21 @@ ckeditor5 "44.3.0" lodash-es "4.17.21" +"@ckeditor/ckeditor5-table@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-table/-/ckeditor5-table-48.2.0.tgz" + integrity sha512-YsqUdqGQiY+StFWTYKtWzqkuUgR970czEe8tJabPzh46fgvHEGxATPqHVnHq6Y5Fmx7TL+df+CvLTyElYAFmsQ== + dependencies: + "@ckeditor/ckeditor5-clipboard" "48.2.0" + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-icons" "48.2.0" + "@ckeditor/ckeditor5-typing" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@ckeditor/ckeditor5-widget" "48.2.0" + es-toolkit "1.45.1" + "@ckeditor/ckeditor5-theme-lark@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-theme-lark/-/ckeditor5-theme-lark-44.3.0.tgz" @@ -1591,6 +2237,16 @@ "@ckeditor/ckeditor5-utils" "44.3.0" lodash-es "4.17.21" +"@ckeditor/ckeditor5-typing@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-48.2.0.tgz" + integrity sha512-aYigcMZn3Ae9qfEDcy6Wg+W0xjw9Z+nT9Iryl8JIqyLTCbLW7eOrLy2aXWmoHvcegFfAtTLaIigRT8j4ZQm3SQ== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + es-toolkit "1.45.1" + "@ckeditor/ckeditor5-ui@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-44.3.0.tgz" @@ -1606,6 +2262,22 @@ lodash-es "4.17.21" vanilla-colorful "0.7.2" +"@ckeditor/ckeditor5-ui@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-48.2.0.tgz" + integrity sha512-J43uo8TPR5awC8fw7CBlgx+tXGiyD2kuomELEJeaeoOw26ADEpLfnYZKlB1mb+VKnXJ43IHuqv/6GFF1hPKhpg== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-editor-multi-root" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-icons" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@types/color-convert" "2.0.4" + color-convert "3.1.0" + color-parse "2.0.2" + es-toolkit "1.45.1" + vanilla-colorful "0.7.2" + "@ckeditor/ckeditor5-undo@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-undo/-/ckeditor5-undo-44.3.0.tgz" @@ -1616,6 +2288,17 @@ "@ckeditor/ckeditor5-ui" "44.3.0" "@ckeditor/ckeditor5-utils" "44.3.0" +"@ckeditor/ckeditor5-undo@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-undo/-/ckeditor5-undo-48.2.0.tgz" + integrity sha512-nWGPcFI9K/Pl1UhErAHN3HZRucU3FuK9ECyufc+640I5UWdFwCDMEdij+lfdegEIwvN2T3tZE52f1BnL83wdzQ== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-icons" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@ckeditor/ckeditor5-upload@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-upload/-/ckeditor5-upload-44.3.0.tgz" @@ -1624,6 +2307,14 @@ "@ckeditor/ckeditor5-core" "44.3.0" "@ckeditor/ckeditor5-utils" "44.3.0" +"@ckeditor/ckeditor5-upload@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-upload/-/ckeditor5-upload-48.2.0.tgz" + integrity sha512-sY/wuaBypDxQknplKI90zhtiY0VnpSB07zvHw2ednU3QjxnTLXYsEEENuEswLd9tWwuQ1v5qvqKRM5LFuiaKZg== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@ckeditor/ckeditor5-utils@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-44.3.0.tgz" @@ -1633,6 +2324,14 @@ "@types/lodash-es" "4.17.12" lodash-es "4.17.21" +"@ckeditor/ckeditor5-utils@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-48.2.0.tgz" + integrity sha512-htCvovEGW2MCKnnX8T0jwoxGqsLiwBp8wg65sr5nXx8i+B9IUAHZlnIK1VNE8g1ZLl1qhoaQTpbQTL12W5sTTw== + dependencies: + "@ckeditor/ckeditor5-ui" "48.2.0" + es-toolkit "1.45.1" + "@ckeditor/ckeditor5-watchdog@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-watchdog/-/ckeditor5-watchdog-44.3.0.tgz" @@ -1644,6 +2343,16 @@ "@ckeditor/ckeditor5-utils" "44.3.0" lodash-es "4.17.21" +"@ckeditor/ckeditor5-watchdog@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-watchdog/-/ckeditor5-watchdog-48.2.0.tgz" + integrity sha512-o8i6a20WzgxGOqk2ZYgithtDyfVjNog7I/NECsDFyEU1u8hkrO/IdYblUOEFQgT8QySIcUBKiV+5fA8wZSv+XA== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + es-toolkit "1.45.1" + "@ckeditor/ckeditor5-widget@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-widget/-/ckeditor5-widget-44.3.0.tgz" @@ -1657,6 +2366,20 @@ "@ckeditor/ckeditor5-utils" "44.3.0" lodash-es "4.17.21" +"@ckeditor/ckeditor5-widget@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-widget/-/ckeditor5-widget-48.2.0.tgz" + integrity sha512-O8V7juKYJ6muzeRw1dm+o3jQ75PG6Tm582XFegIFMnAA+j1iXb2fEaw2Mvb07uGC9x8Xpaz63b2sSYC1EheJ6A== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-enter" "48.2.0" + "@ckeditor/ckeditor5-icons" "48.2.0" + "@ckeditor/ckeditor5-typing" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + es-toolkit "1.45.1" + "@ckeditor/ckeditor5-word-count@44.3.0": version "44.3.0" resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-word-count/-/ckeditor5-word-count-44.3.0.tgz" @@ -1668,21 +2391,50 @@ ckeditor5 "44.3.0" lodash-es "4.17.21" +"@ckeditor/ckeditor5-word-count@48.2.0": + version "48.2.0" + resolved "https://registry.npmjs.org/@ckeditor/ckeditor5-word-count/-/ckeditor5-word-count-48.2.0.tgz" + integrity sha512-CzXyNmkd2nqo9TR+JeQQWPXSh8sP3akqaKy5OUMlDee7l849heOn+q6mMesqzWxySdq51cy/YgfHOJnfWuv2eA== + dependencies: + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + es-toolkit "1.45.1" + "@colordx/core@^5.4.3": version "5.4.3" resolved "https://registry.npmjs.org/@colordx/core/-/core-5.4.3.tgz" integrity sha512-kIxYSfA5T8HXjav55UaaH/o/cKivF6jCCGIb8eqtcsfI46wsvlSiT8jMDyrl779qLec3c2c2oHBZo4oAhvbjrQ== +"@csstools/color-helpers@^5.1.0": + 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== + "@csstools/color-helpers@^6.1.0": version "6.1.0" resolved "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-6.1.0.tgz" integrity sha512-064IFJdjTfUqnjpCVpMOdbr8FLQBhinbZj6yRv2An2E41O/pLEXqfFRWqGq/SxlE5PEUYTlvWsG2r8MswAVvkg== +"@csstools/css-calc@^2.1.3", "@csstools/css-calc@^2.1.4": + version "2.1.4" + resolved "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.4.tgz" + integrity sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ== + "@csstools/css-calc@^3.2.0", "@csstools/css-calc@^3.2.1": version "3.2.1" resolved "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-3.2.1.tgz" integrity sha512-DtdHlgXh5ZkA43cwBcAm+huzgJiwx3ZTWVjBs94kwz2xKqSimDA3lBgCjphYgwgVUMWatSM0pDd8TILB1yrVVg== +"@csstools/css-color-parser@^3.0.9": + 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== + dependencies: + "@csstools/color-helpers" "^5.1.0" + "@csstools/css-calc" "^2.1.4" + "@csstools/css-color-parser@^4.1.0", "@csstools/css-color-parser@^4.1.9": version "4.1.9" resolved "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-4.1.9.tgz" @@ -1691,6 +2443,11 @@ "@csstools/color-helpers" "^6.1.0" "@csstools/css-calc" "^3.2.1" +"@csstools/css-parser-algorithms@^3.0.4", "@csstools/css-parser-algorithms@^3.0.5": + 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== + "@csstools/css-parser-algorithms@^4.0.0": version "4.0.0" resolved "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-4.0.0.tgz" @@ -1701,6 +2458,11 @@ resolved "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.6.tgz" integrity sha512-TcJCWFbXLPpJYq6z7bfOyjWYJDiDg2/I4gyUC9pqPNqHFRIey0EB0q0L5cSnQDfWJg8Jd6VadakxdIez/3zkqQ== +"@csstools/css-tokenizer@^3.0.3", "@csstools/css-tokenizer@^3.0.4": + version "3.0.4" + resolved "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz" + integrity sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw== + "@csstools/css-tokenizer@^4.0.0": version "4.0.0" resolved "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-4.0.0.tgz" @@ -1734,28 +2496,6 @@ resolved "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.6.3.tgz" integrity sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ== -"@emnapi/core@^1.10.0": - version "1.11.2" - resolved "https://registry.yarnpkg.com/@emnapi/core/-/core-1.11.2.tgz#fab0a0f3c492d11f5a9ac9065d0d73955ee1c1c9" - integrity sha512-TC8MkTuZUtcTSiFeuC0ksCh9QIJ5+F21MvZ4Wn4ORfYaFJ/0dsiudv5tVkejgwZlwQ39jL9WWDe2lz8x0WglOA== - dependencies: - "@emnapi/wasi-threads" "1.2.2" - tslib "^2.4.0" - -"@emnapi/runtime@^1.10.0": - version "1.11.2" - resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.11.2.tgz#eb22f04d76febfdf4f87fdaff54c8a53f6bf0dbd" - integrity sha512-kyOl3X0DuTiT1h2ft8r2fYO8JYtU9a9Xis/zBSiGArNaagCOWx90N1k2wxp18czFDH+OgcWGb5ZP/XMt3dcyPA== - dependencies: - tslib "^2.4.0" - -"@emnapi/wasi-threads@1.2.2", "@emnapi/wasi-threads@^1.2.1": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@emnapi/wasi-threads/-/wasi-threads-1.2.2.tgz#4c93becf5bfa3b13d1bbdcc06aee38321ad8139a" - integrity sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA== - dependencies: - tslib "^2.4.0" - "@emotion/babel-plugin@^11.13.5": version "11.13.5" resolved "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz" @@ -1844,120 +2584,15 @@ resolved "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz" integrity sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg== -"@esbuild/aix-ppc64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz#c7184a326533fcdf1b8ee0733e21c713b975575f" - integrity sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ== - -"@esbuild/android-arm64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz#09d9b4357780da9ea3a7dfb833a1f1ff439b4052" - integrity sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A== - -"@esbuild/android-arm@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.21.5.tgz#9b04384fb771926dfa6d7ad04324ecb2ab9b2e28" - integrity sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg== - -"@esbuild/android-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.21.5.tgz#29918ec2db754cedcb6c1b04de8cd6547af6461e" - integrity sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA== - "@esbuild/darwin-arm64@0.21.5": version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz#e495b539660e51690f3928af50a76fb0a6ccff2a" + resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz" integrity sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ== -"@esbuild/darwin-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz#c13838fa57372839abdddc91d71542ceea2e1e22" - integrity sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw== - -"@esbuild/freebsd-arm64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz#646b989aa20bf89fd071dd5dbfad69a3542e550e" - integrity sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g== - -"@esbuild/freebsd-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz#aa615cfc80af954d3458906e38ca22c18cf5c261" - integrity sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ== - -"@esbuild/linux-arm64@0.21.5": - version "0.21.5" - resolved "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz" - integrity sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q== - -"@esbuild/linux-arm@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz#fc6fd11a8aca56c1f6f3894f2bea0479f8f626b9" - integrity sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA== - -"@esbuild/linux-ia32@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz#3271f53b3f93e3d093d518d1649d6d68d346ede2" - integrity sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg== - -"@esbuild/linux-loong64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz#ed62e04238c57026aea831c5a130b73c0f9f26df" - integrity sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg== - -"@esbuild/linux-mips64el@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz#e79b8eb48bf3b106fadec1ac8240fb97b4e64cbe" - integrity sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg== - -"@esbuild/linux-ppc64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz#5f2203860a143b9919d383ef7573521fb154c3e4" - integrity sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w== - -"@esbuild/linux-riscv64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz#07bcafd99322d5af62f618cb9e6a9b7f4bb825dc" - integrity sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA== - -"@esbuild/linux-s390x@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz#b7ccf686751d6a3e44b8627ababc8be3ef62d8de" - integrity sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A== - -"@esbuild/linux-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz#6d8f0c768e070e64309af8004bb94e68ab2bb3b0" - integrity sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ== - -"@esbuild/netbsd-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz#bbe430f60d378ecb88decb219c602667387a6047" - integrity sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg== - -"@esbuild/openbsd-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz#99d1cf2937279560d2104821f5ccce220cb2af70" - integrity sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow== - -"@esbuild/sunos-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz#08741512c10d529566baba837b4fe052c8f3487b" - integrity sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg== - -"@esbuild/win32-arm64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz#675b7385398411240735016144ab2e99a60fc75d" - integrity sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A== - -"@esbuild/win32-ia32@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz#1bfc3ce98aa6ca9a0969e4d2af72144c59c1193b" - integrity sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA== - -"@esbuild/win32-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz#acad351d582d157bb145535db2a6ff53dd514b5c" - integrity sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw== +"@esbuild/darwin-arm64@0.28.1": + version "0.28.1" + resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.1.tgz" + integrity sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q== "@exodus/bytes@^1.11.0", "@exodus/bytes@^1.15.0", "@exodus/bytes@^1.6.0": version "1.15.1" @@ -2006,7 +2641,7 @@ resolved "https://registry.npmjs.org/@hotwired/stimulus-webpack-helpers/-/stimulus-webpack-helpers-1.0.1.tgz" integrity sha512-wa/zupVG0eWxRYJjC1IiPBdt3Lruv0RqGN+/DTMmUWUyMAEB27KXmVY6a8YpUVTM7QwVuaLNGW4EqDgrS2upXQ== -"@hotwired/stimulus@^3.0.0": +"@hotwired/stimulus@^3.0", "@hotwired/stimulus@^3.0.0", "@hotwired/stimulus@>= 3.0": version "3.2.2" resolved "https://registry.npmjs.org/@hotwired/stimulus/-/stimulus-3.2.2.tgz" integrity sha512-eGeIqNOQpXoPAIP7tC1+1Yc1yl1xnwYqg+3mzqxyrbE5pg5YFBZcA6YoTiByJB6DKAEsiWtl6tjTJS4IYtbB7A== @@ -2096,13 +2731,6 @@ resolved "https://registry.npmjs.org/@mixmark-io/domino/-/domino-2.2.0.tgz" integrity sha512-Y28PR25bHXUg88kCV7nivXrP2Nj2RueZ3/l/jdx6J9f8J4nsEGcgX0Qe6lt7Pa+J79+kPiJU3LguR6O/6zrLOw== -"@napi-rs/wasm-runtime@^1.1.4": - version "1.1.6" - resolved "https://registry.yarnpkg.com/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.6.tgz#ed33806d0f9be98dc76d0c3d4fd872fda701b5d5" - integrity sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg== - dependencies: - "@tybys/wasm-util" "^0.10.3" - "@react-leaflet/core@^3.0.0": version "3.0.0" resolved "https://registry.npmjs.org/@react-leaflet/core/-/core-3.0.0.tgz" @@ -2125,46 +2753,11 @@ resolved "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz" integrity sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA== -"@rollup/rollup-android-arm-eabi@4.62.2": - version "4.62.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.62.2.tgz#5e9849b661c2229cf967a08dbe2dbbe9e8c991e5" - integrity sha512-6o7ZLZK+BeenkZCFNDXqpbjw9bD6nuWonvS/lwQJp7NoVVxm6p3qE7qQ5jGuBjiFsgvqjD8mZAU5oWxTmbOeOg== - -"@rollup/rollup-android-arm64@4.62.2": - version "4.62.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.62.2.tgz#5b0699ee5dd484b222c9ed74aff43c91ea8b17f8" - integrity sha512-BaH7BllCACHoH1LguOU56UItGfUWjujlO65kS9LAodViaN4bwIKd7oeW/ZHJ/4ljr/7MIiENnNy3HJ0zXv8Zkw== - "@rollup/rollup-darwin-arm64@4.62.2": version "4.62.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.62.2.tgz#8bc52c9d7a3ce8d0533c351a9c935de781daa06f" + resolved "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.62.2.tgz" integrity sha512-v39RCCvj4He82I9sFmk+M1VZ0PLM9sfsLVikjfx2hYBNALhrrOR2D3JjQA6AhlaSOgcR+RzrKY7e1+bT6SUO/A== -"@rollup/rollup-darwin-x64@4.62.2": - version "4.62.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.62.2.tgz#ba2ef3e8fb310f0af35588f270cfa5aa96e48764" - integrity sha512-yl0y2vq3S3lHeuXhEdss6TWfKW8vkujImO12tn4ZkG/4oghr09LvdYm2RElVjokTQiUvDUGXLGsYeLqUMCKpGA== - -"@rollup/rollup-freebsd-arm64@4.62.2": - version "4.62.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.62.2.tgz#93b10bdbfe8ada226b8bc0c02ef6b7f544474d96" - integrity sha512-tT4pvt4qXD+vEoezupCWi+a1F0vvDiksiHc+PxRlYTOH1I6/X4id9jPxTP+Fg+545euaFT1jJVs4CEdHZAU1vw== - -"@rollup/rollup-freebsd-x64@4.62.2": - version "4.62.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.62.2.tgz#3e8aa38ef3c9c300946871e3fdbb0c30e0a20f86" - integrity sha512-6nU5F2wCW+qvCBhTn1pdIU3bzsIoF7EUwsCDRxilWGprQR6yd508YnH9+OKFCwpfS8pjZqDUmnCAr7exax0XCg== - -"@rollup/rollup-linux-arm-gnueabihf@4.62.2": - version "4.62.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.62.2.tgz#1d7994384bb0ad1bc41921b506e1642d4f9d7fc3" - integrity sha512-n1GJHPOvpIfhi3TmrCeh6S6URt9BFCt0KQE3qvexyGCTAKpR4Lg+eWvNZEqu7epxwus/8ElT3hacYEucm49SZg== - -"@rollup/rollup-linux-arm-musleabihf@4.62.2": - version "4.62.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.62.2.tgz#a6540f47cf844a56b80ca9ff95d2acdfb2cef97b" - integrity sha512-JqgflS8wEB+UXV/vS1RpRbifGBeN4D5lz8D8oOFbFZw4vedvdOgCFAjfBmIMdW3yL10XpQQ0Ambepw6MXrhOnA== - "@rollup/rollup-linux-arm64-gnu@4.62.2": version "4.62.2" resolved "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.62.2.tgz" @@ -2172,90 +2765,15 @@ "@rollup/rollup-linux-arm64-musl@4.62.2": version "4.62.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.62.2.tgz#a3404ffddf7b474b48c99b9c893b6247bb765ba5" + resolved "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.62.2.tgz" integrity sha512-HVu2bp0zhvJ8xHEV9+UUs7S90VadmBSY3LcIMvozbPo4AuMGDWlz3ymHLHZPX4hR67TKTt8Qp5PJ5RBg/i+RMQ== -"@rollup/rollup-linux-loong64-gnu@4.62.2": - version "4.62.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.62.2.tgz#e8aac6d549b377945e349882f199b7c8eb75ca38" - integrity sha512-mQqqAV8QaoSgr9I2fKDLY2BAVvmKjWoGiu/cSYQonsLvtqwEn1E4QYfnCOcp5zoEqNhsDYin1s6jx/VJmrxlZg== - -"@rollup/rollup-linux-loong64-musl@4.62.2": - version "4.62.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.62.2.tgz#6e2e44ea50310b3a582078a915e5feb879c820d4" - integrity sha512-IxKLoxCQ2IWi6bT2akyDUBGsOImDKB+sPp4EsTmwFQ/fMwpCKm8uLSSgP/Kx/QYUgKis6SEZ5/Nlhup0DIA0PQ== - -"@rollup/rollup-linux-ppc64-gnu@4.62.2": - version "4.62.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.62.2.tgz#6898302da6d77a0537cde64b2b4c6b60659bd110" - integrity sha512-Mk5ha2RQSgyFfmYYLkBpPnUk8D8FriBxesO1u9O75X0mHgXL1UQcH5Itl2lurWL2tj0RxV9b9tJgipac0hRY9A== - -"@rollup/rollup-linux-ppc64-musl@4.62.2": - version "4.62.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.62.2.tgz#333717c95dd5a66bef8f63e7ef8a9fd845fd18d0" - integrity sha512-CjvEnqJL/0/TQ3TXX3OPIJ/kmBellrWd4heXUmHeJlTnmwjKpSJzoehLaL6Xk0ZnMHBu9dZuFADNOrtjF4v+2w== - -"@rollup/rollup-linux-riscv64-gnu@4.62.2": - version "4.62.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.62.2.tgz#81bc06ba380352004d01f4826eb7cdccefa05bad" - integrity sha512-1SiZbzwdkaDURsew/tSOrooKiYy7EQGT6m8ufavAi9NEyQb/6VuIxFXAL1fqa4iZe3g4NbNk4P7J32z2tw5Mgg== - -"@rollup/rollup-linux-riscv64-musl@4.62.2": - version "4.62.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.62.2.tgz#95a7cd39de21389ad6788a5284eaaa738e29ca4c" - integrity sha512-nQts12zJ3NQRoE6uYljOH89v7szzLDvG2JD/vsX+vGXU8w/At1GowTZ5/7qeFQ8m7L55rpR8Okugnuo5bgjy2Q== - -"@rollup/rollup-linux-s390x-gnu@4.62.2": - version "4.62.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.62.2.tgz#06e6db2ec1bc48b5374c7923ef83c2eb024b2452" - integrity sha512-E9/ll019jhPIJgpzfZoIkBGhcz+kKNgVWYRY0zr9srBdPPFVpvOKW8VaJKUbeK+eZXyQF9ltME+Kk6affeaPgg== - -"@rollup/rollup-linux-x64-gnu@4.62.2": - version "4.62.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.62.2.tgz#5dc818988285e09e88790c6462def72413df2da3" - integrity sha512-5BqxR/pshjey51iliyzTD5Xi3EN0aLmQ2lZ3lvefVV9c82BvrLo2/6OT55iifpWBufs6kdwWbuOKS841DrmK9A== - -"@rollup/rollup-linux-x64-musl@4.62.2": - version "4.62.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.62.2.tgz#2080f4a93349e9afd34be6fc1a37e01fc8bfc80f" - integrity sha512-uNN83XxQrRAh/w0/pmAfibcwyb6YWt4gP+dpnQKPVJshAloQ785ii8CT8ZCIxkGg9opVsvAlGhFitSm6D1Jjpg== - -"@rollup/rollup-openbsd-x64@4.62.2": - version "4.62.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.62.2.tgz#21d64a8acb66221724b923e51af5333df1af044b" - integrity sha512-srjEIxSH3LRnJN6THczDHWQplqEMFiAJrTab0msUryh9kwNpkICf3Ea6q6MN/2cZwRFUNx5w+h6Hpi4QuHS6Zg== - -"@rollup/rollup-openharmony-arm64@4.62.2": - version "4.62.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.62.2.tgz#8e0fcd9d02141e337b4c5b5cff576cb9a76b1ba0" - integrity sha512-8hOJnxgbyObnCm5AlRA3A931xX19xq80RjVTKgJOvEKWqJruP/Uf12IbAOaDjjEXYRewwHLfmF0YRIdK3OwKWA== - -"@rollup/rollup-win32-arm64-msvc@4.62.2": - version "4.62.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.62.2.tgz#bdb4cc4efd58efe808203347f0f5463f0ea16e52" - integrity sha512-mmF4AY1i0hG/bLWUctUq59gtmgaSIRa3cu/A3JFRp/sCNEme2bgDEiDS22P9FbnJB8NJNF4jPJiSP5RHQpUTDg== - -"@rollup/rollup-win32-ia32-msvc@4.62.2": - version "4.62.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.62.2.tgz#dbaebde5afd24eae0eefe915d901632e7cb59860" - integrity sha512-DZgkknc6jhHrk46V25vbAM0zZkyP0nSDkJB8/dRkLTxv470dOmWDqGoEJl/9A0dFfS7yE3REOwNDxpHwSLSt0Q== - -"@rollup/rollup-win32-x64-gnu@4.62.2": - version "4.62.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.62.2.tgz#84109e85fea5f8f1353499f96578fdc2a0e8b138" - integrity sha512-T6xr6ucWSFto+VGajA8YH26LdpHRuP4YLHEKAtCWvJDOlnmWcDZVCI2Jmjr+IFHDlt2zRaTAKE4tfjTaWLgJBg== - -"@rollup/rollup-win32-x64-msvc@4.62.2": - version "4.62.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.62.2.tgz#3671ce3f9b928d5c01f879792d5c0b60ae14d4ad" - integrity sha512-BfzEnDJOt9T8M989/lA37EcJgat01wLRnoi5dQf3QzOH7jzpqTAzdDbVfRljVr5r+jzKqpbHeyOfAaXxAd0PAA== - "@sinclair/typebox@^0.34.0": version "0.34.49" resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.49.tgz" integrity sha512-brySQQs7Jtn0joV8Xh9ZV/hZb9Ozb0pmazDIASBkYKCjXrXU3mpcFahmK/z4YDhGkQvP9mWJbVyahdtU5wQA+A== -"@standard-schema/spec@^1.0.0": +"@standard-schema/spec@^1.0.0", "@standard-schema/spec@^1.1.0": version "1.1.0" resolved "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz" integrity sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w== @@ -2265,7 +2783,7 @@ resolved "https://registry.npmjs.org/@standard-schema/utils/-/utils-0.3.0.tgz" integrity sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g== -"@symfony/stimulus-bridge@^3.2.0 || ^4.0.0": +"@symfony/stimulus-bridge@^3.0.0 || ^4.0.0", "@symfony/stimulus-bridge@^3.2.0 || ^4.0.0": version "4.0.1" resolved "https://registry.npmjs.org/@symfony/stimulus-bridge/-/stimulus-bridge-4.0.1.tgz" integrity sha512-+/kSQ4qFXMbZS+HjkhzOxwdN+60pMev7kzzDpQV/Tdm/iIWoxx5GDsVcdLaBb2783BVQHyrBP72JerF2SXTbTg== @@ -2277,6 +2795,7 @@ "@symfony/ux-react@file:vendor/symfony/ux-react/assets": version "2.35.0" + resolved "file:vendor/symfony/ux-react/assets" "@symfony/webpack-encore@^6.0.0": version "6.0.0" @@ -2313,31 +2832,11 @@ source-map-js "^1.2.1" tailwindcss "4.3.0" -"@tailwindcss/oxide-android-arm64@4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.3.0.tgz#e4533b6125236fe81a899cf5a82028c85244def8" - integrity sha512-TJPiq67tKlLuObP6RkwvVGDoxCMBVtDgKkLfa/uyj7/FyxvQwHS+UOnVrXXgbEsfUaMgiVvC4KbJnRr26ho4Ng== - "@tailwindcss/oxide-darwin-arm64@4.3.0": version "4.3.0" - resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.3.0.tgz#96b074ef64ec6c41d580063740c8d36cf5c459ce" + resolved "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.3.0.tgz" integrity sha512-oMN/WZRb+SO37BmUElEgeEWuU8E/HXRkiODxJxLe1UTHVXLrdVSgfaJV7pSlhRGMSOiXLuxTIjfsF3wYvz8cgQ== -"@tailwindcss/oxide-darwin-x64@4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.3.0.tgz#0d9638d06d38684339b2dc06631966a7296bb64e" - integrity sha512-N6CUmu4a6bKVADfw77p+iw6Yd9Q3OBhe0veaDX+QazfuVYlQsHfDgxBrsjQ/IW+zywL8mTrNd0SdJT/zgtvMdA== - -"@tailwindcss/oxide-freebsd-x64@4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.3.0.tgz#efc7acd17cd38d7585c07cb938a4f1b703f79d7a" - integrity sha512-zDL5hBkQdH5C6MpqbK3gQAgP80tsMwSI26vjOzjJtNCMUo0lFgOItzHKBIupOZNQxt3ouPH7RPhvNhiTfCe5CQ== - -"@tailwindcss/oxide-linux-arm-gnueabihf@4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.3.0.tgz#e41c945e529670cd93fd6ed0c6a2880de5c40333" - integrity sha512-R06HdNi7A7OEoMsf6d4tjZ71RCWnZQPHj2mnotSFURjNLdBC+cIgXQ7l81CqeoiQftjf6OOblxXMInMgN2VzMA== - "@tailwindcss/oxide-linux-arm64-gnu@4.3.0": version "4.3.0" resolved "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.3.0.tgz" @@ -2348,38 +2847,6 @@ resolved "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.3.0.tgz" integrity sha512-Z6sukiQsngnWO+l39X4pPbiWT81IC+PLKF+PHxIlyZbGNb9MODfYlXEVlFvej5BOZInWX01kVyzeLvHsXhfczQ== -"@tailwindcss/oxide-linux-x64-gnu@4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.3.0.tgz#5267c0bb2597426c0d2e759acb5389cde2aa71fd" - integrity sha512-DRNdQRpSGzRGfARVuVkxvM8Q12nh19l4BF/G7zGA1oe+9wcC6saFBHTISrpIcKzhiXtSrlSrluCfvMuledoCTQ== - -"@tailwindcss/oxide-linux-x64-musl@4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.3.0.tgz#fb2da97c67b218e5c7c723cb32782d55d7e4a5d5" - integrity sha512-Z0IADbDo8bh6I7h2IQMx601AdXBLfFpEdUotft86evd/8ZPflZe9COPO8Q1vw+pfLWIUo9zN/JGZvwuAJqduqg== - -"@tailwindcss/oxide-wasm32-wasi@4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.3.0.tgz#3f6538e511066d67d8683863dcaeeb16c22de849" - integrity sha512-HNZGOUxEmElksYR7S6sC5jTeNGpobAsy9u7Gu0AskJ8/20FR9GqebUyB+HBcU/ax6BHuiuJi+Oda4B+YX6H1yA== - dependencies: - "@emnapi/core" "^1.10.0" - "@emnapi/runtime" "^1.10.0" - "@emnapi/wasi-threads" "^1.2.1" - "@napi-rs/wasm-runtime" "^1.1.4" - "@tybys/wasm-util" "^0.10.1" - tslib "^2.8.1" - -"@tailwindcss/oxide-win32-arm64-msvc@4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.3.0.tgz#ec45fba773c76759338c05d4fe5cf42c4eea2e4e" - integrity sha512-Pe+RPVTi1T+qymuuRpcdvwSVZjnll/f7n8gBxMMh3xLTctMDKqpdfGimbMyioqtLhUYZxdJ9wGNhV7MKHvgZsQ== - -"@tailwindcss/oxide-win32-x64-msvc@4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.3.0.tgz#58cdd6e06adbe2e3160274edfcd0b0b43e17fee4" - integrity sha512-Mvrf2kXW/yeW/OTezZlCGOirXRcUuLIBx/5Y12BaPM7wJoryG6dfS/NJL8aBPqtTEx/Vm4T4vKzFUcKDT+TKUA== - "@tailwindcss/oxide@4.3.0": version "4.3.0" resolved "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.3.0.tgz" @@ -2433,7 +2900,7 @@ resolved "https://registry.npmjs.org/@tanstack/table-core/-/table-core-8.21.3.tgz" integrity sha512-ldZXEhOBb8Is7xLs01fR3YEc3DERiz5silj8tnGkFZytt1abEvl/GhUmCE0PMLaMPTa3Jk4HbKmRlHmu+gCftg== -"@testing-library/dom@^10.4.1": +"@testing-library/dom@^10.0.0", "@testing-library/dom@^10.4.0", "@testing-library/dom@^10.4.1", "@testing-library/dom@>=7.21.4": version "10.4.1" resolved "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.1.tgz" integrity sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg== @@ -2447,7 +2914,7 @@ picocolors "1.1.1" pretty-format "^27.0.2" -"@testing-library/jest-dom@^6.9.1": +"@testing-library/jest-dom@^6.6.3", "@testing-library/jest-dom@^6.9.1": version "6.9.1" resolved "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.9.1.tgz" integrity sha512-zIcONa+hVtVSSep9UT3jZ5rizo2BsxgyDYU7WFD5eICBE7no3881HGeb/QkGfsJs6JTkY1aQhT7rIPC7e+0nnA== @@ -2471,13 +2938,6 @@ resolved "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.6.1.tgz" integrity sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw== -"@tybys/wasm-util@^0.10.1", "@tybys/wasm-util@^0.10.3": - version "0.10.3" - resolved "https://registry.yarnpkg.com/@tybys/wasm-util/-/wasm-util-0.10.3.tgz#015cba9e9dd47ce14d03d2a8c5d547bfb169665d" - integrity sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg== - dependencies: - tslib "^2.4.0" - "@types/aria-query@^5.0.1": version "5.0.4" resolved "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz" @@ -2516,6 +2976,14 @@ dependencies: "@babel/types" "^7.28.2" +"@types/chai@^5.2.2": + version "5.2.3" + resolved "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz" + integrity sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA== + dependencies: + "@types/deep-eql" "*" + assertion-error "^2.0.1" + "@types/color-convert@2.0.4": version "2.0.4" resolved "https://registry.npmjs.org/@types/color-convert/-/color-convert-2.0.4.tgz" @@ -2579,7 +3047,19 @@ resolved "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz" integrity sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw== -"@types/estree@1.0.9", "@types/estree@^1.0.0", "@types/estree@^1.0.8": +"@types/debug@^4.0.0": + version "4.1.13" + resolved "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz" + integrity sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw== + dependencies: + "@types/ms" "*" + +"@types/deep-eql@*": + version "4.0.2" + resolved "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz" + integrity sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw== + +"@types/estree@^1.0.0", "@types/estree@^1.0.8", "@types/estree@1.0.9": version "1.0.9" resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz" integrity sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg== @@ -2589,6 +3069,13 @@ resolved "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz" integrity sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg== +"@types/hast@^3.0.0", "@types/hast@3.0.4": + version "3.0.4" + resolved "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz" + integrity sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ== + dependencies: + "@types/unist" "*" + "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.6": version "2.0.6" resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz" @@ -2637,7 +3124,19 @@ resolved "https://registry.npmjs.org/@types/marked/-/marked-4.3.2.tgz" integrity sha512-a79Yc3TOk6dGdituy8hmTTJXjOkZ7zsFYV10L337ttq/rec8lRMDBpV7fL3uLx6TgbFCa5DU/h8FmIBQPSbU0w== -"@types/node@*": +"@types/mdast@^4.0.0": + version "4.0.4" + resolved "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz" + integrity sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA== + dependencies: + "@types/unist" "*" + +"@types/ms@*": + version "2.1.0" + resolved "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz" + integrity sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA== + +"@types/node@*", "@types/node@^18.0.0 || >=20.0.0", "@types/node@^20.0.0 || ^22.0.0 || >=24.0.0", "@types/node@^20.19.0 || >=22.12.0": version "25.9.2" resolved "https://registry.npmjs.org/@types/node/-/node-25.9.2.tgz" integrity sha512-G05zqtJhcDLb8uslf5EjCxXg9G1KQxiV8OS0R26IC//Eoyitzqe8z37I7cqvnZlrlSfgocQRfSn/AHBZJJFyGw== @@ -2649,7 +3148,7 @@ resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz" integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== -"@types/react-dom@^19.0.0": +"@types/react-dom@^18.0 || ^19.0", "@types/react-dom@^18.0.0 || ^19.0.0", "@types/react-dom@^19.0.0": version "19.2.3" resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz" integrity sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ== @@ -2659,7 +3158,7 @@ resolved "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.12.tgz" integrity sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w== -"@types/react@^19.0.0": +"@types/react@*", "@types/react@^18.0 || ^19.0", "@types/react@^18.0.0 || ^19.0.0", "@types/react@^18.2.25 || ^19", "@types/react@^19.0.0", "@types/react@^19.2.0", "@types/react@>=18.0.0": version "19.2.17" resolved "https://registry.npmjs.org/@types/react/-/react-19.2.17.tgz" integrity sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw== @@ -2671,12 +3170,17 @@ resolved "https://registry.npmjs.org/@types/turndown/-/turndown-5.0.5.tgz" integrity sha512-TL2IgGgc7B5j78rIccBtlYAnkuv8nUQqhQc+DSYV5j9Be9XOcm/SKOVRuA47xAVI3680Tk9B1d8flK2GWT2+4w== +"@types/unist@*", "@types/unist@^3.0.0": + version "3.0.3" + resolved "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz" + integrity sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q== + "@types/use-sync-external-store@^0.0.6": version "0.0.6" resolved "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.6.tgz" integrity sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg== -"@types/webpack-env@^1.16.4": +"@types/webpack-env@^1.16", "@types/webpack-env@^1.16.4": version "1.18.8" resolved "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.18.8.tgz" integrity sha512-G9eAoJRMLjcvN4I08wB5I7YofOb/kaJNd5uoCMX+LbKXTPCF+ZIHuqTnFaK9Jz1rgs035f9JUPUhNFtqgucy/A== @@ -2693,12 +3197,12 @@ dependencies: "@types/yargs-parser" "*" -"@ungap/structured-clone@^1.3.0": +"@ungap/structured-clone@^1.0.0", "@ungap/structured-clone@^1.3.0": version "1.3.1" resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.1.tgz" integrity sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ== -"@vitejs/plugin-react@^4": +"@vitejs/plugin-react@^4", "@vitejs/plugin-react@^4.1.0": version "4.7.0" resolved "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz" integrity sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA== @@ -2720,6 +3224,18 @@ chai "^5.1.2" tinyrainbow "^1.2.0" +"@vitest/expect@4.1.9": + version "4.1.9" + resolved "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.9.tgz" + integrity sha512-vl/rYsUKcBr3SnQn166+XR5ZQcgMx3DQhFWdfli/cWpLnLUmbxZvyrJZotLFUryib+LtArYMSTJ5RbQ57ZqrlA== + dependencies: + "@standard-schema/spec" "^1.1.0" + "@types/chai" "^5.2.2" + "@vitest/spy" "4.1.9" + "@vitest/utils" "4.1.9" + chai "^6.2.2" + tinyrainbow "^3.1.0" + "@vitest/mocker@2.1.9": version "2.1.9" resolved "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.9.tgz" @@ -2729,13 +3245,29 @@ estree-walker "^3.0.3" magic-string "^0.30.12" -"@vitest/pretty-format@2.1.9", "@vitest/pretty-format@^2.1.9": +"@vitest/mocker@4.1.9": + version "4.1.9" + resolved "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.9.tgz" + integrity sha512-EVkXzBjrPGM+cK8/ANWgBrkUCfJfb38/EfTSO8h7pWvKkyPkpWxvR7BkD2MyItMF62C97zAEoqdpUixwR/e+Rw== + dependencies: + "@vitest/spy" "4.1.9" + estree-walker "^3.0.3" + magic-string "^0.30.21" + +"@vitest/pretty-format@^2.1.9", "@vitest/pretty-format@2.1.9": version "2.1.9" resolved "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.9.tgz" integrity sha512-KhRIdGV2U9HOUzxfiHmY8IFHTdqtOhIzCpd8WRdJiE7D/HUcZVD0EgQCVjm+Q9gkUXWgBvMmTtZgIG48wq7sOQ== dependencies: tinyrainbow "^1.2.0" +"@vitest/pretty-format@4.1.9": + version "4.1.9" + resolved "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.9.tgz" + integrity sha512-s0iufns3iIFitdgm+YR7g1whCAaGtXz459VS9/PqyKDEEFgYIhsHOQmXgIgDuYCt7DeQmiZT0Qe2OA2p4ZPu5A== + dependencies: + tinyrainbow "^3.1.0" + "@vitest/runner@2.1.9": version "2.1.9" resolved "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.9.tgz" @@ -2744,6 +3276,14 @@ "@vitest/utils" "2.1.9" pathe "^1.1.2" +"@vitest/runner@4.1.9": + version "4.1.9" + resolved "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.9.tgz" + integrity sha512-KXLMDtc7oe70+3mJfGrPUWPesswH+3sTxAMAMl8DG7I8IUQT4XW718dY5ID3vPUcmlu27CcKfY4P3h3I29SLJg== + dependencies: + "@vitest/utils" "4.1.9" + pathe "^2.0.3" + "@vitest/snapshot@2.1.9": version "2.1.9" resolved "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.9.tgz" @@ -2753,6 +3293,16 @@ magic-string "^0.30.12" pathe "^1.1.2" +"@vitest/snapshot@4.1.9": + version "4.1.9" + resolved "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.9.tgz" + integrity sha512-Jc7RKGNBo8Z28WYIm0Niej4xdSPByRf6mU58VpHQkd6Zh05rlnA+twjbK5HyeIGHxrzsc3mJgS43uM0CZKzaIA== + dependencies: + "@vitest/pretty-format" "4.1.9" + "@vitest/utils" "4.1.9" + magic-string "^0.30.21" + pathe "^2.0.3" + "@vitest/spy@2.1.9": version "2.1.9" resolved "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.9.tgz" @@ -2760,6 +3310,11 @@ dependencies: tinyspy "^3.0.2" +"@vitest/spy@4.1.9": + version "4.1.9" + resolved "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.9.tgz" + integrity sha512-fHpsS6mIi+PiEW+vcRVOMkX1oSaPKne3VOclSFICPcGOmfKgXPU5iAah+wcNcj2xPrCCmfq99IDGf+EojhhvhA== + "@vitest/utils@2.1.9": version "2.1.9" resolved "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.9.tgz" @@ -2769,7 +3324,16 @@ loupe "^3.1.2" tinyrainbow "^1.2.0" -"@webassemblyjs/ast@1.14.1", "@webassemblyjs/ast@^1.14.1": +"@vitest/utils@4.1.9": + version "4.1.9" + resolved "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.9.tgz" + integrity sha512-A51o8ymO5PpqlWNnBP9ZHPXDIpuMtTLlGSjN7la4US+LJzoUMyhwjA5QXlm39JexgwHKW4Xjs8Z2d3dLCXOeuA== + dependencies: + "@vitest/pretty-format" "4.1.9" + convert-source-map "^2.0.0" + tinyrainbow "^3.1.0" + +"@webassemblyjs/ast@^1.14.1", "@webassemblyjs/ast@1.14.1": version "1.14.1" resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz" integrity sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ== @@ -2870,7 +3434,7 @@ "@webassemblyjs/wasm-gen" "1.14.1" "@webassemblyjs/wasm-parser" "1.14.1" -"@webassemblyjs/wasm-parser@1.14.1", "@webassemblyjs/wasm-parser@^1.14.1": +"@webassemblyjs/wasm-parser@^1.14.1", "@webassemblyjs/wasm-parser@1.14.1": version "1.14.1" resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz" integrity sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ== @@ -2920,7 +3484,7 @@ acorn-import-phases@^1.0.3: resolved "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz" integrity sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ== -acorn@^8.15.0, acorn@^8.16.0: +acorn@^8.14.0, acorn@^8.15.0, acorn@^8.16.0: version "8.16.0" resolved "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz" integrity sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw== @@ -2933,6 +3497,11 @@ adjust-sourcemap-loader@^4.0.0: loader-utils "^2.0.0" regex-parser "^2.2.11" +agent-base@^7.1.0, agent-base@^7.1.2: + version "7.1.4" + resolved "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz" + integrity sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ== + ajv-formats@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz" @@ -2947,7 +3516,7 @@ ajv-keywords@^5.1.0: dependencies: fast-deep-equal "^3.1.3" -ajv@^8.0.0, ajv@^8.9.0: +ajv@^8.0.0, ajv@^8.8.2, ajv@^8.9.0: version "8.20.0" resolved "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz" integrity sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA== @@ -2957,6 +3526,13 @@ ajv@^8.0.0, ajv@^8.9.0: json-schema-traverse "^1.0.0" require-from-string "^2.0.2" +altcha@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/altcha/-/altcha-3.2.0.tgz" + integrity sha512-wxOTBXigI5SeMjkpA4RhVZifTJr0HYCiVnbQHrvcg5u8XS+1hyKuDs1JE4XsaElpaIFtvmw2ami5dgseysr54w== + dependencies: + hash-wasm "^4.12.0" + ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" @@ -2979,7 +3555,7 @@ argparse@^2.0.1: resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -aria-query@5.3.0, aria-query@^5.0.0: +aria-query@^5.0.0, aria-query@5.3.0: version "5.3.0" resolved "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz" integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== @@ -3031,6 +3607,11 @@ babel-plugin-polyfill-regenerator@^0.6.6: dependencies: "@babel/helper-define-polyfill-provider" "^0.6.8" +bail@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz" + integrity sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw== + baseline-browser-mapping@^2.10.12: version "2.10.35" resolved "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.35.tgz" @@ -3065,7 +3646,7 @@ braces@^3.0.3: dependencies: fill-range "^7.1.1" -browserslist@^4.0.0, browserslist@^4.24.0, browserslist@^4.28.1, browserslist@^4.28.2: +browserslist@^4.0.0, browserslist@^4.24.0, browserslist@^4.28.1, browserslist@^4.28.2, "browserslist@>= 4.21.0": version "4.28.2" resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz" integrity sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg== @@ -3106,6 +3687,11 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001782: resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001797.tgz" integrity sha512-l8xKG+gwAIExZGl9FrF7KUwuOmk6wbEPC9Xoy/RtnWv1XG0Q4LFlagaLpUv3Kiza3W/wm27zy0yWJEieYKAP6w== +ccount@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz" + integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg== + chai@^5.1.2: version "5.3.3" resolved "https://registry.npmjs.org/chai/-/chai-5.3.3.tgz" @@ -3117,6 +3703,11 @@ chai@^5.1.2: loupe "^3.1.0" pathval "^2.0.0" +chai@^6.2.2: + version "6.2.2" + resolved "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz" + integrity sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg== + chalk@^4.1.0, chalk@^4.1.2: version "4.1.2" resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" @@ -3125,6 +3716,21 @@ chalk@^4.1.0, chalk@^4.1.2: ansi-styles "^4.1.0" supports-color "^7.1.0" +character-entities-html4@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz" + integrity sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA== + +character-entities-legacy@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz" + integrity sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ== + +character-entities@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz" + integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ== + check-error@^2.1.1: version "2.1.3" resolved "https://registry.npmjs.org/check-error/-/check-error-2.1.3.tgz" @@ -3140,6 +3746,72 @@ ci-info@^4.2.0: resolved "https://registry.npmjs.org/ci-info/-/ci-info-4.4.0.tgz" integrity sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg== +"ckeditor5@>=42.0.0 || ^0.0.0-nightly", "ckeditor5@>=46.0.0 || ^0.0.0-nightly || ^0.0.0-internal": + version "48.2.0" + resolved "https://registry.npmjs.org/ckeditor5/-/ckeditor5-48.2.0.tgz" + integrity sha512-qhK0KDC8sks9u7XziILfdL9NrK6Rv7n0mD4FhMWV9q6Nec13F1a9IlxffZRdJlQCgnlOPfH7ZzhjecZQLCflFw== + dependencies: + "@ckeditor/ckeditor5-adapter-ckfinder" "48.2.0" + "@ckeditor/ckeditor5-alignment" "48.2.0" + "@ckeditor/ckeditor5-autoformat" "48.2.0" + "@ckeditor/ckeditor5-autosave" "48.2.0" + "@ckeditor/ckeditor5-basic-styles" "48.2.0" + "@ckeditor/ckeditor5-block-quote" "48.2.0" + "@ckeditor/ckeditor5-bookmark" "48.2.0" + "@ckeditor/ckeditor5-ckbox" "48.2.0" + "@ckeditor/ckeditor5-ckfinder" "48.2.0" + "@ckeditor/ckeditor5-clipboard" "48.2.0" + "@ckeditor/ckeditor5-cloud-services" "48.2.0" + "@ckeditor/ckeditor5-code-block" "48.2.0" + "@ckeditor/ckeditor5-core" "48.2.0" + "@ckeditor/ckeditor5-easy-image" "48.2.0" + "@ckeditor/ckeditor5-editor-balloon" "48.2.0" + "@ckeditor/ckeditor5-editor-classic" "48.2.0" + "@ckeditor/ckeditor5-editor-decoupled" "48.2.0" + "@ckeditor/ckeditor5-editor-inline" "48.2.0" + "@ckeditor/ckeditor5-editor-multi-root" "48.2.0" + "@ckeditor/ckeditor5-emoji" "48.2.0" + "@ckeditor/ckeditor5-engine" "48.2.0" + "@ckeditor/ckeditor5-enter" "48.2.0" + "@ckeditor/ckeditor5-essentials" "48.2.0" + "@ckeditor/ckeditor5-find-and-replace" "48.2.0" + "@ckeditor/ckeditor5-font" "48.2.0" + "@ckeditor/ckeditor5-fullscreen" "48.2.0" + "@ckeditor/ckeditor5-heading" "48.2.0" + "@ckeditor/ckeditor5-highlight" "48.2.0" + "@ckeditor/ckeditor5-horizontal-line" "48.2.0" + "@ckeditor/ckeditor5-html-embed" "48.2.0" + "@ckeditor/ckeditor5-html-support" "48.2.0" + "@ckeditor/ckeditor5-icons" "48.2.0" + "@ckeditor/ckeditor5-image" "48.2.0" + "@ckeditor/ckeditor5-indent" "48.2.0" + "@ckeditor/ckeditor5-language" "48.2.0" + "@ckeditor/ckeditor5-link" "48.2.0" + "@ckeditor/ckeditor5-list" "48.2.0" + "@ckeditor/ckeditor5-markdown-gfm" "48.2.0" + "@ckeditor/ckeditor5-media-embed" "48.2.0" + "@ckeditor/ckeditor5-mention" "48.2.0" + "@ckeditor/ckeditor5-minimap" "48.2.0" + "@ckeditor/ckeditor5-page-break" "48.2.0" + "@ckeditor/ckeditor5-paragraph" "48.2.0" + "@ckeditor/ckeditor5-paste-from-office" "48.2.0" + "@ckeditor/ckeditor5-remove-format" "48.2.0" + "@ckeditor/ckeditor5-restricted-editing" "48.2.0" + "@ckeditor/ckeditor5-select-all" "48.2.0" + "@ckeditor/ckeditor5-show-blocks" "48.2.0" + "@ckeditor/ckeditor5-source-editing" "48.2.0" + "@ckeditor/ckeditor5-special-characters" "48.2.0" + "@ckeditor/ckeditor5-style" "48.2.0" + "@ckeditor/ckeditor5-table" "48.2.0" + "@ckeditor/ckeditor5-typing" "48.2.0" + "@ckeditor/ckeditor5-ui" "48.2.0" + "@ckeditor/ckeditor5-undo" "48.2.0" + "@ckeditor/ckeditor5-upload" "48.2.0" + "@ckeditor/ckeditor5-utils" "48.2.0" + "@ckeditor/ckeditor5-watchdog" "48.2.0" + "@ckeditor/ckeditor5-widget" "48.2.0" + "@ckeditor/ckeditor5-word-count" "48.2.0" + ckeditor5@44.3.0: version "44.3.0" resolved "https://registry.npmjs.org/ckeditor5/-/ckeditor5-44.3.0.tgz" @@ -3219,18 +3891,30 @@ clsx@^2.1.1: resolved "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz" integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== -color-convert@2.0.1, color-convert@^2.0.1: +color-convert@^2.0.1, color-convert@2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== dependencies: color-name "~1.1.4" +color-convert@3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-3.1.0.tgz" + integrity sha512-TVoqAq8ZDIpK5lsQY874DDnu65CSsc9vzq0wLpNQ6UMBq81GSZocVazPiBbYGzngzBOIRahpkTzCLVe2at4MfA== + dependencies: + color-name "^2.0.0" + color-name@^1.0.0, color-name@~1.1.4: version "1.1.4" resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== +color-name@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz" + integrity sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg== + color-parse@1.4.2: version "1.4.2" resolved "https://registry.npmjs.org/color-parse/-/color-parse-1.4.2.tgz" @@ -3238,11 +3922,23 @@ color-parse@1.4.2: dependencies: color-name "^1.0.0" +color-parse@2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz" + integrity sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw== + dependencies: + color-name "^2.0.0" + colorette@^2.0.14: version "2.0.20" resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz" integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== +comma-separated-tokens@^2.0.0: + version "2.0.3" + resolved "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz" + integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== + commander@^11.1.0: version "11.1.0" resolved "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz" @@ -3263,7 +3959,12 @@ consola@^3.2.3: resolved "https://registry.npmjs.org/consola/-/consola-3.4.2.tgz" integrity sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA== -convert-source-map@^1.5.0, convert-source-map@^1.7.0: +convert-source-map@^1.5.0: + version "1.9.0" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + +convert-source-map@^1.7.0: version "1.9.0" resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== @@ -3460,12 +4161,20 @@ csso@^5.0.5: dependencies: css-tree "~2.2.0" -csstype@^3.0.2, csstype@^3.1.3, csstype@^3.2.2: +cssstyle@^4.2.1: + version "4.6.0" + resolved "https://registry.npmjs.org/cssstyle/-/cssstyle-4.6.0.tgz" + integrity sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg== + dependencies: + "@asamuzakjp/css-color" "^3.2.0" + rrweb-cssom "^0.8.0" + +csstype@^3.0.10, csstype@^3.0.2, csstype@^3.1.3, csstype@^3.2.2: version "3.2.3" resolved "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz" integrity sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ== -"d3-array@2 - 3", "d3-array@2.10.0 - 3", d3-array@^3.1.6: +d3-array@^3.1.6, "d3-array@2 - 3", "d3-array@2.10.0 - 3": version "3.2.4" resolved "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz" integrity sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg== @@ -3487,7 +4196,7 @@ d3-ease@^3.0.1: resolved "https://registry.npmjs.org/d3-format/-/d3-format-3.1.2.tgz" integrity sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg== -"d3-interpolate@1.2.0 - 3", d3-interpolate@^3.0.1: +d3-interpolate@^3.0.1, "d3-interpolate@1.2.0 - 3": version "3.0.1" resolved "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz" integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g== @@ -3524,7 +4233,7 @@ d3-shape@^3.1.0: dependencies: d3-time "1 - 3" -"d3-time@1 - 3", "d3-time@2.1.1 - 3", d3-time@^3.0.0: +d3-time@^3.0.0, "d3-time@1 - 3", "d3-time@2.1.1 - 3": version "3.1.0" resolved "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz" integrity sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q== @@ -3536,6 +4245,14 @@ d3-timer@^3.0.1: resolved "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz" integrity sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA== +data-urls@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz" + integrity sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg== + dependencies: + whatwg-mimetype "^4.0.0" + whatwg-url "^14.0.0" + data-urls@^7.0.0: version "7.0.0" resolved "https://registry.npmjs.org/data-urls/-/data-urls-7.0.0.tgz" @@ -3544,7 +4261,7 @@ data-urls@^7.0.0: whatwg-mimetype "^5.0.0" whatwg-url "^16.0.0" -debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.7, debug@^4.4.3: +debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.4, debug@^4.3.7, debug@^4.4.3, debug@4: version "4.4.3" resolved "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz" integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== @@ -3556,17 +4273,24 @@ decimal.js-light@^2.5.1: resolved "https://registry.npmjs.org/decimal.js-light/-/decimal.js-light-2.5.1.tgz" integrity sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg== -decimal.js@^10.6.0: +decimal.js@^10.5.0, decimal.js@^10.6.0: version "10.6.0" resolved "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz" integrity sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg== +decode-named-character-reference@^1.0.0: + version "1.3.0" + resolved "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz" + integrity sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q== + dependencies: + character-entities "^2.0.0" + deep-eql@^5.0.1: version "5.0.2" resolved "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz" integrity sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q== -dequal@^2.0.3: +dequal@^2.0.0, dequal@^2.0.3: version "2.0.3" resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz" integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== @@ -3576,6 +4300,13 @@ detect-libc@^2.0.3: resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz" integrity sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ== +devlop@^1.0.0, devlop@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz" + integrity sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA== + dependencies: + dequal "^2.0.0" + dom-accessibility-api@^0.5.9: version "0.5.16" resolved "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz" @@ -3689,6 +4420,11 @@ entities@^4.2.0: resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz" integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== +entities@^6.0.0: + version "6.0.1" + resolved "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz" + integrity sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g== + entities@^8.0.0: version "8.0.0" resolved "https://registry.npmjs.org/entities/-/entities-8.0.0.tgz" @@ -3728,7 +4464,7 @@ es-module-lexer@^1.5.4: resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz" integrity sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA== -es-module-lexer@^2.1.0: +es-module-lexer@^2.0.0, es-module-lexer@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.1.0.tgz" integrity sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ== @@ -3738,6 +4474,11 @@ es-toolkit@^1.39.3: resolved "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.47.0.tgz" integrity sha512-n1GuoD0WEQZMBk5tttoZSqwgyLx01oqa5XsBmCHwPyNe1S9jPBEmtR2pSgp2kJuWE3ciFZ6yRHmY4pM4C3OOkw== +es-toolkit@1.45.1: + version "1.45.1" + resolved "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.45.1.tgz" + integrity sha512-/jhoOj/Fx+A+IIyDNOvO3TItGmlMKhtX8ISAHKE90c4b/k1tqaqEZ+uUqfpU8DMnW5cgNJv606zS55jGvza0Xw== + esbuild@^0.21.3: version "0.21.5" resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz" @@ -3767,6 +4508,38 @@ esbuild@^0.21.3: "@esbuild/win32-ia32" "0.21.5" "@esbuild/win32-x64" "0.21.5" +"esbuild@^0.27.0 || ^0.28.0": + version "0.28.1" + resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.28.1.tgz" + integrity sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw== + optionalDependencies: + "@esbuild/aix-ppc64" "0.28.1" + "@esbuild/android-arm" "0.28.1" + "@esbuild/android-arm64" "0.28.1" + "@esbuild/android-x64" "0.28.1" + "@esbuild/darwin-arm64" "0.28.1" + "@esbuild/darwin-x64" "0.28.1" + "@esbuild/freebsd-arm64" "0.28.1" + "@esbuild/freebsd-x64" "0.28.1" + "@esbuild/linux-arm" "0.28.1" + "@esbuild/linux-arm64" "0.28.1" + "@esbuild/linux-ia32" "0.28.1" + "@esbuild/linux-loong64" "0.28.1" + "@esbuild/linux-mips64el" "0.28.1" + "@esbuild/linux-ppc64" "0.28.1" + "@esbuild/linux-riscv64" "0.28.1" + "@esbuild/linux-s390x" "0.28.1" + "@esbuild/linux-x64" "0.28.1" + "@esbuild/netbsd-arm64" "0.28.1" + "@esbuild/netbsd-x64" "0.28.1" + "@esbuild/openbsd-arm64" "0.28.1" + "@esbuild/openbsd-x64" "0.28.1" + "@esbuild/openharmony-arm64" "0.28.1" + "@esbuild/sunos-x64" "0.28.1" + "@esbuild/win32-arm64" "0.28.1" + "@esbuild/win32-ia32" "0.28.1" + "@esbuild/win32-x64" "0.28.1" + escalade@^3.2.0: version "3.2.0" resolved "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz" @@ -3777,6 +4550,11 @@ escape-string-regexp@^4.0.0: resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== +escape-string-regexp@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz" + integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== + eslint-scope@5.1.1: version "5.1.1" resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" @@ -3824,11 +4602,16 @@ events@^3.2.0: resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== -expect-type@^1.1.0: +expect-type@^1.1.0, expect-type@^1.3.0: version "1.3.0" resolved "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz" integrity sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA== +extend@^3.0.0: + version "3.0.2" + resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" @@ -3844,6 +4627,11 @@ fastest-levenshtein@^1.0.12, fastest-levenshtein@^1.0.16: resolved "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz" integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== +fdir@^6.5.0: + version "6.5.0" + resolved "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz" + integrity sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg== + fill-range@^7.1.1: version "7.1.1" resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz" @@ -3879,7 +4667,7 @@ flat@^5.0.2: fsevents@~2.3.2, fsevents@~2.3.3: version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== function-bind@^1.1.2: @@ -3922,6 +4710,11 @@ has-flag@^4.0.0: resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== +hash-wasm@^4.12.0: + version "4.12.0" + resolved "https://registry.npmjs.org/hash-wasm/-/hash-wasm-4.12.0.tgz" + integrity sha512-+/2B2rYLb48I/evdOIhP+K/DD2ca2fgBjp6O+GBEnCDk2e4rpeXIK8GvIyRPjTezgmWn9gmKwkQjjx6BtqDHVQ== + hasown@^2.0.3: version "2.0.4" resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz" @@ -3929,6 +4722,147 @@ hasown@^2.0.3: dependencies: function-bind "^1.1.2" +hast-util-embedded@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/hast-util-embedded/-/hast-util-embedded-3.0.0.tgz" + integrity sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA== + dependencies: + "@types/hast" "^3.0.0" + hast-util-is-element "^3.0.0" + +hast-util-from-dom@^5.0.0, hast-util-from-dom@5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/hast-util-from-dom/-/hast-util-from-dom-5.0.1.tgz" + integrity sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q== + dependencies: + "@types/hast" "^3.0.0" + hastscript "^9.0.0" + web-namespaces "^2.0.0" + +hast-util-has-property@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-3.0.0.tgz" + integrity sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA== + dependencies: + "@types/hast" "^3.0.0" + +hast-util-is-body-ok-link@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/hast-util-is-body-ok-link/-/hast-util-is-body-ok-link-3.0.1.tgz" + integrity sha512-0qpnzOBLztXHbHQenVB8uNuxTnm/QBFUOmdOSsEn7GnBtyY07+ENTWVFBAnXd/zEgd9/SUG3lRY7hSIBWRgGpQ== + dependencies: + "@types/hast" "^3.0.0" + +hast-util-is-element@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz" + integrity sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g== + dependencies: + "@types/hast" "^3.0.0" + +hast-util-minify-whitespace@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/hast-util-minify-whitespace/-/hast-util-minify-whitespace-1.0.1.tgz" + integrity sha512-L96fPOVpnclQE0xzdWb/D12VT5FabA7SnZOUMtL1DbXmYiHJMXZvFkIZfiMmTCNJHUeO2K9UYNXoVyfz+QHuOw== + dependencies: + "@types/hast" "^3.0.0" + hast-util-embedded "^3.0.0" + hast-util-is-element "^3.0.0" + hast-util-whitespace "^3.0.0" + unist-util-is "^6.0.0" + +hast-util-parse-selector@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz" + integrity sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A== + dependencies: + "@types/hast" "^3.0.0" + +hast-util-phrasing@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/hast-util-phrasing/-/hast-util-phrasing-3.0.1.tgz" + integrity sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ== + dependencies: + "@types/hast" "^3.0.0" + hast-util-embedded "^3.0.0" + hast-util-has-property "^3.0.0" + hast-util-is-body-ok-link "^3.0.0" + hast-util-is-element "^3.0.0" + +hast-util-to-dom@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/hast-util-to-dom/-/hast-util-to-dom-4.0.1.tgz" + integrity sha512-z1VE7sZ8uFzS2baF3LEflX1IPw2gSzrdo3QFEsyoi23MkCVY3FoE9x6nLgOgjwJu8VNWgo+07iaxtONhDzKrUQ== + dependencies: + "@types/hast" "^3.0.0" + property-information "^7.0.0" + web-namespaces "^2.0.0" + +hast-util-to-html@^9.0.0, hast-util-to-html@9.0.5: + version "9.0.5" + resolved "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz" + integrity sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw== + dependencies: + "@types/hast" "^3.0.0" + "@types/unist" "^3.0.0" + ccount "^2.0.0" + comma-separated-tokens "^2.0.0" + hast-util-whitespace "^3.0.0" + html-void-elements "^3.0.0" + mdast-util-to-hast "^13.0.0" + property-information "^7.0.0" + space-separated-tokens "^2.0.0" + stringify-entities "^4.0.0" + zwitch "^2.0.4" + +hast-util-to-mdast@^10.0.0, hast-util-to-mdast@10.1.2: + version "10.1.2" + resolved "https://registry.npmjs.org/hast-util-to-mdast/-/hast-util-to-mdast-10.1.2.tgz" + integrity sha512-FiCRI7NmOvM4y+f5w32jPRzcxDIz+PUqDwEqn1A+1q2cdp3B8Gx7aVrXORdOKjMNDQsD1ogOr896+0jJHW1EFQ== + dependencies: + "@types/hast" "^3.0.0" + "@types/mdast" "^4.0.0" + "@ungap/structured-clone" "^1.0.0" + hast-util-phrasing "^3.0.0" + hast-util-to-html "^9.0.0" + hast-util-to-text "^4.0.0" + hast-util-whitespace "^3.0.0" + mdast-util-phrasing "^4.0.0" + mdast-util-to-hast "^13.0.0" + mdast-util-to-string "^4.0.0" + rehype-minify-whitespace "^6.0.0" + trim-trailing-lines "^2.0.0" + unist-util-position "^5.0.0" + unist-util-visit "^5.0.0" + +hast-util-to-text@^4.0.0: + version "4.0.2" + resolved "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz" + integrity sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A== + dependencies: + "@types/hast" "^3.0.0" + "@types/unist" "^3.0.0" + hast-util-is-element "^3.0.0" + unist-util-find-after "^5.0.0" + +hast-util-whitespace@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz" + integrity sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw== + dependencies: + "@types/hast" "^3.0.0" + +hastscript@^9.0.0, hastscript@9.0.1: + version "9.0.1" + resolved "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz" + integrity sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w== + dependencies: + "@types/hast" "^3.0.0" + comma-separated-tokens "^2.0.0" + hast-util-parse-selector "^4.0.0" + property-information "^7.0.0" + space-separated-tokens "^2.0.0" + hoist-non-react-statics@^3.3.1: version "3.3.2" resolved "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz" @@ -3936,6 +4870,13 @@ hoist-non-react-statics@^3.3.1: dependencies: react-is "^16.7.0" +html-encoding-sniffer@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz" + integrity sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ== + dependencies: + whatwg-encoding "^3.1.1" + html-encoding-sniffer@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-6.0.0.tgz" @@ -3943,6 +4884,11 @@ html-encoding-sniffer@^6.0.0: dependencies: "@exodus/bytes" "^1.6.0" +html-void-elements@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz" + integrity sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg== + htmlparser2@^6.1.0: version "6.1.0" resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz" @@ -3953,12 +4899,35 @@ htmlparser2@^6.1.0: domutils "^2.5.2" entities "^2.0.0" +http-proxy-agent@^7.0.2: + version "7.0.2" + resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz" + integrity sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig== + dependencies: + agent-base "^7.1.0" + debug "^4.3.4" + +https-proxy-agent@^7.0.6: + version "7.0.6" + resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz" + integrity sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw== + dependencies: + agent-base "^7.1.2" + debug "4" + +iconv-lite@0.6.3: + version "0.6.3" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + icss-utils@^5.0.0, icss-utils@^5.1.0: version "5.1.0" resolved "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz" integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== -immer@^10.1.1: +immer@^10.1.1, immer@>=9.0.6: version "10.2.0" resolved "https://registry.npmjs.org/immer/-/immer-10.2.0.tgz" integrity sha512-d/+XTN3zfODyjr89gM3mPq1WNX2B8pYsu7eORitdwyA2sBubnTl3laYlBk4sXY5FUa5qTZGBDPJICVbvqzjlbw== @@ -4021,6 +4990,11 @@ is-number@^7.0.0: resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== +is-plain-obj@^4.0.0: + version "4.1.0" + resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz" + integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== + is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" @@ -4085,7 +5059,7 @@ jest-worker@^30.0.5: merge-stream "^2.0.0" supports-color "^8.1.1" -jiti@^2.5.1, jiti@^2.6.1: +jiti@^2.5.1, jiti@^2.6.1, jiti@>=1.21.0: version "2.7.0" resolved "https://registry.npmjs.org/jiti/-/jiti-2.7.0.tgz" integrity sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ== @@ -4102,7 +5076,7 @@ js-yaml@^4.1.0: dependencies: argparse "^2.0.1" -jsdom@^29.1.1: +jsdom@*, jsdom@^29.1.1: version "29.1.1" resolved "https://registry.npmjs.org/jsdom/-/jsdom-29.1.1.tgz" integrity sha512-ECi4Fi2f7BdJtUKTflYRTiaMxIB0O6zfR1fX0GXpUrf6flp8QIYn1UT20YQqdSOfk2dfkCwS8LAFoJDEppNK5Q== @@ -4129,6 +5103,32 @@ jsdom@^29.1.1: whatwg-url "^16.0.1" xml-name-validator "^5.0.0" +jsdom@^26.1.0: + version "26.1.0" + resolved "https://registry.npmjs.org/jsdom/-/jsdom-26.1.0.tgz" + integrity sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg== + dependencies: + cssstyle "^4.2.1" + data-urls "^5.0.0" + decimal.js "^10.5.0" + html-encoding-sniffer "^4.0.0" + http-proxy-agent "^7.0.2" + https-proxy-agent "^7.0.6" + is-potential-custom-element-name "^1.0.1" + nwsapi "^2.2.16" + parse5 "^7.2.1" + rrweb-cssom "^0.8.0" + saxes "^6.0.0" + symbol-tree "^3.2.4" + tough-cookie "^5.1.1" + w3c-xmlserializer "^5.0.0" + webidl-conversions "^7.0.0" + whatwg-encoding "^3.1.1" + whatwg-mimetype "^4.0.0" + whatwg-url "^14.1.1" + ws "^8.18.0" + xml-name-validator "^5.0.0" + jsesc@^3.0.2, jsesc@~3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz" @@ -4154,36 +5154,16 @@ kind-of@^6.0.2: resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== -leaflet@^1.9.4: +leaflet@^1.9.0, leaflet@^1.9.4: version "1.9.4" resolved "https://registry.npmjs.org/leaflet/-/leaflet-1.9.4.tgz" integrity sha512-nxS1ynzJOmOlHp+iL3FyWqK89GtNL8U8rvlMOsQdTTssxZwCXh8N2NB3GDQOL+YR3XnWyZAxwQixURb+FA74PA== -lightningcss-android-arm64@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz#f033885116dfefd9c6f54787523e3514b61e1968" - integrity sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg== - lightningcss-darwin-arm64@1.32.0: version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz#50b71871b01c8199584b649e292547faea7af9b5" + resolved "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz" integrity sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ== -lightningcss-darwin-x64@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz#35f3e97332d130b9ca181e11b568ded6aebc6d5e" - integrity sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w== - -lightningcss-freebsd-x64@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz#9777a76472b64ed6ff94342ad64c7bafd794a575" - integrity sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig== - -lightningcss-linux-arm-gnueabihf@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz#13ae652e1ab73b9135d7b7da172f666c410ad53d" - integrity sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw== - lightningcss-linux-arm64-gnu@1.32.0: version "1.32.0" resolved "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz" @@ -4194,27 +5174,7 @@ lightningcss-linux-arm64-musl@1.32.0: resolved "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz" integrity sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg== -lightningcss-linux-x64-gnu@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz#0b7803af4eb21cfd38dd39fe2abbb53c7dd091f6" - integrity sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA== - -lightningcss-linux-x64-musl@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz#88dc8ba865ddddb1ac5ef04b0f161804418c163b" - integrity sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg== - -lightningcss-win32-arm64-msvc@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz#4f30ba3fa5e925f5b79f945e8cc0d176c3b1ab38" - integrity sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw== - -lightningcss-win32-x64-msvc@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz#141aa5605645064928902bb4af045fa7d9f4220a" - integrity sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q== - -lightningcss@1.32.0: +lightningcss@^1.21.0, lightningcss@1.32.0: version "1.32.0" resolved "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz" integrity sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ== @@ -4248,6 +5208,11 @@ loader-runner@^4.3.2: resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.2.tgz" integrity sha512-DFEqQ3ihfS9blba08cLfYf1NRAIEm+dDjic073DRDc3/JspI/8wYmtDsHwd3+4hwvdxSK7PGaElfTmm0awWJ4w== +loader-utils@*, "loader-utils@^2.0.0 || ^3.0.0": + version "3.3.1" + resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz" + integrity sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg== + loader-utils@^2.0.0: version "2.0.4" resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz" @@ -4257,11 +5222,6 @@ loader-utils@^2.0.0: emojis-list "^3.0.0" json5 "^2.1.2" -"loader-utils@^2.0.0 || ^3.0.0": - version "3.3.1" - resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz" - integrity sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg== - locate-path@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" @@ -4301,6 +5261,11 @@ lodash@^4.17.20, lodash@^4.17.21: resolved "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz" integrity sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q== +longest-streak@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz" + integrity sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g== + loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" @@ -4313,6 +5278,11 @@ loupe@^3.1.0, loupe@^3.1.2: resolved "https://registry.npmjs.org/loupe/-/loupe-3.2.1.tgz" integrity sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ== +lru-cache@^10.4.3: + version "10.4.3" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz" + integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== + lru-cache@^11.3.5: version "11.5.1" resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.1.tgz" @@ -4337,11 +5307,162 @@ magic-string@^0.30.12, magic-string@^0.30.21: dependencies: "@jridgewell/sourcemap-codec" "^1.5.5" +markdown-table@^3.0.0: + version "3.0.4" + resolved "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz" + integrity sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw== + marked@4.0.12: version "4.0.12" resolved "https://registry.npmjs.org/marked/-/marked-4.0.12.tgz" integrity sha512-hgibXWrEDNBWgGiK18j/4lkS6ihTe9sxtV4Q1OQppb/0zzyPSzoFANBa5MfsG/zgsWklmNnhm0XACZOH/0HBiQ== +mdast-util-find-and-replace@^3.0.0: + version "3.0.2" + resolved "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz" + integrity sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg== + dependencies: + "@types/mdast" "^4.0.0" + escape-string-regexp "^5.0.0" + unist-util-is "^6.0.0" + unist-util-visit-parents "^6.0.0" + +mdast-util-from-markdown@^2.0.0: + version "2.0.3" + resolved "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.3.tgz" + integrity sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q== + dependencies: + "@types/mdast" "^4.0.0" + "@types/unist" "^3.0.0" + decode-named-character-reference "^1.0.0" + devlop "^1.0.0" + mdast-util-to-string "^4.0.0" + micromark "^4.0.0" + micromark-util-decode-numeric-character-reference "^2.0.0" + micromark-util-decode-string "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + unist-util-stringify-position "^4.0.0" + +mdast-util-gfm-autolink-literal@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz" + integrity sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ== + dependencies: + "@types/mdast" "^4.0.0" + ccount "^2.0.0" + devlop "^1.0.0" + mdast-util-find-and-replace "^3.0.0" + micromark-util-character "^2.0.0" + +mdast-util-gfm-footnote@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz" + integrity sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ== + dependencies: + "@types/mdast" "^4.0.0" + devlop "^1.1.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + +mdast-util-gfm-strikethrough@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz" + integrity sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg== + dependencies: + "@types/mdast" "^4.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + +mdast-util-gfm-table@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz" + integrity sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg== + dependencies: + "@types/mdast" "^4.0.0" + devlop "^1.0.0" + markdown-table "^3.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + +mdast-util-gfm-task-list-item@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz" + integrity sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ== + dependencies: + "@types/mdast" "^4.0.0" + devlop "^1.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + +mdast-util-gfm@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz" + integrity sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ== + dependencies: + mdast-util-from-markdown "^2.0.0" + mdast-util-gfm-autolink-literal "^2.0.0" + mdast-util-gfm-footnote "^2.0.0" + mdast-util-gfm-strikethrough "^2.0.0" + mdast-util-gfm-table "^2.0.0" + mdast-util-gfm-task-list-item "^2.0.0" + mdast-util-to-markdown "^2.0.0" + +mdast-util-newline-to-break@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/mdast-util-newline-to-break/-/mdast-util-newline-to-break-2.0.0.tgz" + integrity sha512-MbgeFca0hLYIEx/2zGsszCSEJJ1JSCdiY5xQxRcLDDGa8EPvlLPupJ4DSajbMPAnC0je8jfb9TiUATnxxrHUog== + dependencies: + "@types/mdast" "^4.0.0" + mdast-util-find-and-replace "^3.0.0" + +mdast-util-phrasing@^4.0.0: + version "4.1.0" + resolved "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz" + integrity sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w== + dependencies: + "@types/mdast" "^4.0.0" + unist-util-is "^6.0.0" + +mdast-util-to-hast@^13.0.0: + version "13.2.1" + resolved "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz" + integrity sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA== + dependencies: + "@types/hast" "^3.0.0" + "@types/mdast" "^4.0.0" + "@ungap/structured-clone" "^1.0.0" + devlop "^1.0.0" + micromark-util-sanitize-uri "^2.0.0" + trim-lines "^3.0.0" + unist-util-position "^5.0.0" + unist-util-visit "^5.0.0" + vfile "^6.0.0" + +mdast-util-to-markdown@^2.0.0: + version "2.1.2" + resolved "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz" + integrity sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA== + dependencies: + "@types/mdast" "^4.0.0" + "@types/unist" "^3.0.0" + longest-streak "^3.0.0" + mdast-util-phrasing "^4.0.0" + mdast-util-to-string "^4.0.0" + micromark-util-classify-character "^2.0.0" + micromark-util-decode-string "^2.0.0" + unist-util-visit "^5.0.0" + zwitch "^2.0.0" + +mdast-util-to-string@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz" + integrity sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg== + dependencies: + "@types/mdast" "^4.0.0" + mdn-data@2.0.28: version "2.0.28" resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz" @@ -4362,6 +5483,279 @@ merge-stream@^2.0.0: resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== +micromark-core-commonmark@^2.0.0: + version "2.0.3" + resolved "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz" + integrity sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg== + dependencies: + decode-named-character-reference "^1.0.0" + devlop "^1.0.0" + micromark-factory-destination "^2.0.0" + micromark-factory-label "^2.0.0" + micromark-factory-space "^2.0.0" + micromark-factory-title "^2.0.0" + micromark-factory-whitespace "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-chunked "^2.0.0" + micromark-util-classify-character "^2.0.0" + micromark-util-html-tag-name "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + micromark-util-resolve-all "^2.0.0" + micromark-util-subtokenize "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-gfm-autolink-literal@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz" + integrity sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-sanitize-uri "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-gfm-footnote@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz" + integrity sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw== + dependencies: + devlop "^1.0.0" + micromark-core-commonmark "^2.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + micromark-util-sanitize-uri "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-gfm-strikethrough@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz" + integrity sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw== + dependencies: + devlop "^1.0.0" + micromark-util-chunked "^2.0.0" + micromark-util-classify-character "^2.0.0" + micromark-util-resolve-all "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-gfm-table@^2.0.0: + version "2.1.1" + resolved "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz" + integrity sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg== + dependencies: + devlop "^1.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-gfm-tagfilter@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz" + integrity sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg== + dependencies: + micromark-util-types "^2.0.0" + +micromark-extension-gfm-task-list-item@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz" + integrity sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw== + dependencies: + devlop "^1.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-gfm@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz" + integrity sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w== + dependencies: + micromark-extension-gfm-autolink-literal "^2.0.0" + micromark-extension-gfm-footnote "^2.0.0" + micromark-extension-gfm-strikethrough "^2.0.0" + micromark-extension-gfm-table "^2.0.0" + micromark-extension-gfm-tagfilter "^2.0.0" + micromark-extension-gfm-task-list-item "^2.0.0" + micromark-util-combine-extensions "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-destination@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz" + integrity sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-label@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz" + integrity sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg== + dependencies: + devlop "^1.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-space@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz" + integrity sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-title@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz" + integrity sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw== + dependencies: + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-whitespace@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz" + integrity sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ== + dependencies: + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-character@^2.0.0: + version "2.1.1" + resolved "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz" + integrity sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q== + dependencies: + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-chunked@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz" + integrity sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA== + dependencies: + micromark-util-symbol "^2.0.0" + +micromark-util-classify-character@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz" + integrity sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-combine-extensions@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz" + integrity sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg== + dependencies: + micromark-util-chunked "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-decode-numeric-character-reference@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz" + integrity sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw== + dependencies: + micromark-util-symbol "^2.0.0" + +micromark-util-decode-string@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz" + integrity sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ== + dependencies: + decode-named-character-reference "^1.0.0" + micromark-util-character "^2.0.0" + micromark-util-decode-numeric-character-reference "^2.0.0" + micromark-util-symbol "^2.0.0" + +micromark-util-encode@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz" + integrity sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw== + +micromark-util-html-tag-name@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz" + integrity sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA== + +micromark-util-normalize-identifier@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz" + integrity sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q== + dependencies: + micromark-util-symbol "^2.0.0" + +micromark-util-resolve-all@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz" + integrity sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg== + dependencies: + micromark-util-types "^2.0.0" + +micromark-util-sanitize-uri@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz" + integrity sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-encode "^2.0.0" + micromark-util-symbol "^2.0.0" + +micromark-util-subtokenize@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz" + integrity sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA== + dependencies: + devlop "^1.0.0" + micromark-util-chunked "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-symbol@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz" + integrity sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q== + +micromark-util-types@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz" + integrity sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA== + +micromark@^4.0.0: + version "4.0.2" + resolved "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz" + integrity sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA== + dependencies: + "@types/debug" "^4.0.0" + debug "^4.0.0" + decode-named-character-reference "^1.0.0" + devlop "^1.0.0" + micromark-core-commonmark "^2.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-chunked "^2.0.0" + micromark-util-combine-extensions "^2.0.0" + micromark-util-decode-numeric-character-reference "^2.0.0" + micromark-util-encode "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + micromark-util-resolve-all "^2.0.0" + micromark-util-sanitize-uri "^2.0.0" + micromark-util-subtokenize "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + micromatch@^4.0.0: version "4.0.8" resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz" @@ -4410,7 +5804,7 @@ node-releases@^2.0.36: normalize-wheel@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/normalize-wheel/-/normalize-wheel-1.0.1.tgz#aec886affdb045070d856447df62ecf86146ec45" + resolved "https://registry.npmjs.org/normalize-wheel/-/normalize-wheel-1.0.1.tgz" integrity sha512-1OnlAPZ3zgrk8B91HyRj+eVv+kS5u+Z0SCsak6Xil/kmgEia50ga7zfkumayonZrImffAxPU/5WcyGhzetHNPA== nth-check@^2.0.1: @@ -4420,11 +5814,21 @@ nth-check@^2.0.1: dependencies: boolbase "^1.0.0" +nwsapi@^2.2.16: + version "2.2.24" + resolved "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.24.tgz" + integrity sha512-7YRhZ3jS45LwmSCT4b2sVFHt/WuovaktDU07QrtOBY2PXskss5a9jfmR9jptyumwXST+rFjrmppMY1KT/yn35A== + object-assign@^4.1.1: version "4.1.1" resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== +obug@^2.1.1: + version "2.1.3" + resolved "https://registry.npmjs.org/obug/-/obug-2.1.3.tgz" + integrity sha512-9miFgM2OFba7hB+pRgvtV84pYTBaoTHohvmIgiRt6dRIzbwEOIaNaP+dIlGs2fNFoB0SeISs0Jz5WFVRid6Xyg== + p-limit@^2.2.0: version "2.3.0" resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" @@ -4475,6 +5879,13 @@ parse-json@^5.0.0, parse-json@^5.2.0: json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" +parse5@^7.2.1: + version "7.3.0" + resolved "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz" + integrity sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw== + dependencies: + entities "^6.0.0" + parse5@^8.0.1: version "8.0.1" resolved "https://registry.npmjs.org/parse5/-/parse5-8.0.1.tgz" @@ -4507,12 +5918,17 @@ pathe@^1.1.2: resolved "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz" integrity sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ== +pathe@^2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz" + integrity sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w== + pathval@^2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz" integrity sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ== -picocolors@1.1.1, picocolors@^1.1.0, picocolors@^1.1.1: +picocolors@^1.1.0, picocolors@^1.1.1, picocolors@1.1.1: version "1.1.1" resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz" integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== @@ -4522,7 +5938,7 @@ picomatch@^2.3.1: resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz" integrity sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA== -picomatch@^4.0.3: +"picomatch@^3 || ^4", picomatch@^4.0.3, picomatch@^4.0.4: version "4.0.4" resolved "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz" integrity sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A== @@ -4582,7 +5998,7 @@ postcss-discard-overridden@^7.0.3: resolved "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-7.0.3.tgz" integrity sha512-aNovXo9UsZuRNLzHJtp13lHIvinDPfiXBPePpXkSjCbgp++iU2FqE+YxvjIsg6EdyPZsASFbfu+JcBFVsErXIQ== -postcss-loader@^8.0.0: +postcss-loader@^8.0.0, postcss-loader@^8.1.0: version "8.2.1" resolved "https://registry.npmjs.org/postcss-loader/-/postcss-loader-8.2.1.tgz" integrity sha512-k98jtRzthjj3f76MYTs9JTpRqV1RaaMhEU0Lpw9OTmQZQdppg4B30VZ74BojuBHt3F4KyubHJoXCMUeM8Bqeow== @@ -4785,7 +6201,7 @@ postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@^8.0.0, postcss@^8.2.14, postcss@^8.4.40, postcss@^8.4.43, postcss@^8.5.10: +"postcss@^7.0.0 || ^8.0.1", postcss@^8.0.0, postcss@^8.0.9, postcss@^8.1.0, postcss@^8.2.14, postcss@^8.3.0, postcss@^8.4, postcss@^8.4.38, postcss@^8.4.40, postcss@^8.4.43, postcss@^8.5.10, postcss@^8.5.13, postcss@^8.5.6: version "8.5.15" resolved "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz" integrity sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A== @@ -4820,12 +6236,17 @@ prop-types@^15.6.0, prop-types@^15.6.2: object-assign "^4.1.1" react-is "^16.13.1" +property-information@^7.0.0: + version "7.2.0" + resolved "https://registry.npmjs.org/property-information/-/property-information-7.2.0.tgz" + integrity sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg== + punycode@^2.3.1: version "2.3.1" resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== -react-dom@^19.0.0: +"react-dom@^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^18.0 || ^19.0", "react-dom@^18.0.0 || ^19.0.0", "react-dom@^18.0.0 || ^19.0.0 || ^19.0.0-rc", react-dom@^19.0.0, react-dom@>=16, react-dom@>=16.4.0, react-dom@>=16.6.0, react-dom@>=16.8, react-dom@>=18: version "19.2.7" resolved "https://registry.npmjs.org/react-dom/-/react-dom-19.2.7.tgz" integrity sha512-t0BRVXvbiE/o20Hfw669rLbMCDWtYZLvmJigy2f0MxsXF+71pxhR3xOkspmsO8h3ZlNzyibAmtCa3l4lYKk6gQ== @@ -4833,13 +6254,13 @@ react-dom@^19.0.0: scheduler "^0.27.0" react-easy-crop@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/react-easy-crop/-/react-easy-crop-6.1.0.tgz#eb47a6337a0dc26b23711ab12f8c46a12d7a8a97" - integrity sha512-zimsbH7DLuajy2hA4UpQpTVoisV8EpeE0/CFmph8tFS3EUbr83iL5TXMVYS0xli990VN6hVepmLNVRZ3SyD05A== + version "6.2.2" + resolved "https://registry.npmjs.org/react-easy-crop/-/react-easy-crop-6.2.2.tgz" + integrity sha512-b0HOicSvLYoNk1yvZTwjH8sNjF5uD9xLtWrSDnv+fx1dXTbwd8bNLQaP6gjXw//A+tni9Mw5KDmPNOEjKF55NQ== dependencies: normalize-wheel "^1.0.1" -react-hook-form@^7.0.0: +react-hook-form@^7.0.0, react-hook-form@^7.55.0: version "7.78.0" resolved "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.78.0.tgz" integrity sha512-EEZqc+N23moyzTlz61Pj+JvcXo76ICkpfOZo8JZw+sM4+wLQGh6nI2Ms+PdMOYNluFu0ghlM7B8mCzhRYtJCnA== @@ -4852,7 +6273,7 @@ react-hot-toast@^2.0.0: csstype "^3.1.3" goober "^2.1.16" -react-is@^16.13.1, react-is@^16.7.0: +react-is@^16.13.1, react-is@^16.7.0, "react-is@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0": version "16.13.1" resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== @@ -4869,7 +6290,7 @@ react-leaflet@^5.0.0: dependencies: "@react-leaflet/core" "^3.0.0" -"react-redux@8.x.x || 9.x.x": +"react-redux@^7.2.1 || ^8.1.3 || ^9.0.0", "react-redux@8.x.x || 9.x.x": version "9.3.0" resolved "https://registry.npmjs.org/react-redux/-/react-redux-9.3.0.tgz" integrity sha512-KQopgqFo/p/fgmAs5qz6p5RWaNAzq40WAu7fJIXnQpYxFPbJYtsJPWvGeF2rOBaY/kEuV77AVsX8TsQzKm+A/g== @@ -4922,7 +6343,7 @@ react-transition-group@^4.3.0: loose-envify "^1.4.0" prop-types "^15.6.2" -react@^19.0.0: +"react@^16.13.1 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react@^16.8.0 || ^17 || ^18 || ^19", "react@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react@^16.9.0 || ^17.0.0 || ^18 || ^19", "react@^18 || ^19", "react@^18.0 || ^19", "react@^18.0 || ^19.0", "react@^18.0.0 || ^19.0.0", "react@^18.0.0 || ^19.0.0 || ^19.0.0-rc", react@^19.0.0, react@^19.2.7, "react@>= 16 || ^19.0.0-rc", react@>=16, react@>=16.4.0, react@>=16.6.0, react@>=16.8, react@>=16.8.0, react@>=18, react@>=18.0.0: version "19.2.7" resolved "https://registry.npmjs.org/react/-/react-19.2.7.tgz" integrity sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ== @@ -4964,7 +6385,7 @@ redux-thunk@^3.1.0: resolved "https://registry.npmjs.org/redux-thunk/-/redux-thunk-3.1.0.tgz" integrity sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw== -redux@^5.0.1: +redux@^5.0.0, redux@^5.0.1: version "5.0.1" resolved "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz" integrity sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w== @@ -5015,6 +6436,94 @@ regjsparser@^0.13.0: dependencies: jsesc "~3.1.0" +rehype-dom-parse@5.0.2: + version "5.0.2" + resolved "https://registry.npmjs.org/rehype-dom-parse/-/rehype-dom-parse-5.0.2.tgz" + integrity sha512-8CqP11KaqvtWsMqVEC2yM3cZWZsDNqqpr8nPvogjraLuh45stabgcpXadCAxu1n6JaUNJ/Xr3GIqXP7okbNqLg== + dependencies: + "@types/hast" "^3.0.0" + hast-util-from-dom "^5.0.0" + unified "^11.0.0" + +rehype-dom-stringify@4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/rehype-dom-stringify/-/rehype-dom-stringify-4.0.2.tgz" + integrity sha512-2HVFYbtmm5W3C2j8QsV9lcHdIMc2Yn/ytlPKcSC85/tRx2haZbU8V67Wxyh8STT38ZClvKlZ993Me/Hw8g88Aw== + dependencies: + "@types/hast" "^3.0.0" + hast-util-to-dom "^4.0.0" + unified "^11.0.0" + +rehype-minify-whitespace@^6.0.0: + version "6.0.2" + resolved "https://registry.npmjs.org/rehype-minify-whitespace/-/rehype-minify-whitespace-6.0.2.tgz" + integrity sha512-Zk0pyQ06A3Lyxhe9vGtOtzz3Z0+qZ5+7icZ/PL/2x1SHPbKao5oB/g/rlc6BCTajqBb33JcOe71Ye1oFsuYbnw== + dependencies: + "@types/hast" "^3.0.0" + hast-util-minify-whitespace "^1.0.0" + +rehype-remark@10.0.1: + version "10.0.1" + resolved "https://registry.npmjs.org/rehype-remark/-/rehype-remark-10.0.1.tgz" + integrity sha512-EmDndlb5NVwXGfUa4c9GPK+lXeItTilLhE6ADSaQuHr4JUlKw9MidzGzx4HpqZrNCt6vnHmEifXQiiA+CEnjYQ== + dependencies: + "@types/hast" "^3.0.0" + "@types/mdast" "^4.0.0" + hast-util-to-mdast "^10.0.0" + unified "^11.0.0" + vfile "^6.0.0" + +remark-breaks@4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/remark-breaks/-/remark-breaks-4.0.0.tgz" + integrity sha512-IjEjJOkH4FuJvHZVIW0QCDWxcG96kCq7An/KVH2NfJe6rKZU2AsHeB3OEjPNRxi4QC34Xdx7I2KGYn6IpT7gxQ== + dependencies: + "@types/mdast" "^4.0.0" + mdast-util-newline-to-break "^2.0.0" + unified "^11.0.0" + +remark-gfm@4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz" + integrity sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg== + dependencies: + "@types/mdast" "^4.0.0" + mdast-util-gfm "^3.0.0" + micromark-extension-gfm "^3.0.0" + remark-parse "^11.0.0" + remark-stringify "^11.0.0" + unified "^11.0.0" + +remark-parse@^11.0.0, remark-parse@11.0.0: + version "11.0.0" + resolved "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz" + integrity sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA== + dependencies: + "@types/mdast" "^4.0.0" + mdast-util-from-markdown "^2.0.0" + micromark-util-types "^2.0.0" + unified "^11.0.0" + +remark-rehype@11.1.2: + version "11.1.2" + resolved "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz" + integrity sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw== + dependencies: + "@types/hast" "^3.0.0" + "@types/mdast" "^4.0.0" + mdast-util-to-hast "^13.0.0" + unified "^11.0.0" + vfile "^6.0.0" + +remark-stringify@^11.0.0, remark-stringify@11.0.0: + version "11.0.0" + resolved "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz" + integrity sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw== + dependencies: + "@types/mdast" "^4.0.0" + mdast-util-to-markdown "^2.0.0" + unified "^11.0.0" + renderkid@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz" @@ -5031,7 +6540,7 @@ require-from-string@^2.0.2: resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== -reselect@5.1.1, reselect@^5.1.0: +reselect@^5.1.0, reselect@5.1.1: version "5.1.1" resolved "https://registry.npmjs.org/reselect/-/reselect-5.1.1.tgz" integrity sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w== @@ -5074,7 +6583,7 @@ resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.11: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -rollup@^4.20.0: +rollup@^4.20.0, rollup@^4.43.0: version "4.62.2" resolved "https://registry.npmjs.org/rollup/-/rollup-4.62.2.tgz" integrity sha512-RFnrW4lhXA3s3eqHDZvN654g8OTjzRfqpIRJYczCGB6HzphckVAi/Qh4tbPUbRuDi7s1Llv8g/NspLkttY3gTA== @@ -5108,6 +6617,16 @@ rollup@^4.20.0: "@rollup/rollup-win32-x64-msvc" "4.62.2" fsevents "~2.3.2" +rrweb-cssom@^0.8.0: + version "0.8.0" + resolved "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz" + integrity sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw== + +"safer-buffer@>= 2.1.2 < 3.0.0": + version "2.1.2" + resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + sax@^1.5.0: version "1.6.0" resolved "https://registry.npmjs.org/sax/-/sax-1.6.0.tgz" @@ -5140,7 +6659,22 @@ semver@^6.3.1: resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.2, semver@^7.3.4, semver@^7.6.2, semver@^7.6.3: +semver@^7.3.2: + version "7.8.3" + resolved "https://registry.npmjs.org/semver/-/semver-7.8.3.tgz" + integrity sha512-wnilbGyMxzbY7dNOl7jpKbLSjcfeweJWU5j4+u5qW+6/wuGD9KzIGOyZnQVSBM9E7DtWaaH3CyHkppYrKYoxwg== + +semver@^7.3.4: + version "7.8.3" + resolved "https://registry.npmjs.org/semver/-/semver-7.8.3.tgz" + integrity sha512-wnilbGyMxzbY7dNOl7jpKbLSjcfeweJWU5j4+u5qW+6/wuGD9KzIGOyZnQVSBM9E7DtWaaH3CyHkppYrKYoxwg== + +semver@^7.6.2: + version "7.8.3" + resolved "https://registry.npmjs.org/semver/-/semver-7.8.3.tgz" + integrity sha512-wnilbGyMxzbY7dNOl7jpKbLSjcfeweJWU5j4+u5qW+6/wuGD9KzIGOyZnQVSBM9E7DtWaaH3CyHkppYrKYoxwg== + +semver@^7.6.3: version "7.8.3" resolved "https://registry.npmjs.org/semver/-/semver-7.8.3.tgz" integrity sha512-wnilbGyMxzbY7dNOl7jpKbLSjcfeweJWU5j4+u5qW+6/wuGD9KzIGOyZnQVSBM9E7DtWaaH3CyHkppYrKYoxwg== @@ -5202,21 +6736,36 @@ source-map-support@~0.5.20: buffer-from "^1.0.0" source-map "^0.6.0" -source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1: - version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - source-map@^0.5.7: version "0.5.7" resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== +source-map@^0.6.0: + version "0.6.1" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@^0.6.1: + version "0.6.1" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + source-map@^0.7.4: version "0.7.6" resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz" integrity sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ== +source-map@0.6.1: + version "0.6.1" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +space-separated-tokens@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz" + integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q== + stackback@0.0.2: version "0.0.2" resolved "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz" @@ -5232,6 +6781,11 @@ std-env@^3.8.0: resolved "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz" integrity sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg== +std-env@^4.0.0-rc.1: + version "4.1.0" + resolved "https://registry.npmjs.org/std-env/-/std-env-4.1.0.tgz" + integrity sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ== + string-width@^4.2.3: version "4.2.3" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" @@ -5241,6 +6795,14 @@ string-width@^4.2.3: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" +stringify-entities@^4.0.0: + version "4.0.4" + resolved "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz" + integrity sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg== + dependencies: + character-entities-html4 "^2.0.0" + character-entities-legacy "^3.0.0" + strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" @@ -5310,7 +6872,7 @@ symbol-tree@^3.2.4: resolved "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== -tailwindcss@4.3.0, tailwindcss@^4.0.0: +tailwindcss@^4.0.0, tailwindcss@4.3.0: version "4.3.0" resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.3.0.tgz" integrity sha512-y6nxMGB1nMW9R6k96e5gdIFzcfL/gTJRNaqGes1YvkLnPVXzWgbqFF2yLC0T8G774n24cx3Pe8XrKoniCOAH+Q== @@ -5330,7 +6892,7 @@ terser-webpack-plugin@^5.3.0, terser-webpack-plugin@^5.5.0: schema-utils "^4.3.0" terser "^5.31.1" -terser@^5.31.1: +terser@^5.16.0, terser@^5.31.1, terser@^5.4.0: version "5.48.0" resolved "https://registry.npmjs.org/terser/-/terser-5.48.0.tgz" integrity sha512-J/9An6vs9Us6wKRriSFXBWdRZapREHqFzdNUKk0pmu804EMR6dr6winwo7e5JDxN4xahxQsuysyYFwlwj4XN/Q== @@ -5355,6 +6917,19 @@ tinyexec@^0.3.1: resolved "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz" integrity sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA== +tinyexec@^1.0.2: + version "1.2.4" + resolved "https://registry.npmjs.org/tinyexec/-/tinyexec-1.2.4.tgz" + integrity sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg== + +tinyglobby@^0.2.15: + version "0.2.17" + resolved "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz" + integrity sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g== + dependencies: + fdir "^6.5.0" + picomatch "^4.0.4" + tinypool@^1.0.1: version "1.1.1" resolved "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz" @@ -5365,16 +6940,33 @@ tinyrainbow@^1.2.0: resolved "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-1.2.0.tgz" integrity sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ== +tinyrainbow@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.0.tgz" + integrity sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw== + tinyspy@^3.0.2: version "3.0.2" resolved "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz" integrity sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q== +tldts-core@^6.1.86: + version "6.1.86" + resolved "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.86.tgz" + integrity sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA== + tldts-core@^7.4.5: version "7.4.5" resolved "https://registry.npmjs.org/tldts-core/-/tldts-core-7.4.5.tgz" integrity sha512-pGrwzZDvPwKe+7NNUqAunb6rqTfynr0VOUhCMdqbu5xlvNiszsAJygRzwvpVycdzejlbpY+SWJOn+s75Og7FEA== +tldts@^6.1.32: + version "6.1.86" + resolved "https://registry.npmjs.org/tldts/-/tldts-6.1.86.tgz" + integrity sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ== + dependencies: + tldts-core "^6.1.86" + tldts@^7.0.5: version "7.4.5" resolved "https://registry.npmjs.org/tldts/-/tldts-7.4.5.tgz" @@ -5394,6 +6986,13 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" +tough-cookie@^5.1.1: + version "5.1.2" + resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz" + integrity sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A== + dependencies: + tldts "^6.1.32" + tough-cookie@^6.0.1: version "6.0.1" resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.1.tgz" @@ -5401,6 +7000,13 @@ tough-cookie@^6.0.1: dependencies: tldts "^7.0.5" +tr46@^5.1.0: + version "5.1.1" + resolved "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz" + integrity sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw== + dependencies: + punycode "^2.3.1" + tr46@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/tr46/-/tr46-6.0.0.tgz" @@ -5408,7 +7014,22 @@ tr46@^6.0.0: dependencies: punycode "^2.3.1" -ts-loader@^9.6.0: +trim-lines@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz" + integrity sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg== + +trim-trailing-lines@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-2.1.0.tgz" + integrity sha512-5UR5Biq4VlVOtzqkm2AZlgvSlDJtME46uV0br0gENbwN4l5+mMKT4b9gJKqWtuL2zAIqajGJGuvbCbcAJUZqBg== + +trough@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz" + integrity sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw== + +ts-loader@^9.0.0, ts-loader@^9.6.0: version "9.6.0" resolved "https://registry.npmjs.org/ts-loader/-/ts-loader-9.6.0.tgz" integrity sha512-dsJO0S+T7grTDWTc4a0nTygXGjKncVUpx8Y+af8EvI/D5WgTJby5UEk5eoMCB9EcLQmnvitqh99MqtjtHgAwFQ== @@ -5424,7 +7045,7 @@ tsconfck@^3.0.3: resolved "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz" integrity sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w== -tslib@^2.4.0, tslib@^2.8.1: +tslib@^2.8.1: version "2.8.1" resolved "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz" integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== @@ -5441,7 +7062,7 @@ turndown@7.2.0: dependencies: "@mixmark-io/domino" "^2.2.0" -typescript@^5.0.0: +typescript@*, typescript@^5.0.0, typescript@^5.8.3, typescript@>=4.9.5: version "5.9.3" resolved "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz" integrity sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw== @@ -5479,6 +7100,65 @@ unicode-property-aliases-ecmascript@^2.0.0: resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz" integrity sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ== +unified@^11.0.0, unified@11.0.5: + version "11.0.5" + resolved "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz" + integrity sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA== + dependencies: + "@types/unist" "^3.0.0" + bail "^2.0.0" + devlop "^1.0.0" + extend "^3.0.0" + is-plain-obj "^4.0.0" + trough "^2.0.0" + vfile "^6.0.0" + +unist-util-find-after@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz" + integrity sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ== + dependencies: + "@types/unist" "^3.0.0" + unist-util-is "^6.0.0" + +unist-util-is@^6.0.0: + version "6.0.1" + resolved "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz" + integrity sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g== + dependencies: + "@types/unist" "^3.0.0" + +unist-util-position@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz" + integrity sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA== + dependencies: + "@types/unist" "^3.0.0" + +unist-util-stringify-position@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz" + integrity sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ== + dependencies: + "@types/unist" "^3.0.0" + +unist-util-visit-parents@^6.0.0: + version "6.0.2" + resolved "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz" + integrity sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ== + dependencies: + "@types/unist" "^3.0.0" + unist-util-is "^6.0.0" + +unist-util-visit@^5.0.0, unist-util-visit@5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz" + integrity sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg== + dependencies: + "@types/unist" "^3.0.0" + unist-util-is "^6.0.0" + unist-util-visit-parents "^6.0.0" + update-browserslist-db@^1.2.3: version "1.2.3" resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz" @@ -5492,7 +7172,7 @@ use-isomorphic-layout-effect@^1.2.0: resolved "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.2.1.tgz" integrity sha512-tpZZ+EX0gaghDAiFR37hj5MgY6ZN55kLiPkJsKxBMZ6GZdOSPJXiOzPM984oPYZ5AnehYx5WQp1+ME8I/P/pRA== -use-sync-external-store@^1.2.2, use-sync-external-store@^1.4.0: +use-sync-external-store@^1.2.2, use-sync-external-store@^1.4.0, use-sync-external-store@>=1.2.0: version "1.6.0" resolved "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz" integrity sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w== @@ -5512,6 +7192,22 @@ vanilla-colorful@0.7.2: resolved "https://registry.npmjs.org/vanilla-colorful/-/vanilla-colorful-0.7.2.tgz" integrity sha512-z2YZusTFC6KnLERx1cgoIRX2CjPRP0W75N+3CC6gbvdX5Ch47rZkEMGO2Xnf+IEmi3RiFLxS18gayMA27iU7Kg== +vfile-message@^4.0.0: + version "4.0.3" + resolved "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz" + integrity sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw== + dependencies: + "@types/unist" "^3.0.0" + unist-util-stringify-position "^4.0.0" + +vfile@^6.0.0: + version "6.0.3" + resolved "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz" + integrity sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q== + dependencies: + "@types/unist" "^3.0.0" + vfile-message "^4.0.0" + victory-vendor@^37.0.2: version "37.3.6" resolved "https://registry.npmjs.org/victory-vendor/-/victory-vendor-37.3.6.tgz" @@ -5552,6 +7248,20 @@ vite-tsconfig-paths@^6.1.1: globrex "^0.1.2" tsconfck "^3.0.3" +vite@*, "vite@^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", "vite@^6.0.0 || ^7.0.0 || ^8.0.0": + version "7.3.6" + resolved "https://registry.npmjs.org/vite/-/vite-7.3.6.tgz" + integrity sha512-4XP60spRGjSZFf1qYH+dJIkK2znL3zQfl9KkOV9MkkRR/3Dls0dxaBsQPTloEc5BLXWPL9vsOxopxyKoMmDueg== + dependencies: + esbuild "^0.27.0 || ^0.28.0" + fdir "^6.5.0" + picomatch "^4.0.3" + postcss "^8.5.6" + rollup "^4.43.0" + tinyglobby "^0.2.15" + optionalDependencies: + fsevents "~2.3.3" + vite@^5.0.0: version "5.4.21" resolved "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz" @@ -5589,6 +7299,32 @@ vitest@^2: vite-node "2.1.9" why-is-node-running "^2.3.0" +vitest@^4.1.0: + version "4.1.9" + resolved "https://registry.npmjs.org/vitest/-/vitest-4.1.9.tgz" + integrity sha512-nE3/LEyc0z87uHYLZebqCUOaJr2hdtuPp7BQ4BosVFnfltxgAvMG08NyrSGlPpOUWvR27c5flSmYFTNr78L9GQ== + dependencies: + "@vitest/expect" "4.1.9" + "@vitest/mocker" "4.1.9" + "@vitest/pretty-format" "4.1.9" + "@vitest/runner" "4.1.9" + "@vitest/snapshot" "4.1.9" + "@vitest/spy" "4.1.9" + "@vitest/utils" "4.1.9" + 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 "^4.0.0-rc.1" + tinybench "^2.9.0" + tinyexec "^1.0.2" + tinyglobby "^0.2.15" + tinyrainbow "^3.1.0" + vite "^6.0.0 || ^7.0.0 || ^8.0.0" + why-is-node-running "^2.3.0" + w3c-xmlserializer@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz" @@ -5604,12 +7340,22 @@ watchpack@^2.5.1: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" +web-namespaces@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz" + integrity sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ== + +webidl-conversions@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz" + integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== + webidl-conversions@^8.0.1: version "8.0.1" resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-8.0.1.tgz" integrity sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ== -webpack-cli@^6.0.0: +webpack-cli@^6.0.0, webpack-cli@6.x.x: version "6.0.1" resolved "https://registry.npmjs.org/webpack-cli/-/webpack-cli-6.0.1.tgz" integrity sha512-MfwFQ6SfwinsUVi0rNJm7rHZ31GyTcpVE5pgVA3hwFRb7COD4TzjUUwhGWKfO50+xdc2MQPuEBBJoqIMGt3JDw== @@ -5658,7 +7404,7 @@ webpack-sources@^3.5.0: resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.5.0.tgz" integrity sha512-HPuy+uuoTCaaoEoI1LQ3JN9+vrPBvEesnnX1jADHy728cHSMlq4wUc4afYqahq2B1mhQVZxCXOkNTnXltr+2vQ== -webpack@^5.72: +"webpack@^4.0.0 || ^5.0.0", webpack@^5.0.0, webpack@^5.1.0, webpack@^5.27.0, webpack@^5.72, webpack@^5.75.0, webpack@^5.82.0, webpack@>=5.61.0: version "5.107.2" resolved "https://registry.npmjs.org/webpack/-/webpack-5.107.2.tgz" integrity sha512-v7RhXaJbpMlV0D7hC7lb2EbnxkoeUqf9qhKr6lozx3Q48pmFrqqNRmZFUEGmi7pSwm6fCQ2H1IjvCkHqdpVdjQ== @@ -5687,11 +7433,31 @@ webpack@^5.72: watchpack "^2.5.1" webpack-sources "^3.5.0" +whatwg-encoding@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz" + integrity sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ== + dependencies: + iconv-lite "0.6.3" + +whatwg-mimetype@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz" + integrity sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg== + whatwg-mimetype@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-5.0.0.tgz" integrity sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw== +whatwg-url@^14.0.0, whatwg-url@^14.1.1: + version "14.2.0" + resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz" + integrity sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw== + dependencies: + tr46 "^5.1.0" + webidl-conversions "^7.0.0" + whatwg-url@^16.0.0, whatwg-url@^16.0.1: version "16.0.1" resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-16.0.1.tgz" @@ -5721,6 +7487,11 @@ wildcard@^2.0.1: resolved "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz" integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== +ws@^8.18.0: + version "8.21.0" + resolved "https://registry.npmjs.org/ws/-/ws-8.21.0.tgz" + integrity sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g== + xml-name-validator@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz" @@ -5760,3 +7531,8 @@ zustand@^5.0.0: version "5.0.14" resolved "https://registry.npmjs.org/zustand/-/zustand-5.0.14.tgz" integrity sha512-/8tAspM5LMPr28b3fwLYrtdj77ECpfZviaP75CMTnwO8ISyaE4GDIG/9rDDYq/cH9D2Xw2A2RXglLInmVBQB/g== + +zwitch@^2.0.0, zwitch@^2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz" + integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==